Diferencia entre revisiones de «Rabbit 2000»

m (Texto reemplazado: «<div align="justify">» por «»)
 
(No se muestran 3 ediciones intermedias de otro usuario)
Línea 1: Línea 1:
{{Normalizar}}{{Definición
+
{{Definición
 
|nombre= Rabbit 2000
 
|nombre= Rabbit 2000
 
|imagen= rabbit.jpg
 
|imagen= rabbit.jpg
 
|tamaño=
 
|tamaño=
|concepto=  
+
|concepto= Es un microprocesador de la familia Rabbit
 
}}
 
}}
  
''Rabbit 2000'' es el primer miembro de la familia Rabbit, basado en la
+
''Rabbit 2000'': es el primer miembro de los microprocesadores de la familia Rabbit, basado en la arquitectura del [[Z-80]]/180 de [[Zilog]].  
arquitectura del [[Z-80]]/180 de [[Zilog]].  
 
  
 
== Introducción ==
 
== 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.
+
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 cuentan con varios 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]].
+
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]]. 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 ==
 
== Características ==
 
*[[Encapsulado]] de 100 pines, PQFP. Operación a 3V o 5V, [[reloj]] de hasta 30MHz. Rango de temperatura comercial e industrial.
 
*[[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.
+
*Direccionamiento de memoria de 1 Megabyte, capacidad de más de 50000 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.
 
*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.
+
*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.
+
*Las reglas de diseño de hardware es simple. 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.
+
*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 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.
 
*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.
 
*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.
+
*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.
 
*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.
 
*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
 
*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
 
*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 ==
 
== Mejoras ==
 
=== CPU ===
 
=== 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.
 
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.
+
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 requiriendo uno 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.
+
Comparado con el Z180, el Rabbit no sólo requiere menos reloj sino que en situaciones típicas soporta relojes de mayor frecuencia y sus instrucciones son más poderosas.
 +
 
 
=== Registros ===
 
=== 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.
+
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:
+
=== Mejoras sobre el Z180 ===
*Acceso lectura/escritura relativo al [[puntero del stack]] o los registros IX, IY, HL, particularmente palabras de 16 bits.
+
Las mejoras más importantes por sobre el Z180 se encuentran en las siguientes áreas:
*Operaciones lógicas y aritméticas de 16 bits.
+
* Acceso lectura/escritura relativo al [[puntero del stack]] o los registros IX, IY, HL, particularmente palabras de 16 bits.
*Comunicación entre sets de registros: en general, es posible cargar datos en los registros alternativos, pero no utilizarlos como fuente.
+
* Operaciones lógicas y aritméticas de 16 bits.
*[[Instrucciones]] especiales para acceso a [[memoria física]], evitando el uso de bancos de memoria.
+
* Comunicación entre sets de registros: en general, es posible cargar datos en los registros alternativos, pero no utilizarlos como fuente.
*[[Instrucciones]] de [[Entrada/Salida]] ([[I/O]]).
+
* Instrucciones especiales para acceso a [[memoria física]], evitando el uso de bancos de memoria.
 +
* Instrucciones de [[Entrada/Salida]] ([[I/O]]).
  
 
== Fuentes ==
 
== Fuentes ==
Caprile, S. R. (2002). Rabbit 2000.
+
* Artículo:[http://www.cika.com/soporte/Tutorials/CTU-002_Rabbit2000.pdf Tutorial de Rabbit 2000]. Disponible en "www.cika.com". Consultado el 17 de febrero de 2012.
 
+
* Artículo:[http://store.rabbit.com/index.cfm?fuseaction=category.display&Category_id=20 Rabbit 2000 Core Modules]. Disponible "store.rabbit.com". Consultado 17 de febrero de 2012. 
Rabbit 2000 Core Modules. Recuperado de http://store.rabbit.com/index.cfm?fuseaction=category.display&Category_id=20
+
* Caprile S. Rabbit 2000; 2002.
 +
</div>
  
 
[[Category:Ciencias_informáticas_y_Telecomunicaciones]]
 
[[Category:Ciencias_informáticas_y_Telecomunicaciones]]

última versión al 09:21 14 ago 2019

Rabbit 2000
Información sobre la plantilla
Rabbit.jpg
Concepto:Es un microprocesador de la familia Rabbit

Rabbit 2000: es el primer miembro de los microprocesadores 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 cuentan con varios 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. 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 50000 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 es simple. 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 requiriendo uno 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 relojes 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