Lanzado como bus de expansión del Commodore Amiga 3000 en 1990, el bus de computadora Zorro III se usó para conectar dispositivos periféricos a una placa base Amiga . Diseñado por el ingeniero principal de Commodore International, Dave Haynie , el Zorro III de 32 bits reemplazó al bus Zorro II de 16 bits utilizado en el Amiga 2000 . Al igual que con el bus Zorro II, Zorro III permitió una verdadera detección automática Plug and Play (similar y anterior al bus PCI de la PC ) en la que a los dispositivos se les asignaban dinámicamente los recursos que necesitaban en el arranque.
Zorro III continuó el diseño de direcciones asignadas en memoria directa del Zorro II (a diferencia de los procesadores 80x86, la familia MC68K utilizada en Amiga no tenía un mecanismo de dirección de E/S separado). Al igual que con Zorro II en sistemas de 24 bits, Zorro III reservó una gran porción de espacio de direcciones de memoria real de 32 bits para tarjetas grandes de memoria asignada, una porción más pequeña con menor granularidad de asignación para placas de tipo "E/S". Zorro III nunca fue compatible con direcciones de 24 bits o dispositivos de datos de 16 bits; requería una CPU completa de 32 bits. La CPU podía direccionar directamente cualquier dispositivo Zorro III como memoria, por lo que se podían hacer (y se hicieron) expansiones de memoria del Zorro, además de ser posible usar la memoria de video en una tarjeta de video como RAM del sistema .
Como bus asíncrono, Zorro III especificaba ciclos de bus de longitudes determinadas durante las cuales se podía llevar a cabo una transacción conforme a las especificaciones del bus. La implementación inicial de Zorro III fue en la matriz de puertas "Fat" Buster (BUS conTrollER) de Commodore, asistida por un PAL de muy alta velocidad y numerosos chips de búfer TTL para almacenamiento en búfer, aislamiento y multiplexación del bus. La implementación de Amiga 4000 fue fundamentalmente la misma, pero integró una segunda matriz de puertas para reemplazar los buffers TTL. El chip Buster proporcionó arbitraje de bus, traducción entre los protocolos de bus MC68030 y los ciclos de bus Zorro II o Zorro III (mapeados geográficamente según la dirección del bus Zorro) y un mecanismo de interrupción vectorial, generalmente no utilizado. Los maestros de autobuses Zorro II eran acaparadores de autobuses legales, pero los dispositivos Zorro III estaban bastante arbitrados y tenían una permanencia de autobús limitada por el controlador.
A pesar de ser un bus de 32 bits, Zorro III usó la misma ranura de 100 vías y conector de borde que Zorro II. Las líneas adicionales de dirección y datos se proporcionaron multiplexando algunas de las conexiones existentes y la naturaleza de las líneas cambiaba en diferentes etapas del ciclo de acceso al autobús (por ejemplo, la dirección se convierte en datos). Sin embargo, el autobús no estaba completamente multiplexado; los 8 bits inferiores de dirección estaban disponibles durante los ciclos de datos, lo que permitió al Zorro III soportar un ciclo de ráfaga rápido en modo página. Las tarjetas de expansión Zorro II correctamente diseñadas podrían coexistir con las tarjetas Zorro III; No era un requisito que un maestro de bus Zorro III admitiera el acceso DMA a los objetivos del bus Zorro II. Las tarjetas podían detectar un backplane Zorro III frente a Zorro II, lo que permitía que ciertas tarjetas Zorro III funcionaran cuando se conectaban al bus Zorro II más antiguo, aunque con las velocidades de datos reducidas del Zorro II.
El bus Zorro III tiene un ancho de banda teórico de 150 MByte/s, basado en un dispositivo maestro y esclavo Zorro III ideal que funciona con tiempos mínimos de configuración y espera. [1] [2] [3] La velocidad de transferencia real entre la implementación Amiga 3000/4000 de Zorro III y una tarjeta Zorro III es de alrededor de 13,5 MByte/s debido a las limitaciones del chip Buster. [4] Esto fue comparable a la primera implementación PCI de Intel, que alcanzó un máximo de 25 MByte/s. Zorro III fue optimizado para futuras implementaciones del protocolo en un solo chip, pero los recursos disponibles en Commodore en 1990 limitaron la implementación inicial.
Este es también el factor limitante con las placas de expansión Amiga PCI de terceros como, por ejemplo, Elbox Mediator PCI o Matay Prometheus PCI (aproximadamente 12 MByte/s PCI para un sistema de 68k). Las transferencias DMA entre dos tarjetas Zorro III (o tarjetas PCI en una placa de expansión PCI) pueden ser mucho más rápidas. [5]
El conector físico es un conector de borde de tarjeta estándar con una separación de 2,54 mm (100 mil) y 2 × 50 filas de pines. [8]
Fuerza:
[6]