Amiga Zorro III

Last updated

Released as the expansion bus of the Commodore Amiga 3000 in 1990, the Zorro III computer bus was used to attach peripheral devices to an Amiga motherboard. Designed by Commodore International lead engineer Dave Haynie, the 32-bit Zorro III replaced the 16-bit Zorro II bus used in the Amiga 2000. As with the Zorro II bus, Zorro III allowed for true Plug and Play autodetection (similar to, and prior to, the PC's PCI bus) wherein devices were dynamically allocated the resources they needed on boot.

Contents

Zorro III continued Zorro II's direct memory-mapped address design (unlike 80x86 processors, the MC68K family used in the Amiga did not have a separate I/O address mechanism). Just as with Zorro II on 24-bit systems, Zorro III reserved a large chunk of 32-bit real memory address space for large memory mapped cards, a smaller chunk with smaller allocation granularity for "I/O" type board. Zorro III was never supported on 24-bit address or 16-bit data devices—it required a full 32-bit CPU. The CPU could directly address any Zorro III device as memory, so Zorro memory expansions could be made (and were made) as well as it being possible to use video memory on a video card to be as system RAM.

As an asynchronous bus, Zorro III specified bus cycles of set lengths during which a transaction conforming to the specifications of the bus could be carried out. The initial implementation of Zorro III was in Commodore's "Fat" Buster (BUS conTrollER) gate array, assisted by a very high speed PAL and numerous TTL buffer chips for bus buffering, isolation, and multiplexing. The Amiga 4000 implementation was fundamentally the same, but integrated a second gate-array to replace the TTL buffers. The Buster chip provided bus arbitration, translation between the MC68030 bus protocols and either Zorro II or Zorro III bus cycles (geographically mapped based on the Zorro bus address), and a vectored interrupt mechanism, generally not used. Zorro II bus masters were legal bus hogs, but Zorro III devices were fairly arbitrated and had controller-limited bus tenure.

Despite being a 32-bit bus, Zorro III used the same 100 way slot and edge connector as Zorro II. The extra address and data lines were provided by multiplexing some of the existing connections with the nature of the lines changing at different stages of the bus access cycle (e.g. address becoming data). However, the bus was not fully multiplexed; the lower 8-bits of address were available during data cycles, which allowed Zorro III to support a fast burst cycle in page-mode. Properly designed Zorro II expansion cards could coexist with Zorro III cards; it was not a requirement of a Zorro III bus master to support DMA access to Zorro II bus targets. Cards could detect a Zorro III vs. Zorro II backplane, allowing certain Zorro III cards to function when connected to the older Zorro II bus, though at Zorro II's reduced data rates.

The Zorro III bus has a theoretical bandwidth of 150 MByte/s, based on an ideal Zorro III master and slave device running with minimum setup and hold times. [1] [2] [3] The real transfer speed between the Amiga 3000/4000 implementation of Zorro III and a Zorro III card is somewhere around 13.5 MByte/s due to the limitations of the Buster chip. [4] This was comparable to Intel's first PCI implementation, which peaked at 25 MByte/s. Zorro III was optimized for future single-chip implementations of the protocol, but the resources available at Commodore in 1990 limited the initial implementation.

This is also the limiting factor with 3rd party Amiga PCI expansion boards like e.g. Elbox Mediator PCI or the Matay Prometheus PCI (about 12 MByte/s PCI to 68k-system). DMA transfers between two Zorro III cards (or PCI cards on an PCI expansion board) can be much faster. [5]

Memory map

AddressSize [MByte]Description
0x0000 00002.0 Chip memory
0x0020 00008.0Zorro II memory expansion space
0x00A0 00001.5Zorro II I/O expansion space
0x00B8 00003.0 A2000 motherboard register space
0x00E8 00000.5 Zorro II I/O
0x00F0 00001.0Motherboard ROM
0x0100 0000112.0 A3000 motherboard space
0x0800 0000128.032-Bit memory expansion space
0x1000 00001792.0Zorro III expansion space [6]
0x8000 00002032.0Reserved
0xFF00 000064 KBZorro III Configuration unit
0xFF01 000016.0Reserved [7]
0xFFFF FFFF

Physical

The physical connector is a standard 2,54 mm spaced (100 mil) card edge connector with 2 × 50 rows of pins. [8]

Power:

[Volt][Ampere]
+52.0
−5< 0.3
+12< 8.0
−12< 0.3

[6]

See also

Related Research Articles

<span class="mw-page-title-main">Amiga</span> Family of personal computers sold by Commodore

Amiga is a family of personal computers introduced by Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 16/32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and significantly improved graphics and audio compared to previous 8-bit systems. These systems include the Atari ST—released earlier the same year—as well as the Macintosh and Acorn Archimedes. Based on the Motorola 68000 microprocessor, the Amiga differs from its contemporaries through the inclusion of custom hardware to accelerate graphics and sound, including sprites and a blitter, and a pre-emptive multitasking operating system called AmigaOS.

<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">Industry Standard Architecture</span> Internal expansion bus in early PC compatibles

Industry Standard Architecture (ISA) is the 16-bit internal bus of IBM PC/AT and similar computers based on the Intel 80286 and its immediate successors during the 1980s. The bus was (largely) backward compatible with the 8-bit bus of the 8088-based IBM PC, including the IBM PC/XT as well as IBM PC compatibles.

<span class="mw-page-title-main">Peripheral Component Interconnect</span> Local computer bus for attaching hardware devices

Peripheral Component Interconnect (PCI) is a local computer bus for attaching hardware devices in a computer and is part of the PCI Local Bus standard. The PCI bus supports the functions found on a processor bus but in a standardized format that is independent of any given processor's native bus. Devices connected to the PCI bus appear to a bus master to be connected directly to its own bus and are assigned addresses in the processor's address space. It is a parallel bus, synchronous to a single bus clock. Attached devices can take either the form of an integrated circuit fitted onto the motherboard or an expansion card that fits into a slot. The PCI Local Bus was first implemented in IBM PC compatibles, where it displaced the combination of several slow Industry Standard Architecture (ISA) slots and one fast VESA Local Bus (VLB) slot as the bus configuration. It has subsequently been adopted for other computer types. Typical PCI cards used in PCs include: network cards, sound cards, modems, extra ports such as Universal Serial Bus (USB) or serial, TV tuner cards and hard disk drive host adapters. PCI video cards replaced ISA and VLB cards until rising bandwidth needs outgrew the abilities of PCI. The preferred interface for video cards then became Accelerated Graphics Port (AGP), a superset of PCI, before giving way to PCI Express.

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

The Amiga 600, also known as the A600, is a home computer introduced in March 1992. It is the final Amiga model based on the Motorola 68000 and the 1990 Amiga Enhanced Chip Set. A redesign of the Amiga 500 Plus, it adds the option of an internal hard disk drive and a PCMCIA port. Lacking a numeric keypad, the A600 is only slightly larger than an IBM PC keyboard, weighing approximately 6 pounds. It shipped with AmigaOS 2.0, which was considered more user-friendly than earlier versions of the operating system.

<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">Amiga 3000</span> Personal computer by Commodore

The Amiga 3000, or A3000, is a personal computer released by Commodore in June 1990. It is the successor to the Amiga 2000 and its upgraded model Amiga 2500 with more processing speed, improved graphics, and a new revision of the operating system.

<span class="mw-page-title-main">Amiga 2000</span> Personal computer from Commodore, 1987

The Amiga 2000, or A2000, is a personal computer released by Commodore in March 1987. It was introduced as a "big box" expandable variant of the Amiga 1000 but quickly redesigned to share most of its electronic components with the contemporary Amiga 500 for cost reduction. Expansion capabilities include two 3.5" drive bays and one 5.25" bay that could be used by a 5.25" floppy drive, a hard drive, or CD-ROM once they became available.

Chip RAM is a commonly used term for the integrated RAM used in Commodore's line of Amiga computers. Chip RAM is shared between the central processing unit (CPU) and the Amiga's dedicated chipset. It was also, rather misleadingly, known as "graphics RAM".

In computing, a plug and play (PnP) device or computer bus is one with a specification that facilitates the recognition of a hardware component in a system without the need for physical device configuration or user intervention in resolving resource conflicts. The term "plug and play" has since been expanded to a wide variety of applications to which the same lack of user setup applies.

<span class="mw-page-title-main">Amiga 4000</span> 1992 personal computer

The Amiga 4000, or A4000, from Commodore is the successor of the Amiga 2000 and Amiga 3000 computers. There are two models: the A4000/040 released in October 1992 with a Motorola 68040 CPU, and the A4000/030 released in April 1993 with a Motorola 68EC030.

Autoconfig is an auto-configuration protocol of Amiga computers which is intended to automatically assign resources to expansion devices without the need for jumper settings. It is analogous to PCI configuration through ACPI.

GIO is a computer bus standard developed by SGI and used in a variety of their products in the 1990s as their primary expansion system. GIO was similar in concept to competing standards such as NuBus or (later) PCI, but saw little use outside SGI and severely limited the devices available on their platform as a result. Most devices using GIO were SGI's own graphics cards, although a number of cards supporting high-speed data access such as Fibre Channel and FDDI were available from third parties. Later SGI machines use the XIO bus, which is laid out as a computer network as opposed to a bus.

<span class="mw-page-title-main">Amiga Zorro II</span>

Zorro II is the general purpose expansion bus used by the Amiga 2000 computer. The bus is mainly a buffered extension of the Motorola 68000 bus, with support for bus mastering DMA. The expansion slots use a 100-pin connector and the card form factor is the same as the IBM PC. Zorro II cards implement the Autoconfig protocol for automatic address space assignment.

The AAA chipset was intended to be the next-generation Amiga multimedia system designed by Commodore International. Initially begun as a secret project, the first design discussions were started in 1988, and after many revisions and redesigns the first silicon versions were fabricated in 1992–1993. The project was stymied in 1993 based on a lack of funds for chip revisions.

<span class="mw-page-title-main">Amiga 1200</span> 1992 personal computer

The Amiga 1200, or A1200, is a personal computer in the Amiga computer family released by Commodore International, aimed at the home computer market. It was launched on October 21, 1992, at a base price of £399 in the United Kingdom and $599 in the United States.

<span class="mw-page-title-main">AMD Lance Am7990</span>

AMD Lance Am7990 IEEE 802.3 Ethernet media access controller (MAC) controller were introduced in 1985. Its architecture is the basis for AMD's PCnet Family of highly integrated single-chip Ethernet controllers. The one exception is the Am79C940 MAC. The Am7990 chip was fabricated in NMOS technology and has no integrated Manchester encoder/decoder (ENDEC) nor does it have an integrated 10BASE-T transceiver.

The AA+ chipset was a planned Amiga-compatible chipset that Commodore International announced in 1992. There were two separate projects: the next generation Advanced Amiga Architecture chipset and the lower cost, more pragmatic AA+ chipset. The former was in development when Commodore declared bankruptcy; the latter existed only on paper. Both were cancelled when Commodore folded.

In addition to the Amiga chipsets, various specially designed chips have been used in Commodore Amiga computers that do not belong to the 'Amiga chipset' in a tight sense.

References

  1. Dave Haynie, designer of the Zorro III bus, claims in this posting that the theoretical max of the Zorro III bus can be derived by the timing information given in chapter 5 of the Zorro III technical specification Archived 2012-07-16 at the Wayback Machine .
  2. Dave Haynie, designer of the Zorro III bus, claims in this posting that Zorro III is an asynchronous bus and with that does not have a classical MHz rating. A maximum theoretical MHz value may be derived by examining timing constraints detailed in the Zorro III technical specification Archived 2012-07-16 at the Wayback Machine , which should yield about 37.5 MHz. No existing implementation performs to this level.
  3. Dave Haynie, designer of the Zorro III bus, claims in this posting that Zorro III has a max burst rate of 150 MB/s.
  4. "amiga.org post by Michael Boehmer on real-life Zorro III speed". Archived from the original on 2012-02-29. Retrieved 2013-03-19.
  5. czex.com - Prometheus FAQ
  6. 1 2 Haynie, Dave (20 March 1991). "The Zorro III Bus Specification" (PDF). Commodore-Amiga, Inc. Archived from the original (PDF) on 16 July 2012. Retrieved 4 January 2008. 090430 thule.no p16 fig1-1
  7. "The Amiga 3000+ System Specification An enhanced Amiga 3000 family computer Document Revision 0.6 1991 DevCon Release by Dave Haynie July 17, 1991 Copyright 1991 Commodore-Amiga, Inc" (PDF). Archived from the original (PDF) on July 16, 2012. Retrieved May 1, 2009. 090501 thule.no p14
  8. "Replacement zorro slots? - English Amiga Board". 090501 eab.abime.net