Tube (BBC Micro)

De El Museo de los 8 Bits
Ir a la navegación Ir a la búsqueda
Archivo:Acorn Large320162ndprocA HR.jpg
Acorn Large 32016 2nd processor
Archivo:Acorn ADC08 80186CoProC.jpg
AMD 80186

En informática, el Tube fue una interfaz de expansión y arquitectura en el BBC Microcomputer System que permitió al BBC Micro comunicarse con un segundo procesador o coprocesador.

Bajo esta arquitectura el seguno microprocesador puede ejecutar código de usuario, mientras que el BBC Micro (actuando como un host) proporciona ciertas funciones de entrada/salida com ola gestión de pantalla o dispositivos de almacenamiento. Una unidad de coprocesador puede conectarse en frío en cualquier BBC Micro con una interfaz de disquete (la ROM de al interfaz contiene el necesario código de host) y utilizarse inmediatamente.

Implementación

En la tarjeta de coprocesador un chip propietario (la Tube ULA, inicialmente desarrollado por Ferranti) interconecta y aisla lógicamente, los buses de la tarjeta host (anfitrión) y el coprocesador. Esto permitió al Tube adaptar diferentes arquitecturas de bus en la tarjeta coprocesadora. Los únicos otros componentes activos necesarios son un microprocesador, memoria RAM, una pequeña ROM que contenga el código cliente específico para el procesador, un decodificador de direcciones y una fuente de alimentación.

Los dos microprocesadores se comunican mediante cuatro pares de buffers FIFO en la Tube ULA. Las entradas/salidas de Consola, mensajes de error, transferencias de datos y llamadas al sistema tenían cada una su propio par, un buffer para cada dirección. Para reducir la latencia, la capacidad de la cola varía entre 1 y 24 bytes, dependiendo de la memoria intermedia. Cada buffer tenía un registro de control y estado para supervisar su estado y configurar el nivel de las interrupciones.

El protocolo para el uso de esos buffers fue rigurosamente especificados por Acorn Computers[1] y equivale a la comunicación entre procesos mediante intercambio de mensajes. La mayoría de las comunicaciones de este tipo son asíncronas, pero las transferencias rápidas de bloques son síncronas y consisten en que el host corra un bucle de recogida de mensajes a ciegas, que define el ratio de transferencia. El coprocesador se sincroniza mediante el paso de un byte dummy y luego se regula por el correspondiene bufer del semáforo.

Aplicaciones

Se desarrollaron numerosas tarjetas coprocesadoras para el Tube; la más frecuente era un segundo procesador MOS Technology 6502 que permitía ejecutar más rápidamente y con más memoria programas sin modificar para el BBC Micro, siempre que se usara el API para todos los procesos de entrada/salida.[1] Le seguía la tarjeta con un Zilog Z80 para ejecutar CP/M y una con un procesador de 32 bits National Semiconductor 32016 ejecutando Panos (se anunció que en los Acorn Business Computer ejecutarían Xenix, pero nunca se realizó).

Estas tarjetas coprocesadoras forman la base de los Acorn Business Computer, máquinas de gama alta consistentes en un BBC Micro modificado con un coprocesador conectado mediante el Tube en una carcasa todo en uno. La gama BBC Master modificó el Tube, de modo que un coprocesador se instalara internamente en la carcasa y el otro lo hiciera en una caja externa, aunque los dos no podían actuar de modo simultáneo. Internamente se podía conectar una tarjeta con un segundo MOS 6502, o un Intel 80186 para proporcionar compatibilidad con DOS (aunque en la práctica era limitada).[2]

El Tube fue también utilizado durante el desarrollo inicial del procesador ARM, desarrollándose una tarjeta de evaluación que podía conectarse a un BBC Micro para que actuara como host para los procesos de entrada/salida.

Acorn desaconseja exaustivamente a los programadores de BBC Micro el acceso directo a la memoria del sistema y al hardware, favoreciendo las llamadas oficiales al API.[3] Esto se hacía con el fin de garantizar que las aplicaciones pueden moverse sin problemas a un segundo 6502 medaite el Tube, ya que el acceso directo desde ese procesador era imposible. Cuando un programa llama a uno de los puntos de entrada del MOS, una subrutina de reemplazo en la ROM del coprocesador pasa el correspondiente mensaje al host que lleva a cabo la operación y devuelve el resultado. De esta manera, una aplicación podría funcionar de forma idéntica en el host o el coprocesador. Las demás CPUs utilizan un API modificado, que es generalmente una traducción ortogonal de la API del 6502 al formato nativo del segundo micro.

Modelos de tarjetas coprocesadoras[4]

Acorn Large 32016 2nd processor

Acorn denomina Large a esta placa por su cantidad de memoria RAM, aunque su tamaño excede al de todas las demás, no pudiendo usarse con ninguna de las cajas externas. Se utiliza en la Acorn Cambridge Workstation (y en los prototipos de los Acorn Business Computer 210). Viene con una CPU National Semiconductor 32016 a 6 MHz con 4 Megabyte de memoria RAM y la Ferranti ULA Tube. Las ROMs arrancan el kernel PANDORA OS y lee el Panos de las unidades de disquete o del disco duro de la ACW. Se planeaba una versión de Xenix que al final no se desarrolló. Por el contrario Acorn crea un departmento de Acornsoft para desarrollar soft científico para esta placa y las ACW.

