Rabbit 2000

Revisión del 12:09 29 oct 2011 de Carlena09049 jc.vcl (discusión | contribuciones) (Página creada con '{{Definición |nombre= Rabbit 2000 |imagen= rabbit.jpg |tamaño= |concepto= }} ''Rabbit 2000'' es el primer miembro de la familia Rabbit, basado en la arquitectura del [[Z-80]...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Rabbit 2000
Información sobre la plantilla
Rabbit.jpg

Rabbit 2000 es el primer miembro de la familia Rabbit, basado en la arquitectura del Z-80/180 de Zilog.

Introducción

Rabbit Semiconductor se forma expresamente para diseñar un microprocesador orientado a control de pequeña y mediana escala; su primer producto es el microprocesador Rabbit 2000. Los diseñadores de este microprocesador son desarrolladores con muchos años de experiencia en Z80, Z180 y HD64180, por ello el Rabbit posee una arquitectura similar, tiene un alto grado de compatibilidad con estos procesadores, y los supera en muchas otras áreas. El diseño de Rabbit fue realizado con cooperación de Z-World, experimentado fabricante de placas de control de bajo costo, basadas en Z80/180, y soportadas por un innovador sistema de desarrollo y programación en C (Dynamic C). El Rabbit es fácil de usar; las interfaces de hardware y software son simples, y su potencia de cálculo es impresionante para un microprocesador con un bus de 8 bits. Esto es así porque su set de instrucciones (derivado del de Z-80) es muy compacto y el diseño de la interfaz de memoria permite máxima utilización del ancho de banda.

Características

  • Encapsulado de 100 pines, PQFP. Operación a 3V o 5V, reloj de hasta 30MHz. Rango de temperatura comercial e industrial.
  • Direccionamiento de memoria de 1 Megabyte, capacidad de más de 50.000 líneas de código. El set de instrucciones extendido (basado en el Z-80) es C-compatible, con instrucciones cortas y rápidas para las operaciones más comunes en C.
  • Cuatro niveles de prioridad de interrupciones; el tiempo máximo de latencia es de cerca de 1us a un reloj de 25MHz.
  • El acceso a Entrada/Salida (I/O) se realiza mediante instrucciones de acceso a memoria con un prefijo, con lo cual es más fácil que en otros microprocesadores con set de instrucciones reducido.
  • Las reglas de diseño de hardware son simples. Pueden conectarse hasta 6 chips de memoria estática (RAM, flash EPROM) directamente sin glue-logic. El Rabbit funciona sin ciclos de espera (wait-states) con una memoria de 70ns de tiempo de acceso, a un reloj de 24MHz. Los periféricos generalmente se conectan también sin glue-logic, ya que existen pines que pueden configurarse como chip selects, read strobes o write strobes.
  • Puede bootear del puerto serie o del puerto parlelo. Esto significa que la memoria de programa (flash) puede soldarse sin programar, y ser grabada luego, sin que sea necesario escribir un programa o BIOS. Un Rabbit que funcione como esclavo de otro procesador puede operar con RAM solamente, dependiendo del master para obtener su programa.
  • Posee 40 entradas y salidas paralelo (compartidas con los puertos series). Algunas de las salidas pueden ser sincronizadas con los temporizadores, lo que permite generar pulsos de precisión.
  • Posee cuatro puertos series. Los cuatro pueden operar asincrónicamente, dos pueden operar además en modo sincrónico. Las velocidades llegan a 1/32 de la frecuencia de reloj para modo asincrónico y 1/6 para modo sincrónico (1/4 si la fuente de reloj es interna). En el modo asincrónico, Rabbit soporta, como el Z180, el envío de caracteres especiales de 9 bits para indicar el inicio de un nuevo mensaje.
  • Reloj de tiempo real con pila de respaldo, funcionando con un cristal externo de 32,768KHz. Puede utilizarse para generar una interrupción periódica cada 488us. El consumo típico de la batería es de 25uA con el circuito estándar. Existe una opción circuital adicional para reducir este valor.
  • Numerosos temporizadores y contadores (6 en total) que pueden ser usados para generar interrupciones, velocidad de puertos series y pulsos.
  • El oscilador principal de reloj utiliza un cristal o resonador externo. Las frecuencias típicas cubren un rango de 1,8 a 29,5 MHz. En casos en que la precisión necesaria pueda obtenerse del oscilador de 32,768KHz, es posible utilizar un resonador cerámico de tipo económico con resultados satisfactorios.
  • Las prestaciones en aritmética de punto flotante son excelentes, debido a la poderosa capacidad de procesamiento de Rabbit y la biblioteca de funciones diseñada específicamente de Dynamic C.
  • Posee un Watchdog Timer
  • El puerto de programación estándar de 10 pines elimina la necesidad de emuladores en circuito. Un conector de 10 pines y una simple conexión al puerto serie de una computadora es todo lo que se necesita para instalar el código y depurar en circuito

Mejoras

CPU

El Rabbit ejecuta instrucciones en menos reloj que el Z80 o el Z180. Estos requieren un mínimo de cuatro reloj para opcodes de 1 byte y tres ciclos extra por cada byte adicional en los opcodes de tipo multibyte. Rabbit requiere sólo dos reloj por cada byte de opcode y cada byte de acceso a memoria. Las operaciones de escritura demandan tres reloj, y se requiere un reloj adicional si debe computarse una dirección de memoria o se utiliza alguno de los registros índice para direccionar. Sólo unas pocas instrucciones no siguen esta regla, como MUL, que es un opcode de 1 byte y requiere doce ciclos de clock. Comparado con el Z180, el Rabbit no sólo requiere menos reloj sino que en situaciones típicas soporta reloj de mayor frecuencia y sus instrucciones son más poderosas.

Registros

Los registros de la CPU Rabbit son casi idénticos a los de Z80 ó Z180. Debido a la existencia de una unidad de manejo de memoria y una nueva estructura de interrupciones, como veremos más adelante, encontramos algunos registros con funciones nuevas como XPC, IP, IIR y EIR.

Mejoras sobre el Z180

Las mejoras más importantes por sobre el Z180 se encuentran en las siguientes áreas:

  • Acceso lectura/escritura relativo al puntero del stack o los registros IX, IY, HL, particularmente palabras de 16 bits.
  • Operaciones lógicas y aritméticas de 16 bits.
  • Comunicación entre sets de registros: en general, es posible cargar datos en los registros alternativos, pero no utilizarlos como fuente.
  • Instrucciones especiales para acceso a memoria física, evitando el uso de bancos de memoria.
  • Instrucciones de Entrada/Salida (I/O).

Fuentes

Caprile, S. R. (2002). Rabbit 2000.

Rabbit 2000 Core Modules. Recuperado de http://store.rabbit.com/index.cfm?fuseaction=category.display&Category_id=20