R800

R800

R800

El R800 es la CPU principal de los ordenadores domésticos MSX Turbo-R (tienen además como CPU secundaria un Zilog Z80A). Fue diseñado por ASCII Corporation de Japón, con el objetivo de tener la CPU más rápida posible, pero que mantuviera la compatibilidad con el hardware y software de los MSX existentes (basados en el Zilog Z80).

Para preservar la compatiblidad con el viejo software MSX, el R800 utiliza un superconjunto del conjunto de instrucciones del Z80. Además de todos los opcodes del Z80, se le añaden dos nuevas instrucciones de multiplicación, MULUB (8 bits), y MULUW (16 bits). Además, muchas de las instrucciones no documentadas del Z80 se convierten en oficiales, lo que incluye todos los opcodes que usan IX e IY como registros de 8 bits (IXh, IXl, IYh, IYl).

Puesto que el R800 no está basado directamente en el Z80, sino en la familia del Zilog Z800, le faltan varias otras prestaciones no documentadas del Z80. Por ejemplo, la bandera indocumentada representada por los bits 3 y 5 del registro F no asume los mismos valores que en un Z80 (siendo la causa de fallar en los test ZEXALL) y el opcode indocumentado llamado SLL es reemplazado por otro opcode indocumentado llamado TST.

En la parte hardware, se realizan cambios radicales. La ULA interna de 8 bits del Z80 es reemplazada por una nueva de 16 bits. Opcodes como ADD HL, BC, que anteriormente ocupaban 11 ciclos de reloj, pasan a durar sólo un ciclo en determinadas condiciones. La frecuencia de reloj máxima se incrementa a 7,16 MHz, el doble que los 3,57 MHz del Z80 usado en los MSX. El bus de datos permanece de 8 bits para mantener la compatibilidad con el viejo hardware.

Además se hicieron cambios en el modo en que la CPU trata los opcodes. El Z80 original usa 4 ciclos para tratar una instrucción simple como OR A, además de emplear un estado de espera adicional debido a la arquitectura MSX. Si revisamos el tratamiento del Z80 en un ambiente MSX comprenderemos mejor al R800:

  • Z80, ciclo 1: se establecen los 8 bits superiores de una dirección
  • Z80, ciclo 2: se establecen los 8 bits inferiores de una dirección
  • Z80, ciclo 3: estado de espera (waitstate)
  • Z80, ciclo 4: refresco, parte 1
  • Z80, ciclo 5: refresco, parte 2

Puesto que muchas implementaciones del MSX usan memoria RAM dispuesta en bloques de 256×256 bytes, se necesitan dos ciclos para componer la dirección a leer. El R800 evita esto recordando el último estado conocido de los 8 bits más altos. Si la siguiente instrucción está en el mismo bloque de 256 bytes, los 8 bits superiores no se direccionan, ahorrando un ciclo. Sin embargo en el Z80, los ciclos de refresco destruyen la información de los bits altos por lo que es necesario un trabajo adicional.

La solución implementada en el R800 es refrescar bloques enteros de RAM, en lugar de refrescar una línea de RAM por instrucción publicada. Cada 30 us (microsegundos), la CPU se detiene por 4us, y este tiempo es usado para refrescar un bloque de la RAM. Puesto que no hay refresco entre el direccionamiento de dos instrucciones, y el estado de espera (waitstate) es removido debido a los chips de RAM más rápidos, las instrucciones simples son tratadas usando sólo un ciclo de reloj. Este ciclo sería el ciclo 2 del ejemplo anterior del Z80; el ciclo 1 deviene en opcional y sólo es utilizado cuando el programa cruza un límite de 256 bytes.

Todo esto se aplica a la RAM rápida usada en los MSX Turbo-R. El hardware externo, conectado por los slots de cartuchos, utiliza tiempos similares a los del Z80. Ni siquiera la ROM interna de los Turbo-R es suficientemente rápida para este esquema, por lo que su utilizan chips adicionales para copiar la ROM en RAM, para hacer que se ejecute más rápidamente.

Obtenido de "R800"

Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • R800 — The R800 is the central processing unit used in the MSX Turbo R home computer. The R800 was designed by the ASCII company of Japan, and the goals were to have the fastest CPU possible, while maintaining compatibility with old MSX Zilog Z80 based… …   Wikipedia

  • R800 — ASCII R800 8 разрядный микропроцессор, разработанный и производимый компанией ASCII (Япония) специально для использования в бытовых компьютерах стандарта MSX Turbo R. Radeon R800 кодовое название семейства графических процессоров компании AMD …   Википедия

  • R800 — 64bit RISC Chip von MTI …   Acronyms

  • R800 — 64bit RISC Chip von MTI …   Acronyms von A bis Z

  • ASCII R800 — Микропроцессор R800 ASCII R800  частично 16 разрядный микропроцессор, разработанный компанией ASCII на основе Zilog Z800 и производимый ею специально для …   Википедия

  • Radeon R800 — ATIGPU codename=? created=2008 entry= Unknown midrange= Unknown highend=RV870 d3dversion=Direct3D 11The Radeon R800 series is a set of GPUs currently scheduled for future release, developed by AMD graphics products division. The existence was… …   Wikipedia

  • Radeon R800 — Radeon Evergreen (R800)  кодовое название линейки GPU, производимых графическим подразделением AMD. Первым чипом из серии стал Cypress. Cypress, и видеокарты на его основе  5850 и 5870  были представлены 22 сентября 2009 года.… …   Википедия

  • Radeon R800 — La série Radeon R800 ou Evergreen est une série de processeurs graphiques produites par ATI/AMD à la base de la gamme de cartes graphiques HD 5800, HD 5700, HD 5970, HD 5670, HD 5500 et 5400. Voir aussi RV870 Radeon R700 …   Wikipédia en Français

  • S-1990 — The S 1990 is a VLSI integrated circuit created by NEC for the MSX Turbo R home computer, and is called the TurboR bus controller . Together with a R800 CPU and a T9769 MSX Engine chip it forms the heart of a TurboR MSX system. The S 1990 was… …   Wikipedia

  • MSX — This article is about the home computer family. For other uses, see MSX (disambiguation) and MSX2 (disambiguation). MSX Sony MSX, Model HitBit 10 P …   Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”