Zorro III
Encyclopedia
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.
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 conTrolER) 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 for 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. Of course, 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. The real transfer speed between the Amiga 3000/4000 implementation of Zorro III and a Zorro III card is less than 20 MByte/s due to the limitations of the Buster chip. 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.
Power:
Commodore International
Commodore is the commonly used name for Commodore Business Machines , the U.S.-based home computer manufacturer and electronics manufacturer headquartered in West Chester, Pennsylvania, which also housed Commodore's corporate parent company, Commodore International Limited...
Amiga 3000
Amiga 3000
The Commodore Amiga 3000, or A3000, was the third major release in the Amiga computer family. Released in June 1990, it features improved processing speed, improved rendering of graphics, and a new revision of the operating system...
in 1990, the Zorro III computer bus
Computer bus
In computer architecture, a bus is a subsystem that transfers data between components inside a computer, or between computers.Early computer buses were literally parallel electrical wires with multiple connections, but the term is now used for any physical arrangement that provides the same...
was used to attach peripheral devices to an Amiga motherboard
Motherboard
In personal computers, a motherboard is the central printed circuit board in many modern computers and holds many of the crucial components of the system, providing connectors for other peripherals. The motherboard is sometimes alternatively known as the mainboard, system board, or, on Apple...
. Designed by Commodore International lead engineer Dave Haynie
Dave Haynie
Dave Haynie is the former Commodore International chief engineer on high end and advanced projects. He is still quite vocal in the Amiga community.-Beginnings:...
, the 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
Zorro III replaced the 16-bit
16-bit
-16-bit architecture:The HP BPC, introduced in 1975, was the world's first 16-bit microprocessor. Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816. The Intel 8088 was program-compatible with the Intel 8086, and was 16-bit in that its registers were 16...
Zorro II
Zorro II
Zorro II is the name of 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...
bus used in the Amiga 2000
Amiga 2000
The Amiga 2000, or A2000, is a personal computer released by Commodore in 1986. It is the successor to the Amiga 1000.-Features:Aimed at the high-end market, the original Europe-only model adds a Zorro II backplane, implemented in programmable logic, to the custom Amiga chipset used in the Amiga 1000...
. As with the Zorro II bus, Zorro III allowed for true Plug and Play autodetection (similar to, and prior to, the PC's PCI
Peripheral Component Interconnect
Conventional PCI is a computer bus for attaching hardware devices in a computer...
bus) wherein devices were dynamically allocated the resources they needed on boot.
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 conTrolER) 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 for 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
Edge connector
An edge connector is the portion of a printed circuit board consisting of traces leading to the edge of the board that are intended to plug into a matching socket. The edge connector is a money-saving device because it only requires a single discrete female connector , and they also tend to be...
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. Of course, 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. The real transfer speed between the Amiga 3000/4000 implementation of Zorro III and a Zorro III card is less than 20 MByte/s due to the limitations of the Buster chip. 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.
Memory map
Address | Size [MByte] | Description |
---|---|---|
0x0000 0000 | 2.0 | Chip memory |
0x0020 0000 | 8.0 | Zorro II memory expansion space |
0x00A0 0000 | 1.5 | Zorro II I/O expansion space |
0x00B8 0000 | 3.0 | A2000 Amiga 2000 The Amiga 2000, or A2000, is a personal computer released by Commodore in 1986. It is the successor to the Amiga 1000.-Features:Aimed at the high-end market, the original Europe-only model adds a Zorro II backplane, implemented in programmable logic, to the custom Amiga chipset used in the Amiga 1000... motherboard register space |
0x00E8 0000 | 0.5 | Zorro II I/O |
0x00F0 0000 | 1.0 | Motherboard ROM |
0x0100 0000 | 112.0 | A3000 Amiga 3000 The Commodore Amiga 3000, or A3000, was the third major release in the Amiga computer family. Released in June 1990, it features improved processing speed, improved rendering of graphics, and a new revision of the operating system... motherboard space |
0x0800 0000 | 128.0 | 32-Bit memory expansion space |
0x1000 0000 | 1792.0 | Zorro III expansion space |
0x8000 0000 | 2032.0 | Reserved |
0xFF00 0000 | 64 KB | Zorro III Configuration unit |
0xFF01 0000 | 16.0 | Reserved |
0xFFFF FFFF |
Physical
The physical connector is a standard 2,54 mm spaced (100 mil) card edge connector with 2 × 50 rows of pins.Power:
[Volt] | [Ampere] |
---|---|
+5 | 2.0 |
-5 | < 0.3 |
+12 | < 8.0 |
-12 | < 0.3 |
External links
- The Zorro III Bus Specification (PDF), thule.no
- List of device bandwidths - Notes on Zorro III performance
- Amiga Hardware Database Descriptions and photos of Zorro III cards, amiga.resource.cx
- The Big Book of Amiga Hardware, amigahardware.mariomisic.de