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.
|