Las patentes originales del equipo de Jay Miner Patente de los Estados Unidos [19] [11] Número de pantente: 4.777.621 Miner y otros. [45] Fecha de patente: 11 Oct 1988 [54] Ordenador personal y para videojuegos. [75] Inventores: Jay Glenn Miner, Mountain View. Joseph C. Decuir, Albany. Ronald H. Nicholson, Sunnyvale, todos de California. [73] Asigado a: Commodore-Amiga, Inc., Los Gatos, California. [21] Número de solicitud: 756.910. [22] Archivada el: 19 Jul 1985. [51] Int. Cl.: G06F 9/00. [52] U.S. Cl.: 364/900. [58] Campos de búsqueda: 364/200, 900; 340/703, 340/704, 700, 701. [56] Referencias citadas: Documentos de patentes de los Estados Unidos: 4.204.208 5/1980 McCarthy: 364/900. 4.243.984 1/1981 Ackley y otros: 340/703. 4.301.503 11/1981 Frederiksen: 364/200. 4.471.465 9/1984 Mayer y otros: 364/900. 4.513.390 4/1985 Walter y otros: 364/900. 4.571.456 2/1986 Paulsen y otros: 340/700. 4.591.975 5/1986 Wade y otros: 364/200. Examinador principal: Gareth D. Shaw. Examinador ayudante: John G. Mills. Abogado, agente o firma: Finnegan, Henderson, Farabow, Garrett & Dunner. [57] Descripción: Se implementa un ordenador doméstico para videojuegos en tecnología NMOS (semiconductor de óxido metálico de tipo n) con pluralidad de microprocesadores. Se emplean arquitectura de bus centralizado y técnicas de acceso directo a la memoria (DMA). Un generador de imagen de video proporciona salidas de señal en color para gobernar la pantalla de un receptor de televisión comercial. Este generador de imagen recibe entradas de ambos microprocesadores, y obtiene datos directamente de la memoria. Se mantiene en memoria un mapa de bits de la información de la imagen, en el cual los bits de la información en la imagen de la memoria la imagen de pantalla precisa para cada instante del tiempo. Un circuito manipulador del mapa de bits realiza, bajo la dirección del microprocesador, manipulaciones de los datos del mapa de bits con funciones lógicas. El acceso entre los componentes del sistema se consigue a través de la arquitectura del bus, en base a una cola de prioridades. Se minimiza la cantidad de chips y su área. Seis afirmaciones, tres hojas con esquemas. Ordenador personal y para videojuegos. Base del invento. Este invento se refiere al campo de los ordenadores gobernados por microprocesador para la informática personal y de videojuegos. El invento se refiere además a la tecnología MOS (semiconductor de óxido metálico), donde la implementación de circuitos se proporciona mediante el área del chip, o sea, el tamaño del chip es una consideración. El invento también se refiere a los sistemas de imagen digital en televisión, donde se almacena en memoria un bit de información de video para cada situación de un elemento en la imagen (pixel), o sea, mapeo de bits. El mapeo de bits, aunque consume espacio e implementación de tiempo, es un método directo y preciso para la generación de imagen de video. Las imágenes complicadas proporcionadas por los ordenadores personales y para videojuegos requieren presentaciones superpuestas de información móvil o cambiante, y de información fija. Y de las colisiones entre los objetos móviles. La implementación en mapa de bits ha sido el enfoque de varios circuitos anteriores. Los anteriores circuitos para videojuegos han proporcionado un formato de imagen complejo a una unidad receptora de televisión (un tubo de rayos catódicos), cuya unidad de imagen genera la presentación con una pluralidad de barridos horizontales, o lineas de rastreo. Un circuito de videojuegos que es capaz de mostrar objetos fijos como fondo, además de objetos móviles es mostrado por Rosenthal, número de pantente de los Estados Unidos 4.053.740. Rosenthal ha construido un ordenador digital de propósito especial, para generar información de juegos a partir de una pluralidad de programas definidos por software, seleccionados en base mutuamente excluyente. Los comandos del operador se reciben y procesan. El ordenador de propósito especial de Rosenthal se separa en una sección independiente para la computación, y otra sección para la imagen. Dash y otros, número de patente de los Estados Unidos 4.034.983, muestra un circuito para videojuegos que recibe comandos del operador desde joysticks (paletas), y que genera y almacena información en mapa de bits con una relación de fase y tiempo con el rayo de barrido de un receptor de televisión, cuyo receptor de televisión es gobernado por el circuito de Dash. Dash utiliza un circuito de mapeo analógico conectado a los puertos de joystick (puertos de paleta), y un circuito de mapeo digital, para reiniciar el rayo de barrido del receptor de televisión en los momentos apropiados y para controlar la intensidad de la imagen, produciendo así los componentes de la imagen del videojuego. Los ordenadores personales, como el ordenador Apple, han utilizado un microprocesador central para realizar operaciones computacionales y para procesar (recoger) información de imagen de video para generar imágenes de tipo parecido a las de Dash en un receptor de televisión. El ordenador de Apple ha incorporado un microprocesador de propósito general, el modelo 6502 de MOS Technology Inc., para realizar operaciones tanto computacionales como recogida de información de la imagen. Un sistema así, gobernado por un solo microprocesador, tiene limitaciones de velocidad, como la mayoría de los microprocesadores, incluyendo el 6502, tienen un significativo tiempo muerto de proceso, utilizado para refrescar los registros y reiniciar e iniciar operaciones. Como resultado, el proceso de información en sistemas así puede ser lento. Una aproximación para aumentar la velocidad de tal ordenador personal ha sido utilizar dos microprocesadores. Cromenco Inc. ha comercializado un ordenador personal que contiene dos microprocesadors: Un 68000 de Motorola Inc., y un 6502. En este sistema, el primer microprocesador se dedica a operaciones computacionales, y el segundo microprocesador se dedica a la recogida de información para la imagen de video. Asímismo, Sukonick, número de patente de los Estados Unidos 4.070.710, muestra un sistema con dos procesadores. Sukonick ha añadido un sistema de imagen 16 a su ordenador anfitrión programado 10. Este sistema de imagen de video 16 contiene un microprocesador 8088 de Intel Corporation 76, dentro de la unidad de microcontrol 22 del sistema de imagen de video. Siguiendo esta línea, Burson, patente de los Estados Unidos número 4.180.805 ha previsto un circuito para imagen que incorpora un microprocesador de propósito general 15, el microordenador TMS 1100, como muestra la patente de los Estados Unidos número 3.988.604. Se proporciona una memoria para caracteres separada de la memoria para la imagen. La imagen de pantalla es desarrollada por el microordenador, y almacenada en la memoria de la imagen, donde cada palabra de la memoria de la imagen está particionada en dos bytes, siendo el primero una dirección a la memoria de caracteres, y el segundo una subdirección para localizar la palabra del carácter dentro de un conjunto de caracteres en memoria. Cada palabra del carácter de la memoria está asimismo particionada en dos bytes, con el primer byte determinando el color, y el segundo seleccionando un carácter en particular, de un conjunto predeterminado. La utilización de un segundo microordenador de propósito general, disponible comercialmente, para procesar información de imagen de video, aunque incrementa la velocidad del sistema, también incrementa el coste del sistema. Además, requiere de conexiones fuera del chip, ya que cada circuito comercial viene en un encapsulado de dos hileras (DIP). En un diseño de circuito integrado a gran escala (LSI), esto aumenta el tamaño total del sistema, incrementa los costes del plano trasero (backplane) y de la tarjeta del circuito, y aumenta la probabilidad de recogida de ruido, necesitando frecuentemente de un filtrado adicional, y niveles de señal incrementados, que habitualmente conllevan mas consumo de corriente. Otros han tomado una aproximación divergente y diferente, como utilizar un circuito generador de imagen como estructura de memoria intermedia (buffer) para líneas de barrido. En una aproximación así, se puede utilizar un microprocesador general para direccionar la memoria de acceso aleatorio (RAM) para el almacenamiento de objetos de imagen. La circuitería divide la imagen en objetos móviles (sprites), y en objetos de campo de juego (playfield) estacionarios. Se muestra un diseño específico de Hogan y otros, patente de los Estados Unidos núumero 3.996.585, donde se implementa un generador de imagen con pluralidad de registros de memoria intermedia. Él utiliza este generador de imagen para procesar como mapa de bits la información obtenida de la memoria de acceso aleatorio. Se utiliza un generador de patrones para decodificar los datos sobre el orden en cada línea de barrido. Los datos decodificados de la línea de barrido se almacenan en un registro de memoria intermedia para la imagen. El generador de patrones también decodifica los datos de control para determinar colisiones. Los datos decodificados del control de colisiones se almacenan en un registro de la memoria intermedia. El circuio de Hogan pretende liberar al microprocesador del sistema de la recogida simple de los datos de la imagen de video, y su manipulación. La circuitería de Hogan se aparta de la aproximación de los dos microprocesadores de Sukonick, y se aparta de los genradores de imagen gobernados por microprocesador de Burson, Stubben y otros. Hogan propone un circuito de propósito especial, que puede implementarse en circutería integrada a gran escala. Elimina el coste del segundo microprocesador de propósito general, y el cableado de la conexión con la tarjeta o placa correspondiente. El circuito de Hogan y los demás sí que requiere mas memoria, incluyendo una gran cantidad de registros de almacenamiento temporal. Manteniendo la aproximación de circuito generador de imagen de Hogan y los demás, otros han construido un generador de imagen de video basado en decodificadores. Tal circuito no utilizaría un segundo microprocesador de propósito general para gobernar un generador de imagen de video, sino que podría utilizar circuitos de decodificación de instrucciones de imagen, para proporcionar objetos móviles y campos de juego estáticos a la imagen de video, reduciendo con ello no solo el trabajo en el único microprocesador (de propósito general) presente, sin el uso de un segundo microprocesador. Cualquiera de estos circuitos, como con el de Hogan y los demás, requiere un aumento en la memoria o espacio de almacenamiento, que se satisface mediante una gran cantidad de registros. Algunos generadores de imagen de video tienen su circuitería dividida en decodificador (o decodificadores), memoria (o memorias) RAM y un registro (o registros) para manejar los datos de objetos fijos de campo de juego y dentro de los selectores del decodificador, y registros para manejar datos de objetos móviles. Es deseable proporcionar presentaciones de video complejas en un receptor de televisión, utilizando menos circuitería que estos dispositivos anteriores, y proporcionar circuitería de proceso mas rápida y económicamente. Además es deseable definir de una nueva forma los datos de la imagen de video, de manera que pueda ser procesada y combinada en presentaciones de video complejas, utilizando una estructura de circuitos menos costosa. Resumen del invento Un objetivo de la presente invención es proporcionar un ordenador doméstico para videojuegos que incorpore acceso directo a la memoria, y aumente el ciclo de trabajo de la arquitectura del bus, decrementando así el tiempo muerto, e incrementando la velocidad de proceso del sistema. Un segundo objetivo del invento es proporcionar un sistema implementado con un microprocesador de propósito general, y un coprocesador de propósito general, capaz de procesar información de imagen de video, e implementado en circuitería integrada a gran escala, ajena al resto de la circuitería del sistema. Un tercer objetivo del invento es proporcionar un sistema implementado con muy pocos chips integrados a gran escala, reduciendo por ello el cableado entre los chips. Un cuarto objetivo del invento es asignar la geometría del chip para limitar el tamaño del chip al encapsulado mas económico de cuarenta y ocho patillas, y con el tamaño del chip en la gama de las 250 a las 270 milésimas. Los objetivos de esta invención se materializan en un sistema de ordenador personal, capaz de gobernar un receptor de televisión comercial para proporcionar una imagen compleja del tipo deseable para los videojuegos, artes visuales y otros tipos de presentaciones. Se conecta un microprocesador de propósito general a una arquitectura de bus. La memoria de acceso aleatorio es asimismo conectada a esta arquitectura de bus, al mismo tiempo que tres chips propios con circuitos integrados a gran escala, que proporcionan otras funciones principales del sistema. La arquitectura del bus incluye puertas controlables para dirigir el acceso entre los componentes principales descritos anteriormente, de acuerdo con una lógica de selección de prioridad y control de acceso al bus. Se implementa un esquema de acceso directo a la memoria (DMA). Los tres chips propios contienen circuitería de sonido, circuitería de control de discos, lógica de prioridad de interrupción del bus, circuitería para el puerto de paleta, circuitería para el puerto del ratón, circuitería para el puerto de transmisión y recepción asíncrona universal (UART), circuitería para generación de imagen, circuitería para la manipulación de imágenes en pantalla por mapa de bits, y un microprocesador de propósito general (coprocesador), con un conjunto de instrucciones limitado. El primer microporcesador de propósito general mencionado se implementa en un chip con encapsulado de dos hileras, y tiene la capacidad de acceder a la circuitería de sonido, controladora de disco, generador de imagen y manipulador de mapas de bits, y a la memoria (RAM) del sistema, además de que el coprocesador tiene esta capacidad de acceder a esta circuitería y memoria. Descripción de los diagramas La estructura, características operativas y ventajas del presente invento se harán aparentes a partir de una lectura de las siguientes descripciones detalladas del invento, en conexión con los diagramas que acompañan, en los cuales los números se refierens a los elementos, y en los cuales: - Fig. 1: Es un diagrama de bloques que ilustra un ordenador personal de una generación anterior, en el cual se utilizaba un solo microprocesador de propósito general, para realizar operaciones de computación e imagen. - Fig. 2: Es un diagrama de bloques que ilustra un ordenador personal de una generación anterior, en el cual se incorporó un circuito decodificador de instrucciones para imágenes, para liberar al microprocesador de propósito genreal de parte de las funciones de imagen. - Fig. 3: Es un diagrama de bloques que ilustra un ordenador personal de una generación anterior en el cual se incluyó un segundo microprocesador o microprocesador auxiliar para ayudar al microprocesador principal o primario, incluyendo la realización de funciones de imagen. - Fig. 4: Es un diagrama de bloques que ilustra los componentes principales e interconexión funcional del presente invento. Y, la - Fig. 5: es un diagrama de un chip de sistema del presente invento de la figura 4. Descripción detallada del invento El presente invento proporciona un ordenador personal mejorado, capaz de generar presentaciones de video mas complicadas en la pantalla de un receptor de televisión. El sistema logra esta tarea utilizando menos circuitería (o sea, materia de chip real), y con proceso mas rápido que el que se encuentra a menudo en los sistemas gobernados por microprocesador. El acceso directo a la memoria y esquemas de imagen por mapa de bits se implementan utilizando un microprocesador disponible comercialmente, y un coprocesador implementado en un circuito integrado a gran escala, ahorrando por ello materia de chip real para el coprocesador, y por ello la capacidad de dar servicio a los circuitos del subsistema principal en el sistema del ordenador, como hace el microprocesador principal. Una arquitectura de bus central tiene acceso por cola y prioridad, y la lógica de control del tiempo consigue mejorar el ciclo de trabajo de esta arquitectura de bus. La Fig. 1 muestra la circuitería básica de un ordenador personal basado en un solo microprocesador. Este sistema de una generación anterior tiene una unidad central de proceso (CPU) en un microprocesador (11), que recibe y transmite información a una pluralidad de puertos (13) de equipamiento periférico a través de cables (15). Un generador de imagen, ya sea cargado por software o cableado físicamente (hardwired) proporciona señales de gobierno de video para el rojo, el verde y el azul, a los puertos para la pantalla de video (19), a través de una conexión (16). un receptor de televisión convencional (no mostrado), preparado para funcionar de acuerdo bien con las normas norteamiericanas (NTSC) o europeas (PAL) o RGB (rojo, verde y azul) puede conectarse también a los puertos. El microprocesador (11) envía señales de control de imagen en forma de bits de datos del microprocesador (21), para gobernar el generador de imagen (17). Se utilizan canales DMA (23) para leer y escribir palabras de imagen de video en al generador de imagen (17) a partir de la memoria del sistema (25). Un bus (27) conecta al microprocesador (11) y la memoria (25), para leer y escribir instrucciones de máquina y palabras de datos. En el pasado ha habido varios intentos de incrementar la velocidad de proceso del sistema, sin aumentar considerablemente el tamaño de la circuitería, y sin actualizar el microprocesador (11) con un procesador mucho mas costoso. Éstas han tomado forma de intentos pasados de construir hardware específico para propósitos especiales, dedicados a producir datos para imagen, y de esa manera liberar al microprocesador de las funciones que consumen el tiempo. La Fig. 2 muestra un intento anterior así. Aquí, el microprocesador (11) se comunica (15) con los puertos de equipamiento periférico (13) y lee y escribe palabras de instrucción de máquina y de datos a través del bus (27), desde y hacia la memoria (25). Se conecta un generador de imagen (17) a través de canales DMA (23) a la memoria (25). Como en el sistema de la Fig. 1, el generador e imagen (17) gobierna los puertos de imagen de video (19). Este sistema, Fig. 2, difiere del anterior, ya que se cablea físicamente un decodificador de instrucciones para imagen y circuitería de registros (29) para proporcionar señales de control de imagen como salidas de la linea de control del decodificador (31) hacia el generador de imagen (17). Esto elimina la necesidad de una comunicación directa del microprocesador con el generador de imagen (17), enviándose los bits de datos desde el microprocesador (11) al generador de imagen. Las palabras de la imagen de video que definen la señal compuesta a enviar a los puertos de imagen (19) se transfieren desde la memoria (25) a la circuitería del decodificador. Estas palabras no son instrucciones de microprocesador. Las limitaciones de este sistema anterior, Fig. 2, incluyen la utilización de mucha circuitería (materia real de chip) para el propósito especial de lectura y decodificación de palabras de código de imagen, sin que esta circuitería sea utilizable para otras funciones. Un tercer sistema anterior, Fig. 3, incorpora un segundo microprocesador de propósito general, o auxiliar (33), además de un primer microprocesador (11), y supera las limitaciones del circuito de la Fig. 2. Este tercer sistema, Fig. 3, duplica la circuitería del primer sistema, Fig. 1, incluyendo micrpprocesador (11), pluralidad de puertos para equipamiento periférico (13), generador de imagen (17), memoria (25), canales de DMA (23) y puertos de imagen de video RGB (19). Éste sistema, Fig. 3, sin embargo, tiene un microprocesador redundante (33), y conexiones redundantes (15) a los puertos para periféricos, conexiones del bus (27) a la memoria (25), siendo las señales de control de imagen bits de datos de microprocesador hacia el generador de imagen (17). Ambos microprocesadores (11 y 33) son unidades comerciales en chips DIP. Si el microprocesador auxiliar (33) es del mismo modelo que el primer microprocesador (11), el coste de los procesadores del sistema es el doble que en el primer sistema, Fig. 1. El presente invento, Fig 4. incluye un microprocesador comercial (11), que puede implementarse con un microprocesador modelo 68000 de Motorola Corporation Inc. El microprocesador (11) se conecta a través de una conexión (15) a un número limitado de puertos de equipamiento periférico (13). El sistema incluye una memoria (25) que es de acceso aleatorio (RAM), siendo de un tamaño desde 128 a 512 kilobytes. Los canales de DMA (23) se conectan un generador de imagen (35) a la memoria (25). El generador de imagen (35) se utiliza para gobernar los puertos para la imagen de video (19). Un circuito generador de sonido (37) gobierna un puerto de sonido (39) y una circuitería de controladora de disco (41) se comunica con el puerto para el disco (43). El invento incluye un segundo microprocesador (45). Este segundo microprocesador (45) diseñado para ser un microprocesador de propósito general, pero con un conjunto de instruccione mas pequeño que le primer microprocesador (11). Este segundo microprocesador es conocido como el coprocesador (45) e incluye instrucciones de propósito general cableadas físicamente, incluyendo las siguientes: (esperar hasta), (mover datos), (evitar si) y (saltar). El invento incluye una arquitectura de bus y utiliza técnica de acceso directo a la memoria (DMA). Esta técnica utiliza un bus de direcciones compartido y bus de datos compartido, donde la memoria (25) comparte el acceso al bus de información siendo el tiempo de bus arbitrado por varios componentes del subsistema. El invento funciona en el modo de operación de mapas de bits. Cada posición de la pantalla para cada instancia del tiempo de la imagen se mapea con un bit de código en una relación de correspondencia en la memoria (25). Para generar la imagen, este mapa de bits de palabras de datos es transferido al generador de imagen (35) desde la memoria (25). Para cambiar un objeto en la pantalla, los datos que representan a ese objeto son movidos a una nueva posición en la memoria. Se ha diseñado un circuito manipulador de mapas de bits (47) para realizar ciertas operaciones logicas, como funciones AND, OR, XOR y SHIFT lógicas en los datos del juago del mapa en la memoria (25). Esta manipulación reconfigura los datos para la imagen continuada. Se emplea una arquitectura de bus para transferir ambas palabras de instrucción y datos. Todos los componentes del sistema, como el microprocesador (11), coprocesador (45), memoria (25), generador de imagen (35), generador de sonido (37), controladora de disco (41) y circuito manipulador de mapas de bits (47) se conectan a esta arquitectura de bus. Un circuito lógico de control del bus (49) controla el acceso a la arquitectura de bus como entre todos estos componentes. Esta lógica de control de bus (49) es alimentada con señales de petición de bus desde una lógica de control de la prioridad de acceso al bus (51). Esta lógica de control de la prioridad de acceso al bus (51) recibe peticiones del microprocesador (11), coprocesador (45), generador de imagen (35), circuitería manipuladora de imágenes en mapas de bits (47), generador de sonido (37) y controladora de disco (41). La lógica de control (49) controla po ello las siguientes transferencias de señal, además del acceso a los canales de DMA (23): a: Señales de control desde el microprocesador (11) al generador de sonido (37). b: Señales de control desde el coprocesador al generador de sonido (37). c: Señales de control desde el microprocesador (11) a la controladora del disco (41). d: Señales de control desde el coprocesador (45) a la controladora del disco (41). e: Transferencia de datos por DMA al generador de sonido (37) desde la memoria (25). f: Control de los datos del DMA en los dos sentidos entre la memoria temporal del disco (41) y la memoria (25). g: Control de la información hacia el circuito manipulador de imagen por mapa de bits (47) desde el microprocesador (11). h: Control de la información hacia el circuito manipulador de imagen por mapa de bits (47) desde el coprocesador (45). i: Control de los datos del DMA en los dos sentidos entre la circuitería del manipulador de imágenes por mapa de bits (47) y la memoria (25). j: Control de instrucciones de máquina y datos entre el microprocesador (11) y la memoria (25). k: Control de instrucciones de máquina y datos entre el coprocesador (45) y la memoria (25). l: Control de las señales de control de imagen en forma de bits de datos del microprocesador desde el microprocesador (11) hacia el generador de imagen (35), y l: Control de las señales de control de imagen en forma de bits de datos del microprocesador desde el coprocesador (45) hacia el generador de imagen (35). El invento de la Fig. 4 se configura de acuerdo con la arquitectura de chip mostrada en la Fig. 5. El microprocesador 68000 de Motorola (11) comunica un bus de direcciones, la mitad (53) del cual se utiliza para transmitir los nueve bits menos significativos de una palabra de direccionamiento del microprocesador (11), mientras que la segunda mitad del bus (55) transmite los nueve bits mas significativos de la palabra de direccionamiento del microprocesador (11). La mitad inferior del bus de direcciones (53) también alimenta los ocho bits menos significativos de la palabra de dirección acarreada a partir de entonces a un circuito de memoria intermedia de tres estados (57), y a un circuito multiplexor (59). La mitad superior del bus de direcciones (55) alimenta los nueve bits superiores de la palabra de direccionamiento del microprocesador (11) al multiplexor (59), y a la lógica de control (49) del bus. La memoria temporal (buffer) de tres estados (57) deja pasar a través selectivamente los ocho bits de abajo en el bus de direcciones de bits bajos (53), para dirigirse a los tres chips integrados a gran escala (61, 63, 65), implementados en paquetes de tecnología NMOS de 48 patillas. El primero de estos chips (61) contiene la circuitería del coprocesador (45), ademas de la circuitería de manipulación de imágenes en mapa de bits (47), de la Fig. 4. El segundo chip propio (63) contiene la circuitería del generador de imagen (35), mientras que el tercer chip propio (65) contiene la circuitería de control de dispositivos, incluyendo la circuitería generadora de sonido (37), la circuitería de control del disco (41), y la circuitería de los puertos de otros periféricos (13). La circuitería contenida en cada chip propio (61, 63 y 65) será tratada con detalle a continuación. El acceso entre el bus de direcciones de registros (53) y el primer chip propio (61) es bidireccional, mientras que el acceso desde el bus de direcciones de registros (53) es unidireccional hacia el chip propio del generador de imagen (63) y el chip propio con la circuitería de control de periféricos (65). El chip propio de control de periféricos transmite señales de audio a los puertos de sonido (39), y tiene señales de transmisión bidireccionales entre los puertos de disco (43). Los otros puertos (13) de la Fig. 4 incluyen un puerto UART (67), y un puerto para paleta (69). La transmisión de señales entre estos puertos (67, 69) y el chip de control de periféricos (65) es bidireccional. Otro puerto para periféricos considerado entre el grupo (13), Fig. 4, es un puerto para ratón, (71) que envía señales al segundo chip propio (63). Los puertos de imagen de video (19) se conectan para recibir señales desde este segundo chip propio (63). Contenida en el primer chip propio (61) está la lógica de control de prioridad de acceso al bus (51), el coprocesador (45), la circuitería de manipulación de imágenes en mapa de bits (47), y el controlador de posición vertical para objetos móviles (sprites), este controlador de posición vertival es una sección clásica del primer chip (61). También situados en este tercer chip propio están los registros de direcciones para los canales de DMA (23). El generador de imagen (35) se implementa en el segundo chip propio (63) e incluye los registros de la memoria temporal de los planos de bits, para generar una pluralidad de múltiples campos de juego de objetos fijos. Los registros de selección de color de video, y un controlador de prioridad de imagen, que determina la proridad de las colisiones de la pantalla, entre objetos fijos y móviles (sprites) también está en este chip (63). El generador de pantalla (35) también incluye un controlador de posición horizontal para sprites, que tiene registros de posición horizontal, y una pluralidad de memorias temporales para datos de los sprites, conectadas al controlador de posición horizontal mencionado. También hay situada en este segundo chip propio (63) una circuitería de detección de colisiones, para detectar colisiones entre objetos fijos y móviles, y también contadores para el puerto del ratón. Situados en el tercer chip propio (65) hay cuatro circuitos generadores de sonido, un circuito controlador de disco, un circuito para comunicaciones UART, y circuitos para puertos de paleta. La circuitería anterior situada en los chips propios (61, 63 y 65) puede ser implementada en diversas formas clásicas, previamente puestas en práctica en la técnica. El microprocesador (11) es capaz de realizar cálculos internos con información en palabras de 32 bits. Sin embargo, el microprocesador (11) tiene una conexión con el bus de datos de dieciséis bits. Esta conexión con el bus de datos es bidireccional entre el microprocesador (11) y un bus de datos de dieciséis bits (67). Un latch bidireccional de tres estados (69) funciona como puerta entre el microprocesador (11) y las entreadas de datos del primer chip propio (61), el segundo chip propio (63) y el tercer chip propio (65), ademas de la entreda a la RAM (25). Todos estos tres chips propios (61, 63 y 65), ademas de la RAM (25) tienen conexiones bidireccionales con el bus de datos. El reloj básico del sistema gobierna un circuito oscilador (69) que alimenta con pulsos de reloj (71) a la lógica de control del bus (49). Los pulsos del reloj (73) se envían entonces al microprocesador (11) desde la lógica de control del bus (49). El primer chip propio (61) genera una dirección de RAM dinámica de 18 bits, multiplexada en un bus de nueve bits (75), que se conecta al multiplexador (59). El multiplexador (59) selecciona entre los nueve bits proporcionados por cada uno de los buses (53, 55 y 75), para dar paso en base a un reparto del tiempo a cada una de las palabras individuales (nueve bits) de direcciones a la RAM (25) a través de una conexión con el bus (77). Una línea de control de dos bits (79) consiste en dos hilos desde la lógica de control del bus (49) para controlar el estado del multiplexador (59). Estas líneas de control seleccionarán los 9 bits de arriba del bus de direcciones (55), y después los 9 bits de abajo del bus de direcciones, para hacer 18 bits de dirección desde el microprocesador (11). De otro modo, seleccionan el bus dinámico de direcciones de RAM desde el primer chip propio (61), con 18 bits desde el chip (61), 9 bits cada vez. El microprocesador (11) tiene una entrada (DTACK) que sirve para decirle al microprocesador (11) que tiene acceso al bus de datos (67). Esta señal DTACK se pasa desde la lógica de control del bus (49) al microprocesador (11), en la línea del DTACK (79). Existe una conexión adicional (81) entre el microprocesador (11) y la lógica de control del bus (49), como señal de strobe de direcciones (81). Otra línea (83) lleva una petición de lectura/escritura (83) desde el microprocesador (11) a la lógica de control del bus (49). Cuando el microprocesador (11) ha recibido permiso de acceso a la RAM (25), a través del bus (53, 55 y 67), la señal de lectura/escritura (83) se pasa a través de una linea separada (83), desde la lógica de control del bus (49) a la RAM (25). Una señal de "strobe de dirección de fila" (85) y una señal de "strobe de dirección de columna" (87) proporcionan entradas de control adicional a la RAM (25) desde la lógica de control del bus (49). Una línea de selección de datos de origen (89) proporciona un control al latch bidireccional de tres estados (69) desde la lógica de control del bus (49). Una línea de selección de dirección de registro (91) proporciona una entrada de línea de control a la memoria temporal de tres estados (57) desde la lógica de control del bus (49). Una línea de petición del bus (93) desde el primer chip propio (61) recibe peticiones de acceso al bus desde la circuitería de ese chip (61) a la lógica de control del bus (49). Una línea de petición por DMA (95) proporciona peticiones de acceso al bus desde la circuitería el tercer chip propio (65) a través del primer chip propio (61) hasta la lógica de control del bus (49). El latch bidireccional de tres estados (69) y la memoria temporal de tres estados (57) son controlados para funcionar al unísino por la lógica de control del bus (49). Esta lógica de control del bus (49) determina cuándo el microprocesador (11) está en el bus de datos (67), y las direcciones desde el microprocesador 811) deberían pasarse a través de la memoria temporal de tres estados (57), además del multiplexador (59), para acceder a la RAM (25), ademas de a la circuitería del chip propio (61, 63 y 65). Los nueve bits mas altos de la dirección desde el microprocesador (11) se alimentan a través de la lógica de control del bus (49), donde son decodificados para generar una señal de selección de dirección de registro (91) a la meoria temporal de tres estados (57), para permitir que la palabra de dirección pase a los tres chips propios (61, 63 y 65), a través del bus de direcciones de registro. Estos ocho bits inferiores en el bus (53) seleccionan por ello qué registro en qué chip propio en particular (61, 63, 65) va a recibir datos del bus de datos (67). Este esquema ahorra patillas y cableado de interconexión, incluyendo cableado al plano trasero (backplane), y cableado de tarjetas y placas, ademas de eliminar la circuitería lógica adicional necesaria para seleccionar entre la lógica del microprocesador (11) y de un chip propio (61, 63, y 65). Todos los chips propios reciben información del bus de datos al mismo tiempo, y cada chip propio (61, 63 y 65) contiene un decodificador de direcciones para cada registro de datos. Cuando la dirección correcta se recibe en esa porción del circuito, esa porción del registro en particular es seleccionada, y los datos en el bus (67) son por ello habilitados para entrar en ese registro. Esta implementación elimina la necesidad de decodificadores y líneas adicionales en los chips. Cada registro de datos tiene una dirección única. Cuando se aplica una dirección al bus de direcciones (53), se selecciona ese registro para recibir datos del bus de datos (67). Esto permite comunicación entre los circuitos sin utilizar mas que un solo bus de direcciones, y elimina cableado entre los chips y circuitería adicional. Aprovechando la ventaja del tiempo muerto del microprocesador (11), la lógica de control (49) aumenta la señal y el tiempo de utilización de la arquitectura del bus (53, 55 y 57). El sistema de bus almacena direcciones que tienen tanto la dirección de origen como la de destino. Con unas pocas excepciones, la dirección en la RAM dinámica (palabra DRA) desde el primer chip propio (61) es casi siempre una dirección de origen y la dirección del registro en el bus (53) también es generada por el primer chip (61) casi siempre lleva una dirección de registro de destino para los datos por DMA transferidos en el bus de datos. Las estructuras para los circuitos para registros de la memoria temporal de entrada, y los circuitos para registros de la memoria temporal de salida son bien conocidas en la industria. Esta estructura no cambiará, sin importar si la información que se almacena temporalmente contiene datos o direcciones. La sincronización de señales a través de esos registros de memoria temporal también es conocida en la industria. Su utilización y propósito en el presente invento, sin embargo, se aleja de la industria existente. Durante la transferencia de datos por DMA, el primer chip propio (61) genera una dirección de registro (señal RGA) sobre el bus (53), que determina el destino de los datos, y genera una dirección dinámica en RAM (bus 75), que selecciona la situación del origen de los datos dentro de la RAM (25). Durante el funcionamiento del circuito manipulador de imagenes por mapa de bits, este último se comunica bidireccionalmente con la memoria, para acceder a la información de la imagen de video por mapa de bits, para realizar operaciones lógicas (por ejemplo, AND, OR, SHIFT y OR exclusivo) y por ello bajo control de señales de control procedentes del microprocesador. Esas señales de control se almacenan en los registros de control del chip (61), que se cargan a través del bus de datos, en respuesta a las señales de dirección de registro recibidas en el bus (53). Durante las operaciones con la pantalla, el generador de imagen en el chip (63) reacciona para mostrar la imagen de video por mapa de bits almacenada en la memoria (25), y proporcionada a través del bus de datos (67). Esto se hace como respuesta a las señales de control, procedentes del bus de datos (67), y almacenadas en registros de control en el chip (63), en respuesta a la información de dirección proporcionada en el bus (53) por la CPU (11), o por el coprocesador en el chip (61). El ciclo de trabajo en el bus de datos es incrementado, y controlado en parte por la señal DTACK (79) y la señal de strobe de direcciones (81). Las características operacionales específicas del microprocesador 811) permiten a este microprocesador (11) hacer uso del bus de datos solo un cincuenta por ciento del tiempo. Así que el resto del tiempo, los chips propios 61, 63 y 65 hacen uso del bus de datos. Esto permite un uso ampliamente incrementado de la arquitectura de bus, y reduce el tamaño del cableado entre los chips y la geometría del sistema. Los conflictos por acceso al bus de datos (67) se resuelven mediante lógica de prioridad, residente en el primer chip propio (61), y realizada de acuerdo con la lógica de control del bus (49). El coprocesador (45) puede ser programado para manejar las funciones de imagen de video que, en la configuración de sistema de las figuras cuatro y cinco, serían de otro modo manejadas por el microprocesador (11). El coprocesador (45), siendo mas pequeño que el microprocesador 811), es implementado con un menor coste. Estando en el mismo chip integrado a gran escala, los problemas de cableado son reducidos en gran medida. La arquitectura descrita en la conexión con la figura cinco permite a la circuitería descrita en conexión con la figura 4 ser incorporada en estos circuitos propios integrados a gran escala (61, 63 y 65), teniendo cada uno una cantidad de patillas inferior a cuarenta y ocho, al igual que el microprocesador comercial (11), la memoria RAM comercial (25), y la memoria intermedia de tres estados (57), multiplexador (59), latch bidireccional de tres estados (69) y lógica de control del bus (49) comerciales. El microprocesador, se declaró anteriormente como un Motorola Corporation 68000. El multiplexador (59) podría implementarse quizás en lógica TTL, incluyendo un modelo 74F374 de Fairchild Corporation, un latch octal, y un modelo 74F257 de Fairchild Corporation. El multiplexador sería un multiplexador de dos a uno, con salida a tres estados. La memoria intermedia de tres estados (57) puede implemetnarse con un modelo 74LS244 de Texas Instruments, con driver para tres estados, mientras que el latch bidireccional de tres estados (69) se puede implementar con un modelo 74LS244 de Texas Instruments, un driver para tres estados y un latch octal modelo 74LS273 con salidas a tres estados. La memoria RAM se puede implementar con una memoria de 256 Kb, como el modelo D41254D de Nec Corporation. La circuitería de la lógica de control del bus (49) se puede implementar con circuito conmutador modelo 16L8 de MMI Corporation, junto con una pluralidad de puertas NAND y flip-flops. Toda la circuitería descrita anteriormente, incluyendo los circuitos del subsistema, que se muestran en las técnicas previas, pretenden ser interconectados en la manera habitual. El sistema, en las figuras cuatro y cinco, siendo la presente invención, utiliza operaeciones proporcionadas por un operador en forma de software, que se cargan en la memoria RAM (25) cuando el sistema arranca. Se incorpora el conjunto de instrucciones de software del M68000. Los puertos para periféricos (13) incluyen una entrada de teclado para introducir instrucciones en la manera normal. La descripción anterior del invento pretende ser leida como ilustrativa del invento, y no debe considerarse como limitadora del enfoque o intención. Por ello, pueden realizarse cambios en el invento sin alejarse de las características ni el enfoque pretendido. Lo que se afirma es lo siguiente: 1.- Un ordenador personal y para videojuegos funcionando bajo acceso directo a la memoria (DMA), con un bus de direcciones compartido entre un microprocesador principal y un microprocesador auxiliar, de manera que dichos microprocesadores proporcionen direcciones alternativamente a dicho bus, consistiendo en: - Un microprocesador principal. - Una memoria. - Un bus de datos, conectado a dicho microprocesador principal, y a dicha memoria. - Un conmutador bus de datos capaz de interrumpir a dicho bus de datos entre dicho microprocesador principal y dicha memoria. - Una pluralidad de circuitos en chip, conectados al mismo lado de dicho conmutador del bus de datos, teniendo tanto la memoria dicha como los chips dichos una pluralidad de registros de control en conexión con dicho bus de datos para recibir datos de allí. - Un bus de direcciones de registro conectado a dicho microprocesador y a cada uno de los plurales circuitos en chip dichos, siendo cada dirección llevada entonces operativa para habilitar selectivamente dichos registros de control en dichos chips. - Un conmutador de bus de direcciones de registro capaz de interrumpir a dicho bus de direcciones entre dicho microprocesador y dichos chips. Donde uno de dichos chips contienen un microprocesador auxiliar (AUX), para controlar operaciones de datos de imágenes, dicho microprocesador auxiliar es capaz de situar direciones en dicho bus de direcciones de registro, cuando dicho conmutador del bus de direcciones de registro interrumpe la conexión entre dicho bus de direcciones de registro y dicho microprocesador, y donde uno de los chips dichos contiene un circuito codificador de direcciones DMA y un generador de direcciones DMA, dicho condificador de direcciones DMA siendo capaz de situar direccines de registro en dicho bus de direcciones de registro cuando dicho conmutador del bus de direcciones de registro ha desconectado dicho bus de direcciones de registro del microprocesador principal dicho. 2.- El ordenador de la afirmación uno, incluyendo además un bus de salida de direcciones de memoria, conectado a uno de los chips dichos, transmitiendo dicho bus de salida direcciones de memoria DMA producidas por dicho generador de direcciones DMA hacia dicha memoria, cuando dicho bus de direcciones de registro es desconectado del microprocesador principal dicho. 3.- El ordenador de la afirmación dos, incluyendo además un generador de imagen incluido en otro de los circuitos en chip dichos, para generar una salida de datos de imagen, y un circuito de control para hacer funcionar ese conmutador de bus de datos dicho, para interrumpir a dicho bus de datos entre dicho microprocesador y dicha memoria, cuando dicho bus de direcciones de registro es desconectado de dicho microprocesador principal, donde se sitúan los datos en dicho bus de datos como respuesta a dichas direcciones de memoria DMA. 4.- El ordenador de la afirmación tres, donde dicho generador de direcciones DMA produce primero datos de direcciones para la lectura de la información de control de la imagen, salida de dicha memoria, sobre dicho bus de datos, y dicho codificador de direcciones DMA produce direcciones de registro para cargar dicha información de control de imagen sobre dicho bus de datos, hacia registros de control designados en otro de los circuitos en chip dichos. 5.- El ordenador de la afirmación cuatro, donde dicho generador de direcciones DMA produce después datos de direcciones para la lectura de información de imagen, salida de dicha memoria sobre dicho bus de datos, donde dicho generador de imagen utiliza dicha información de imagen para generar dicha salida de datos para la imagen. 6.- Un ordenador personal y para videojuegos funcionando bajo acceso directo a la memoria (DMA), con un bus de datos utilizado de forma compartida entre un microprocesador principal y un circuito manipulador de datos de memoria, de manera que dicho circuito manipulador es capaz de procesar datos de imagen, conteniendo: - Un microprocesador principal. - Una memoria. - Un bus de datos, conectado a dicho microprocesador principal, y a dicha memoria. - Un conmutador bus de datos para interrumpir a dicho bus de datos entre dicho microprocesador principal y dicha memoria. - Una pluralidad de circuitos en chip, conectados a dicho bus de datos al mismo lado de dicho conmutador del bus de datos, teniendo tanto la memoria dicha como los chips dichos una pluralidad de registros de control conectados a dicho bus de datos para recibir datos de allí. - Un bus de direcciones de registro conectado a dicho microprocesador principal y a cada uno de los plurales circuitos en chip dichos, siendo cada dirección llevada entonces operativa para habilitar selectivamente dichos registros de control en dichos chips. - Un conmutador de bus de direcciones de registro capaz de interrumpir a dicho bus de direcciones entre dicho microprocesador y dichos chips. - Un circuito multiplexador de direcciones para transmitir datos de direcciones a dicha memoria desde una pluralidad de orígenes, incluyendo dicho microprocesador principal. - Un circuito manipulador de datos de memoria, incluido dentro de uno de los circuitos en chip dichos, incluyendo dicho circuito un generador de direcciones DMA para proporcionar datos de direcciones DMA a dicho circuito multiplexador de direcciones, y - Un circuito de control conectado a dicho conmutador del bus de datos, dicho conmutador de bus de direcciones de registro, y dicho circuito multiplexador para conectar dicho microprocesasor principal a dicho bus de direcciones para habilitar la carga de los registros de control de uno de los chips dichos, y para desconectar a partir de entonces dicho bus de datos de dicho microprocesador, y permitir a dicho circuito multiplexador proporcionar datos de direcciones DMA desde dicho circuito manipulador de memoria a dicha memoria, donde los datos de imagen almacenados en dicha memoria son leidos por dicho circuito manipulador, a través de dicho bus de datos, para se procesados por dicho circuito manipulador de datos, de acuerdo con dichos datos almacenados en dichos registros de control de uno de los circuitos en chip dichos. |