Acorn A500 second processor

Esta placa se utiliza internamente en Acorn durante el desarrollo de los Acorn Archimedes. Tiene zócalos para 1 o 4 Megabytes de memoria RAM, zócalos para las ROMs del sistema, zócalo para un procesador ARM 1 o 2, conector para teclado Archimedes (mismo conector que los A500) y salida RGB (conector DIN)

Acorn ADC06 6502 co-processor

Es una placa interna para los Master con un 65SC102 a 4 MHz y 64 Kilobytes de memoria RAM y versiones especiales del BBC BASIC (Hi-BASIC) y del procesador de textos Acornsoft View (Hi-View) para aprovechas la memoria extra. Computer Concepts produce también una versión de Wordwise (Hi-Wordwise) en disquete. Un BBC Master con esta placa interna fijada se denomina Master Turbo.

Acorn ADC08 Intel 80186 co-processor

Es una placa interna para los Master con un AMD 80186 a 10 MHz y 512 Kilobytes de memoria RAM. Viene con el sistema operativo Digital Research DOS+ y GEM

Acorn ANC01 6502 2nd processor

Viene con un GTE 65SC02P-1 a 3 MHz, 64 Kilobytes de memoria RAM y versiones especiales del BBC BASIC (Hi-BASIC) y del procesador de textos Acornsoft View (Hi-View) para aprovechas la memoria extra. Computer Concepts produce también una versión de Wordwise (Hi-Wordwise) en disquete.

Acorn ANC04 Z80 2nd processor

Viene con un Zilog Z80 B a 6 MHz, 64 Kilobytes de memoria RAM y el sistema operativo CP/M 2.2 junto con un generoso paquete de software :

Esta placa se utiliza en los prototipos de las Acorn Business Computer ABC 100 y ABC 110

Acorn ANC05 32016 2nd processor

Esta unidad externa equipa un National Semiconductor 32016 a 6 MHz con 1 Megabyte de memoria RAM (32 x 32K RAM) y la Ferranti ULA Tube. Las ROMs arrancan el kernel PANDORA OS y lee el Panos de las unidades de disquete.

Acorn ANC06 Cambridge Co-Processor

Esta unidad externa equipa un National Semiconductor 32016 a 6 MHz con 1 Megabyte de memoria RAM (32 x 32K RAM) y la Ferranti ULA Tube. Las ROMs arrancan el kernel PANDORA OS y lee el Panos de las unidades de disquete. Hay muy pocas diferencias con el Acorn ANC05 32016, por lo que es muy posible que se trate de una política del departament e marketing para hacer referencia a la Acorn Cambridge Workstation.

Acorn ANC21 Universal Second Processor Unit

Es una caja externa oficial de Acorn para poder usar placas internas de los Master como externas en equipos BBC Micro o BBC Master 128.

Permanent Memory Systems B2P-6502

El PMS B2P viene con un 6502 a 2 MHz y un coste sensiblemente inferior (200 libras en lugar de £399).

Sprow ARM7

La más moderna de las placas. Siguiendo la estela del kit de desarrollo del ARM, nos propone una placa que puede usarse tanto internamente (con los Master) o externamente. Viene con[5] :

Technomatic Multiform Z80

El Technomatical Multiform Z80 viene en una caja externa con un Zilog Z80A a 4 MHz, 64 Kilobytes de memoria RAM y el sistema operativo OSM, compatible CP/M. Soporta las controladoras de disco 8271 y 1770, discos de simple y doble densidad y múltiples formatos de disco CP/M.

Torch 68000

El Torch 68000 es una placa con un Motorola 68000 G8 a 8 MHz con 256 Kilobytes de memoria RAM y un Zilog Z80 B con la ROM CCCP 1.02. Un AMD AM2964 se encarga de manejar la memoria y un AMD AM2950 maneja el Tube. Laplaca no está diseñada para ser usada directamente con los BBC sino como parte de un equipo similar al Torch Graduate.

Torch Graduate

El Torch Graduate es una caja externa que convierte al BBC Micro en un compatible IBM PC. Viene con

Torch Z80 Communicator

El Torch Z80 Communicator viene con una CPU Zilog Z80A a 4 MHz con 64 Kilobytes de memoria RAM y 16 Kilobytes de ROM con el sistema operativo CPN (imprementación de Torch de CP/M en ROM). No cumple con las especificaciones del Tube por haberse lanzado antes de su publicación, utilizando un MOS Technology 6522 y un Intel i8255.

Watford Electronics Co Pro Adaptor

Se trata de una caja externa para poder utilizar las tarjetas internas creadas para los Master con los BBC Micro B y B+

Referencias

  1. 1,0 1,1 Acorn Application Note 004, "Tube Application Note"
  2. Watford Electronics,"Advanced Reference Manual for the BBC Master Series",1988
  3. Acorn Computers Ltd, BBC Microcomputer System User Guide, capítulos 43, 46.
  4. Lista de Placas en Chris's Acorns
  5. Especificaciones del Sprow ARM7