MXPA96002530A - Aparato para entregar datos formateados a unidades de procesamiento central - Google Patents

Aparato para entregar datos formateados a unidades de procesamiento central

Info

Publication number
MXPA96002530A
MXPA96002530A MXPA/A/1996/002530A MX9602530A MXPA96002530A MX PA96002530 A MXPA96002530 A MX PA96002530A MX 9602530 A MX9602530 A MX 9602530A MX PA96002530 A MXPA96002530 A MX PA96002530A
Authority
MX
Mexico
Prior art keywords
data
section
module
signal
computer system
Prior art date
Application number
MXPA/A/1996/002530A
Other languages
English (en)
Other versions
MX9602530A (es
Inventor
Mathias Willard Pierre
Original Assignee
Thomson Consumer Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/497,492 external-priority patent/US5778406A/en
Application filed by Thomson Consumer Electronics Inc filed Critical Thomson Consumer Electronics Inc
Publication of MXPA96002530A publication Critical patent/MXPA96002530A/es
Publication of MX9602530A publication Critical patent/MX9602530A/es

Links

Abstract

La presente invención se refiere a un sistema de computadora distribuido, el cual incluye una posición central y una pluralidad de posiciones remotas. Un sistema de computadora de posición remota genera un módulo que incluye una sección de datos conteniendo una pluralidad de unidades de datos. Cada una de las unidades de datos es ya sea una unidad de datos mínima direccionable o una unidad de datos más larga. Cada unidad de datos más larga contiene una pluralidad de unidades de datos mínimas direccionables. El módulo también incluye una sección de intercambio conteniendo datos identificando posiciones de unidades de datos más largas dentro de la sección de datos. Un sistema de computadora de posición remota recibe un módulo, y contiene un cargador. El cargador intercambia las unidades de datos mínimas direccionables de las unidades de transmisión, transmite el módulo desde el sistema de computadora de la posición central al sistema de computadora de la posición remota.

Description

APARATO PARA ENTREGAR DATOS FORMATEADOS A UNIDADES DE PROCESAMIENTO CENTRAL La presente invención se refiere a aparatos de multimedia tales como un sistema de transmisión de televisión interactivo, para entregar datos que tienen un formato común a unidades de procesamiento central (CPUs) operando de manera de "little endian" o de "big endian". Casi todos los sistemas de computadora incluyen actualmente un sistema de memoria que proporciona posiciones direccionables separadamente para bytes (unidades de 8-bits) de datos, significando que el byte es la unidad de datos mínima direccionable. Las unidades de datos mayores, que se pueden denominar como palabras (16 bits) y/o las palabras largas (32 bits) , son accesadas, procesadas y almacenadas por unidades de procesamiento central como secuencias de bytes en posiciones de memoria adyacentes. Las unidades de procesamiento central emplean uno de dos métodos para accesar y almacenar dichas unidades de datos más largas en memoria. Un primer método es almacenar una unidad de datos más larga desde su byte menos significativo hasta su byte más significativo en direcciones de memoria que se incrementan. Una unidad de procesamiento central usando este método para accesar y almacenar unidades de datos más largas opera de una manera generalmente denominada "little endian". Un segundo método es almacenar una unidad de datos más larga desde su byte más significativo hasta su byte menos significativo en direcciones de memoria que se incrementan. Una unidad de procesamiento central que usa este método para accesar y almacenar unidades de datos más largas opera en una manera generalmente denominada "big endian". Dirección "little endian" "big endian" 0x1000 0x78 0x12 0x1 001 0x56 0x54 0x1 002 0x34 0x56 0x1 003 0x 1 2 0x78 TA BLA I La TABLA I ilustra un ejemplo del almacenamiento de la variable de palabra larga (32 bits) 0x12345678 en la posición 0x1000 en memoria, tanto en la configuración de "little endian" como en la de "big endian". El sistema ilustrado en la TABLA I , incluye una memoria direccionable a un nivel de byte. Es decir, el byte es la unidad de datos mínima direccionable, o, puesto de otra manera, cada byte es almacenado en una posición direccionable separadamente. La variable de palabra larga 0x12345678 es almacenada en posiciones de memoria secuenciales comenzando en la posición 0x1000. En un sistema "little endian", el byte menos significativo (es decir 0x78) es almacenado en la posición de memoria más baja (es decir 0x1000) , con bytes sucesivamente más significativos almacenados en posiciones de memoria sucesivas. En un sistema "big endian", el byte más significativo (es decir, 0x12) es almacenado en la posición de memoria más baja (es decir 0x1000) , con bytes sucesivamente menos significativos almacenados en posiciones de memoria sucesivas. Es importante para la ejecución adecuada de un programa que los datos que sean almacenados en la memoria en la configuración adecuada para la unidad de procesamiento central que ejecute el programa. En los sistemas actuales esto no es un problema porque cada unidad de procesamiento central incluye herramientas de desarrollo de programa para traducir programas fuente (por ejemplo, lenguaje de ensamblaje o lenguaje de nivel superior) en el código de la máquina nativa para esa unidad de procesamiento central, incluyendo colocar datos variables iniciales o constantes en la memoria en el formato adecuado. Si la unidad de procesamiento central es una unidad de procesamiento central de "little endian", entonces estas herramientas emiten datos en el formato "little endian" apropiados para esa unidad de procesamiento central. De igual manera, si la unidad de procesamiento central es una unidad de procesamiento central de "big endian", entonces estas herramientas emiten datos en el formato "big endian" apropiado para esa unidad de procesamiento central. Sin embargo, recientemente, se han propuesto sistemas distribuidos tales como sistemas de multimedia (interactivos) en los cuales los programas de computadora son transmitidos desde una posición central a posiciones remotas. La unidad de procesamiento central remota, y en particular el formato "endian" usado por la unidad de procesamiento central remota para unidades de datos más largas, no es conocida a la posición central. De hecho, se espera que las unidades de procesamiento central que usan ambos formatos "endian" sean capaces de recibir y ejecutar el programa de computación transmitido. Específicamente, se han propuesto sistemas de televisión interactivos en los cuales los componentes de programa de computadora, audio y vídeo serán transmitidos desde una posición central , a través de un enlace de satélite, a posiciones de suscriptores individuales. Cada posición de suscriptor incluirá un receptor de televisión para exhibir la información de audio y vídeo recibida, y una unidad de procesamiento central para ejecutar la información de programa de computación recibida. Las posiciones de suscriptor diferentes pueden tener diferentes unidades de procesamiento central usando diferentes formatos "endian". Se prevé que la porción de código de los programas de computación será un código intermedio el cual será interpretado por un intérprete implementado en la unidad de procesamiento central en la posición del suscriptor. Sin embargo, se esperará que la unidad de procesamiento central en cada posición del suscriptor tenga disponible para la misma, ciertas rutinas previamente codificadas para realizar tareas comunes. Estas rutinas serán implementadas en el código nativo de la unidad de procesamiento central en la posición del suscriptor para maximizar la velocidad de ejecución. Cualesquiera datos accesados por estas rutinas de código nativo, deben ser almacenados en el formato "endian" de esa unidad de procesamiento central .
Una solución podría ser transmitir dos versiones del programa de computadora desde la posición central: uno para unidades de procesamiento central de "big endian" y un segundo para unidades de procesamiento central de "little endian". Sin embargo, esta solución requiere que todos los datos del programa de computadora sean transmitidos dos veces en el enlace de satélite, una vez en formato "big endian" y una segunda vez en formato "little endian". Esto es un desperdicio de ancho de banda. Es deseable transmitir datos sólo una vez en el enlace de satélite, pero hacer esos datos útiles a las unidades de procesamiento central usando tanto el formato "big endian" como el formato "little endian". De conformidad con los principios de la presente invención , un sistema de computadora distribuido incluye una posición central y una pluralidad de posiciones remotas. Un sistema de computadora de posición central genera un programa de computadora consistente de uno o más módulos, cada uno de los cuales incluye una sección de datos conteniendo una pluralidad de unidades de datos. Cada una de las unidades de datos es ya sea una unidad de datos mínima direccionable o una unidad de datos más larga. Cada unidad de datos más larga contiene una pluralidad de unidades de datos mínimas direccionables. El módulo también incluye una sección de intercambio conteniendo datos identificando posiciones de unidades de datos más largas dentro de la sección de datos. Un sistema de computadora de posición remota recibe un módulo, y contiene un cargador. El cargador intercambia las unidades de datos mínimas direccionables de las unidades de datos más largas en la sección de datos. Un enlace de transmisión transmite el módulo desde el sistema de computadora de la posición central al sistema de computadora de posición remota. BREVE DESCRIPCIÓN DE LOS DI BUJOS En los dibujos: La Figura 1 es un diagrama de bloques de un sistema de computadora distribuido empleando la presente invención; La Figura 2 es un diagrama de configuración de memoria que ilustra la configuración de una sección de datos, y secciones de datos de intercambio correspondientes alternativas; La Figura 3 es un diagrama de configuración de memoria ilustrando la codificación de una sección de intercambio de conformidad con una modalidad de la presente invención; y La Figura 4 es un diagrama de configuración de memoria ilustrando un ejemplo de una sección de datos y correspondiente sección de intercambio codificada de conformidad con la Figura 3. La Figura 1 es un diagrama de bloques de un sistema de computadora distribuido empleando la presente invención. En la Figura 1 , una posición central incluye un sistema de computadora para preparar datos y código de programa de computadora para transmisión a posiciones remotas. El sistema de computadora incluye una unidad de procesamiento central (CPU), memoria de leer/escribir (RAM), memoria de sólo lectura (ROM) , y dispositivos de entrada y salida tales como terminales de tubos de rayos catódicos (CRT) e impresoras, acoplados conjuntamente de una manera vía un conductor del sistema, ninguno de los cuales se muestran . El sistema de computadora adicionalmente incluye un dispositivo de almacenamiento de masa 10, también operando de manera conocida y acoplado al conductor del sistema de una manera conocida. En operación , el sistema de computadora es usado por un programador para generar programas de computadora para ser distribuidos desde la posición central a un pluralidad de posiciones remotas. Como es usual en el desarrollo de programas, el programador de la aplicación usa el sistema de computadora en una manera conocida para generar un documento fuente (no mostrado), que puede consistir de uno o más archivos de control y/o fuente (no mostrados). El documento fuente es procesado de una manera conocida por varios programas (por ejemplo, compiladores), ejecutados en el sistema de computadora, cada uno de los cuales puede producir resultados intermedios, para generar módulos finales, listos para ser distribuidos a las posiciones remotas. El dispositivo de almacenamiento de masa 10 mantiene datos representando los resultados intermedios del proceso de desarrollo del programa, es decir uno o más archivos objeto tal como un archivo objeto 12; y uno o más módulos finales del proceso de desarrollo del programa, tal como un módulo 14. En la Figura 1 , una rutina de post-enlazador 20 toma como entrada el módulo objeto 12 y genera como salida el módulo 14, de una manera que se describirá con más detalle a continuación.
En un sistema de televisión interactivo, por ejemplo, los programas de aplicación para influenciar la interacción de los observadores con señales de televisión transmitidas son desarrollados por programadores de aplicación usando herramientas de desarrollo de programa en la posición central. Uno de los resultados intermedios de las herramientas de desarrollo de programa es el archivo objeto 12. El archivo objeto 12 incluye datos representado código ejecutable (no mostrado), y una tabla de símbolo 122. La tabla de símbolo 122 contiene datos referentes a cada nombre de variable, su tipo de datos, y la dirección en memoria en la cual esa variable será almacenada cuando el programa sea ejecutado. La tabla de símbolo 122 adicionalmente contiene información referente a cada tipo de datos en la tabla de símbolo 122 a tipos de datos básicos, tales como byte, palabra y palabra larga, como se describió anteriormente. El post-enlazador 20 procesa, de una manera conocida, los datos en el archivo objeto 12 representando el código ejecutable (no mostrado) y genera código intermedio de una estructura conocida en una sección de código intermedio 142 del módulo 14. El post-enlazador 20, adicionalmente analiza de una manera conocida la información en la tabla de símbolo 122 del módulo objeto 12, y genera una sección de datos 144 incluyendo datos representando una imagen de los datos en la tabla de símbolo 122 como serían almacenados en una memoria cuando el código de programa contenido en la sistema de sección de código 142 el módulo 14 sea ejecutado en una posición remota. El módulo 14 (y todos los demás módulos, no mostrados) son transmitidos a la pluralidad de posiciones remotas vía el enlace de transmisión 30. El enlace de transmisión 30 consiste de elementos conocidos tales como adaptadores de salida acoplados al conductor del sistema del sistema de computadora de posición central, programadores, formadores de paquetes, mutiplexores, enlaces ascendentes de satélite de RF, respondedores de satélite, enlaces descendentes de satélite de RF, desmultiplexores, y adaptadores de entrada acoplados a un conductor del sistema de un sistema de computadora en la posición remota (ninguno de los cuales se muestra). El enlace de transmisión opera de una manera conocida para transferir el módulo 14 desde la posición central a la posición remota como sea requerido. En un sistema de televisión interactivo, la posición central también contiene una fuente de señales de audio y vídeo de televisión para acompañar el programa de computadora representado por el módulo 14 (y todos los demás módulos, no mostrados). Las señales de audio y vídeo de televisión son formadas en paquetes y multiplexadas junto con el módulo 14 para formar una señal de televisión interactiva compuesta. Esta señal compuesta es transmitida a todas las posiciones remotas, por ejemplo, vía un enlace de satélite de una manera conocida. Las posiciones remotas tienen receptores incluyendo detectores para detectar/proporcionar esta señal compuesta, y por ejemplo, procesadores de transporte inverso para desmultiplexar el o los módulos de las señales de audio y vídeo de televisión . Las señales de audio y vídeo de televisión son procesadas de una manera conocida y presentadas a sistemas que pueden utilizar estas señales. Por ejemplo, las señales de audio y vídeo de televisión pueden ser suministradas a un receptor de televisión o una reproductora de vídeo casetes en una posición del suscriptor. Además, es adicionalmente posible para el sistema de computadora de posición remota ejecutar el programa de computadora representado por el o los módulos, y, como resultado de la ejecución del programa, generar señales de vídeo de imagen y señales de audio de sonido. Estas señales de audio y vídeo generadas por computadora se pueden combinar con las señales de audio y vídeo de televisión , respectivamente para generar una presentación combinada de multimedia de computadora/televisión . Adicionalmente, es posible para un usuario interactuar con el programa de computadora ejecutándose (por ejemplo, mediante el uso de una unidad de control remoto) para interactuar con la presentación de multimedia exhibida. Los expertos en la técnica del diseño de sistemas de televisión interactiva comprenderán cómo se puede realizar todo lo anterior. Como se describió anteriormente, cada posición remota tiene un sistema de computadora incluyendo una unidad de procesamiento central 70, una RAM 50, una ROM 60, y varios dispositivos de entrada y salida (no mostrados), todos acoplados conjuntamente de una manera conocida vía un conductor del sistema (no mostrado), y operando de una manera conocida. Un dispositivo de entrada (no mostrado) acopla la salida del enlace de transmisión 30 al conductor del sistema. U na rutina de procesamiento del cargador 40, ejecutando en la unidad de procesamiento central, controla la operación de este dispositivo de entrada. Cuando un módulo deseado es recibido desde el enlace de transmisión 30, el cargador 40 transfiere la sección de código 52 y la sección de datos 54 a la RAM 50. Cuando el módulo recibido ha sido transferido completamente a la RAM 50, una rutina de intérprete 62, almacenada permanentemente en la ROM 60, accesa el código intermedio (arriba descrito) en la sección de código 52, y lo ejecuta interpretándolo de una manera conocida. Algunas instrucciones en la sección de código 52 se referirán a los datos almacenados en la sección de datos 54. Al ejecutar estas instrucciones, el intérprete 62 accesa los datos deseados en la sección de datos 54 y ejecuta el programa. Es bien conocido que los intérpretes son medios muy lentos para ejecutar programas. Aunque la velocidad no es siempre importante, existen funciones para las cuales es deseable. Para realizar dichas funciones, el sistema de computadora en la posición remota incluye una biblioteca 64 de rutinas codificadas en el código activo de la unidad de procesamiento central en la posición remota. Sin embargo, como se describió anteriormente, las unidades de procesamiento central respectivas en diferentes posiciones remotas pueden operar de conformidad a diferentes formatos "endian". Es decir, algunas unidades de procesamiento central remotas pueden operar de acuerdo al formato "big endian", mientras que otras pueden operar de acuerdo al formato "little endian". Si la sección de datos es generada y transportada en uno de los formatos "endian", por ejemplo en el formato "big endian", las bibliotecas nativas 64 para unidades de procesamiento central remotas operando de acuerdo al formato "big endian" pueden accesar unidades de datos más largas almacenadas en la sección de datos 54 usando directamente las instrucciones nativas de escritura y lectura de múltiples bytes más eficientes disponibles. Pero las bibliotecas nativas 64 de las unidades de procesamiento central remotas operando de acuerdo al formato "little endian" deben accesar unidades de datos más largas un byte a la vez, y reconfigurar los bytes intercambiándolos del formato "big endian" al formato "little endian" antes de que los datos mismos puedan ser procesados. Esto agrega sobrecarga sustancial a estas rutinas, las cuales se deben ejecutar lo más rápido posible. De conformidad con los principios de la presente invención, el módulo 14, generado en la posición central, incluye adicionalmente una sección de intercambio 146. La sección de intercambio 146 incluye datos indicando donde, dentro de la sección de datos 144 se almacenan las unidades de datos más largas. El post-enlazador 20, mientras analiza la tabla de símbolo 122 en el archivo objeto 12, puede determinar en donde en la sección de datos estas unidades de datos más largas son almacenadas. El post-enlazador 20, cuando identifica una unidad de datos más larga, hace una entrada en una tabla para indicar la posición relativa dentro de la sección de datos 144 en la cual reside la unidad de datos más larga. Cuando el archivo objeto 12 ha sido analizado completamente, los datos representando esta tabla son almacenados en la sección de intercambio 146 del módulo 14, y transmitidos en el enlace de transmisión 30 a las posiciones remotas junto con la sección de código intermedia 142 y la sección de datos 144. En la modalidad ilustrada, los datos son almacenados en la sección de datos 144 en el formato "big endian", exclusivamente. La sección de intercambio 146 contiene datos indicando en donde, en la sección de datos 144 son almacenadas las unidades de datos más largas. En la posición remota, el cargador 40 almacena la sección de código 52, la sección de datos 54 y la sección de intercambio 56 del módulo recibido en la RAM 50. Si la unidad de procesamiento central en la posición remota opera de acuerdo al formato "big endian", entonces las posiciones de la RAM 50 conteniendo la sección de intercambio 56 no se necesitan, y pueden ser liberadas para ser usadas para otros propósitos. Entonces, el cargador 40 puede reportar la terminación de su función, y el intérprete 62 y la biblioteca nativa 64 pueden cada uno accesar los datos en el formato "big endian" usado por la unidad de procesamiento central remota. Si, por otro lado, la unidad de procesamiento central en la posición remota opera de acuerdo con el formato "little endian", entonces el cargador 40, antes de terminar su proceso, analiza los datos en la sección de intercambio 56. En cada posición dentro de la sección de datos 54 la cual la sección de intercambio 56 indica que contiene una unidad de datos más larga, el cargador 40 intercambia los bytes de esta unidad de datos, convirtiendo así esa unidad de datos al formato "little endian" del formato "big endian". Después que todas las unidades de datos más largas han sido convertidas al formato "little endian", las posiciones de la RAM 50 conteniendo la sección de intercambio 56 ya no se necesitan y pueden ser liberadas para ser usadas para otros propósitos. Entonces el cargador 40 puede reportar la terminación de su función, permitiendo al intérprete 62 y a la biblioteca nativa 64 comenzar su ejecución . Debido a que todos los datos en esta posición remota están ahora en el formato "little endian", las rutinas en la biblioteca nativa 64 pueden operar usando la instrucción nativa de escritura y lectura de múltiples bytes más eficiente disponible. Un sistema de televisión interactivo de conformidad con la presente invención, permite que las unidades de procesamiento central en posiciones remotas operando en los formatos "big endian" y "little endian" accesen datos transmitidos en sus modos nativos, sin requerir la transmisión de los datos dos veces desde la posición central , una vez en formato "big endian" y una segunda vez en formato "little endian". Todo lo que se requiere es la generación de una pequeña sección de intercambio en cada módulo por una rutina de post-enlazador en la posición central; y un paso adicional en la rutina del cargador de las posiciones remotas conteniendo unidades de procesamiento central operando en el formato "endian" diferente del de los datos transmitidos, para intercambiar las unidades de datos más largas antes de la terminación de la carga. La Figura 2 es un diagrama de configuración de memoria ilustrando la configuración de una sección de datos 144, y secciones de datos de intercambio correspondientes alternativas 146a y 146b . En la Figura 2, la sección de datos 144 es ilustrada como una columna en la mitad de la figura. Cada variable es ilustrada como un rectángulo dentro de esta columna con el tamaño del rectángulo correspondiendo al tamaño de la variable. Específicamente, cada una de las dos variables superiores es una variable de byte; la tercera variable es una variable de palabra, ilustrada como consistiendo de dos bytes consecutivos; la cuarta variable es una variable de byte; la quinta variable es una variable de palabra larga, ilustrada como consistiendo de cuatro bytes consecutivos; la sexta variable es una variable de byte; y la séptima variable es una variable de palabra, ilustrada como consistiendo de dos bytes consecutivos. Por supuesto que puede haber otras variables en la sección de datos 144, que pueden ser variables de byte, variables de palabra o variables de palabra larga. La columna en el lado de la izquierda de la figura ilustra una primera implementación de una sección de datos de intercambio 146a. En esta implementación, hay una entrada para cada variable en la sección de datos 144, en el orden que aparecen en la sección de datos, cada entrada indicando el tamaño de la variable correspondiente. En la sección de intercambio 146a, existen siete entradas correspondientes a las siete variables ilustradas en la sección de datos 144. Los contenidos de cada entrada son ilustrados por una letra para indicar el tipo de la variable correspondiente. Específicamente, las primeras dos entradas contienen la indicación "B" para indicar que las primeras dos variables son variables de byte. La siguiente entrada contiene la indicación "W" para indicar que la tercera variable es una variable de palabra. La siguiente entrada contiene la indicación "B" para indicar que la cuarta variable es una variable de byte. La siguiente entrada contiene la indicación "L" para indicar que la quinta variable es una variable de palabra larga, y así sucesivamente. Como se puede ver, en esta implementación hay tres posibles longitudes para una variable (B, W o L), de manera que la longitud puede ser representada por dos bits, y cuatro de tales indicaciones pueden ser empacadas dentro de un solo byte. Alternativamente, sólo la posición de las unidades de datos más largas dentro de la sección de datos puede ser contenida en la sección de intercambio. Esto se ilustra en la sección de intercambio 146b ilustrada en el lado derecho de la Figura 2. En la porción ilustrada de la sección de datos 144, hay tres unidades de datos más largas en la sección de datos 144 que se necesitarían intercambiar de un formato "endian" al otro. Cada entrada en la sección de intercambio ilustrada en 146b, contiene un valor de desplazamiento que apunta a la posición dentro de la sección de datos 144 de una unidad de datos más larga, y un tipo de esa unidad. Específicamente, la primera entrada en la sección de intercambio 146b contiene un indicador a la posición de la tercera variable, y una indicación de que es una variable de palabra (dos bytes). La siguiente entrada indica a la quinta variable en la sección de datos 144, y contiene una indicación de que esa variable es una variable de palabra larga (cuatro bytes) . La siguiente entrada indica a la séptima variable, y contiene una indicación de que esa variable es una variable de palabra (dos bytes). Cada entrada en una sección de intercambio de acuerdo con esta implementación debe ser suficientemente grande para contener el indicador de desplazamiento a la posición dentro de la sección de datos, y la indicación del tipo en esa posición . Pero existen entradas sólo para las unidades de datos más largas, no cada unidad de datos. Alternativamente, puede haber listas separadas para cada tipo de variable; es decir, una lista para las variables de palabra y una lista separada para las variables de palabra larga. Cada entrada en cada dicha lista necesita contener sólo el indicador de desplazamiento a la posición de la variable en la sección de datos 144. En cualquiera de tales implementaciones, el post-enlazador 20 (de la Figura 1 ) analiza la tabla de símbolo, y genera la sección de intercambio 146 para identificar las posiciones en la sección de datos 144 de las unidades de datos más largas como se describió anteriormente. El cargador 40, primero carga la sección de intercambio 56 entonces, si es necesario cambiar el formato "endian" de las unidades de datos más largas en la sección de datos 54, recorre los datos en la sección de intercambio 56, identifica las posiciones en la sección de datos 54 de las unidades de datos más largas, e intercambia los bytes en esas posiciones. Para una sección de intercambio como la ilustrada en 146a, toda la sección de datos 144 es explorada, y si la entrada en la sección de intercambio 146a indica que la posición contiene una unidad de datos más larga (una variable de palabra o de palabra larga) esos bytes son intercambiados. Para la sección de intercambio como la ilustrada en 146b, cada entrada en la sección de intercambio es procesada intercambiando los bytes en la posición indicada en la sección de datos 144. En los lenguajes de programación modernos, las variables son generalmente variables complejas formadas desde las variables de byte básico, palabra, y palabra larga, arriba descritas, y configuradas en estructuras, matrices, matrices de estructuras, y/o estructuras conteniendo matrices. Tales configuraciones de datos dan como resultado repeticiones de datos del mismo tipo, o repeticiones de patrones de tipos de datos. El tamaño de la sección de intercambio puede ser reducida mediante codificación especial para permitir la representación eficiente de tipos de variables repetidas, o patrones de variables. La Figura 3, es un diagrama de configuración de memoria ilustrando la codificación de porciones respectivas de una sección de intercambio 146, de conformidad con la presente invención. La configuración de la sección de intercambio 146 ilustrada en la Figura 3, corresponde a la sección de intercambio 146a (de la Figura 2) en la cual hay una entrada en la sección de intercambio para cada byte en la sección de datos. La compresión adicional se logra en una sección de intercambio 146, como la ilustrada en la Figura 3, tomando ventaja de la repetición de datos del mismo tipo y repeticiones de patrones de tipos de datos. En la Figura 3, las posiciones remotas contienen unidades de procesamiento central que tienen tres tipos variables básicos: byte, palabra y palabra larga; y los cuales requieren que las unidades de datos más largas (palabra y palabra larga) sean alineadas. Esto significa que las variables de byte pueden ser almacenadas en cualquier posición dentro de la memoria, las variables de palabra sólo pueden ser almacenadas en posiciones de byte que tienen direcciones nones, y las variables de palabra larga sólo pueden ser almacenadas en posiciones de byte que tiene direcciones divisibles entre cuatro. Dichas configuraciones son bien conocidas, y serán comprendidas por los expertos en la técnica del diseño de sistemas de computadora. Las palabras largas especiales, llamadas indicadores, son designados separadamente "P" en la Figura 3. Los indicadores son construcciones de programación bien conocidas, y son tratados espacialmente durante el proceso de carga. Tienen el mismo tamaño que las palabras largas, es decir, cuatro bytes, deben ser almacenadas sólo en posiciones de byte que tengan direcciones divisibles entre cuatro, y se deben intercambiar sus bytes si es necesario para cambiar el formato "endian". Además, su valor se debe cambiar para reflejar la posición absoluta en la RAM de la posición remota en la cual la sección de datos es almacenada, un proceso conocido como reposicionamiento. El proceso de reposicionamiento es bien conocido, y no será descrito con más detalle aquí. La configuración de datos en la sección de datos es representada en la sección de intercambio 146 como una serie de bytes codificados en la manera abajo descrita. El esquema para codificar una sección de intercambio 146 ilustrada en la Figura 3 considera primero la sección de datos (no mostrada) siendo dividida en palabras largas alineadas. La Figura 3 incluye una tabla 202 en la parte superior izquierda indicando las únicas configuraciones permisibles de variables de byte (designadas "B"), variables de palabra alineadas (designadas "W") y variables de palabra larga alineadas (designadas "L" para palabras largas o "P" para indicadores) dentro de una palabra larga alineada en memoria. Las direcciones en el lado izquierdo de la tabla 202 son ilustrativas de direcciones alineadas de palabras largas (divisibles entre cuatro) en la sección de datos, y no tienen la intención de indicar la dirección real en la sección de datos. Como se puede ver, existen seis configuraciones permisibles de variables dentro de una palabra larga alineada. La entrada superior, numerada "0" en el lado derecho, ilustra que una palabra larga alineada puede contener cuatro variables de byte separadas (B). La segunda entrada, numerada "1 ", ilustra que una palabra larga alineada puede contener dos variables de byte (B) seguidas por una variable de palabra (W). La tercera entrada, numerada "2", ilustra que una palabra larga alineada puede contener una variable de palabra (W) seguida por dos variables de byte (B). La cuarta entrada, numerada "3", ilustra que una palabra larga alineada puede contener dos variables de palabra (W). La quinta entrada, numerada "4", ilustra que una palabra larga alineada puede contener una variable de palabra larga (L); y la sexta entrada, numerada "5", ilustra que una palabra larga alineada puede contener un indicador (P). Ninguna otra configuración es permisible. Haciendo referencia a la Figura 3a, una palabra larga alineada en la sección de datos puede ser representada por una entrada en la sección de intercambio 146. El número en el lado derecho de la entrada en la tabla 202, representando el patrón de variables dentro de dicha palabra larga alineada, esta codificado de manera binaria en tres bits en una manera conocida. Estos tres bits son insertados en los tres bits más significativos (bits 7:6:5) 206 de la entrada 204 en la sección de intercambio 146 correspondiendo a esa palabra larga alineada. Una medida de compresión se logra en la sección de intercambio permitiendo que cada entrada 204 en la sección de intercambio represente un número de palabras largas alineadas consecutivas en memoria, conteniendo cada una el mismo patrón de variables. Los bits restantes (bits 4:3:2 : 1 :0) 208 contienen un valor numérico codificado binario N representando un número de repeticiones del patrón representado por los tres bits más significativos. El valor numérico N puede tener un valor de 0 a 31. Este valor numérico N representa el número de repeticiones del patrón - 1 . Un valor numérico N de "0" representa un valor de repetición de 1 , es decir, una sola ocurrencia del patrón 206 en la sección de datos. Un valor numérico N de "1 " representa un valor de repetición de 2 , y un valor numérico N de "31 " representa un valor de repetición de 32. De manera que, el número de repeticiones del patrón representado por el valor codificado binario 206 que puede ser representado por una sola entrada de byte 204 en la sección de intercambio 146 puede correr de 1 a 32. Como se describió anteriormente, las variables en un programa pueden ser combinaciones complejas de los tipos de datos básicos, incluyendo estructuras, matrices, matrices de estructuras y/o estructuras conteniendo matrices. Estas combinaciones complejas son construidas de secuencias de tipos de datos básicos configurados en una manera específica. Los valores binarios no utilizados para codificar patrones de la tabla 202, es decir, "6" y "7" , son usados para codificar secuencias de tipos de datos básicos, y repeticiones de patrones definidos previamente, respectivamente, tal como puede resultar de las instancias repetidas de dichas estructuras y matrices. La Figura 3b ilustra la codificación de una porción de la sección de intercambio 146 representando una secuencia repetitiva de patrones de la tabla 202. Cuando una secuencia de este tipo es identificada (por ejemplo de la tabla de símbolo 122 por el post- enlazador 20 de la Figura 1 ) , un valor codificado de manera binaria de "6" es colocado en los tres bits más significativos (7:6:5) de un primer byte 210 en la sección de intercambio 146 para indicar que esta entrada en la sección de intercambio 146 representa una secuencia, y no un patrón de tipos de datos básicos, como en la Figura 3a. Como en la Figura 3a, los cinco bits menos significativos en el primer byte 210 es un valor codificado binario N representando el número de repeticiones de la secuencia especificada. En este caso, el valor numérico N codificado binario, representa el número de repeticiones - 2 de la secuencia. De manera que, el número de repeticiones de la secuencia identificada puede correr de 2 a 33. El siguiente byte 212 en la sección de intercambio contiene la longitud - 1 de la secuencia en la sección de intercambio 146 y está determinado de una manera que se describirá a continuación. Siguiendo la longitud de secuencia el byte 212 es una serie de bytes 214, codificada como se describió anteriormente con respecto a la Figura 3a. El número de bytes en la serie 214 es determinado y un número N igual al número de bytes - 1 en la serie es codificado de manera binaria e insertado en el byte de la longitud de secuencia 212 , como se describió anteriormente. Cuando se define una estructura compleja, por ejemplo en la tabla de símbolo 122 (de la Figura 1 ) la configuración de tipos de datos básica necesaria para representar esa estructura puede ser determinada por el post-enlazador 20. Cada vez que una instancia de tal estructura de datos es definida en la tabla de símbolo 122, se realiza una entrada como la ilustrada en la Figura 3b en la sección de intercambio 146. Una matriz de tales estructuras puede ser representada por un número de repeticiones de esa estructura de datos, especificada por un número codificado binario N representando el número de repeticiones - 2, como se describió anteriormente. Si, otra instancia de tipo de datos es definida más tarde en la tabla de símbolo 122 (de la Figura 1 ) , entonces, en lugar de reinsertar la entrada de secuencia previamente insertada como en la Figura 3b, una entrada separada , denominada entrada de indicador posterior, es insertada en la sección de intercambio 146 haciendo referencia de regreso a la entrada de secuencia previa. La Figura 3c ilustra la codificación de una entrada de indicador posterior. En una entrada de indicador posterior, un valor binario "7" es codificado en los tres bits más significativos del primer byte 216. Como en la Figura 3a y la Figura 3b, los cinco bits menos significativos del primer byte 216 contienen un número codificado binario N representando el número de repeticiones de la secuencia previamente definida representada por la entrada de indicador posterior. En la Figura 3c, el número N es el número de repeticiones - 2, y representa un número de repeticiones de 2 a 33. El siguiente byte 218 representa un desplazamiento en la sección de intercambio 146 de regreso a la entrada de secuencia previamente insertada, como se describe en la Figura 3b. El desplazamiento representa el número de bytes entre la entrada de indicador posterior actual, y la entrada de secuencia previamente definida. Este desplazamiento indica al byte de longitud de secuencia 212 en la entrada de secuencia previamente definida, como se ilustra mediante la flecha desde el byte de desplazamiento del indicador posterior 218 en la Figura 3c al byte de longitud de secuencia 212 en la Figura 3b. Usando el esquema de codificación ilustrado en la Figura 3, las posiciones de los tipos de datos básicos: bytes, palabras y palabras largas dentro de la sección de datos; pueden ser determinados fácilmente mediante el cargador 40 (de la Figura 1 ) recorriendo las entradas en la sección de intercambio 146. Las unidades de datos más largas: palabras, palabras largas e indicadores, se pueden encontrar e intercambiar en bytes, si esto es necesario para cambiar el formato "endian" de esas unidades de datos. La Figura 4 es un diagrama de configuración de memoria ilustrando un ejemplo de una sección de datos 144 y la correspondiente sección de intercambio 146 codificada de conformidad con la Figura 3. En la Figura 4, las porciones de la sección de datos son ilustradas en el lado derecho de la figura, y las secciones correspondientes de la sección de intercambio 146 están ilustradas en el lado izquierdo de la figura. Los bytes que forman las entradas en la tabla de intercambio se ilustran como rectángulos horizontales. Algunos de los bytes están divididos lógicamente en porciones, indicadas mediante líneas verticales dentro de los rectángulos. Los bits comprendiendo cada porción se ilustran arriba de la sección de intercambio 146. Cada rectángulo horizontal en la sección de datos 144 corresponde a una palabra larga alineada en memoria que contiene cuatro bytes. Estos bytes, B 1 , B2 , B3, y B4 son ilustrados arriba de la sección de datos 144. Las direcciones en la izquierda de cada una de las primeras seis palabras largas alineadas tienen el propósito de ilustrar sólo que las palabras largas están alineadas, y no para indicar una posición absoluta en la sección de datos. La configuración de los tipos de variable básicos dentro de cada palabra larga alineada ilustrada es indicada por una "B" para una variable de byte; una "W" para una variable de palabra, consistiendo de dos bytes adjuntos; una "L" para una variable de palabra larga, consistiendo de cuatro bytes adjuntos; una "P" para un indicador, también consistiendo de cuatro bytes adjuntos. Las primeras seis palabras largas alineadas en la sección de datos 144 de la Figura 4, contienen variables en los mismos patrones de tipos de datos básicos como los ilustrados en la tabla 202 en la Figura 3a. Las designaciones "0" a "5" en la derecha de las primeras seis palabras largas, son el número en el patrón en la palabra larga correspondiente, también como se ilustra en la tabla 202. La primera entrada en la sección de intercambio 146 corresponde a la primera palabra larga alineada en la sección de datos 144. Esa palabra larga alineada está en la dirección 0x0000, y contiene cuatro variables de bytes "B". La representación codificada binaria para este patrón es "O", la cual es codificada en los tres bits más significativos, 7:6: 5. Sólo hay un patrón consecutivo, de manera que el número de repeticiones es 1 . El número N , codificado en los cinco bits menos significativos, 4:3:2: 1 : 0, es el número de repeticiones (1 ) - 1 , ó 0. Las siguientes cinco entradas en la sección de intercambio 146 corresponden a las siguientes cinco palabras largas alineadas en la sección de datos 144 y están codificadas similarmente. La siguiente entrada ilustrada en la sección de intercambio 146 corresponde a un patrón en la sección de datos 144 que es repetida tres veces. En este caso, el patrón repetido es una variable de palabra W seguida por dos variables de byte consecutivas B. Este patrón es representado por un valor codificado binario "2", como el ilustrado en la tabla 202 de la Figura 3. El valor codificado binario "2" es almacenado en los tres bits más significativos 7:6: 5. El número de repeticiones, en este caso es tres. El número N , codificado en los cinco bits menos significativos, 4:3:2: 1 : 0. Es el número de repeticiones (3) - 1 ó 2. La siguiente entrada ilustrada en la sección de intercambio 146 consiste de cinco bytes consecutivos y representa una secuencia repetida de patrones. Esta secuencia consiste de dos palabras largas alineadas consecutivas conteniendo el mismo patrón: una variable de palabra W seguida por dos variables de bytes consecutivas B. Esto es seguido por una palabra larga alineada conteniendo el patrón de dos variables de palabras consecutivas W; y esto es seguido por una palabra larga alineada conteniendo el patrón de una variable de palabra larga L. Esta secuencia es repetida dos veces. En la entrada correspondiente en la sección de intercambio 146, el primer byte contiene un valor binario "6" en sus tres bits más significativos 7:6: 5, como en la Figura 3b. Los cinco bits menos significativos están codificados con un número N , igual al número de repeticiones de la secuencia -2, como se ilustra en la Figura 3b. En este caso, el número N es el número de repeticiones (2) - 2, ó 0. El siguiente byte contiene el número binario codificado de entradas representando la longitud de la secuencia - 1. En este caso, existen tres entradas siguientes describiendo la secuencia (como se describirá a continuación), de manera que el valor almacenado en el byte de longitud de secuencia es el número de entradas (3) - 1 , ó 2. Los tres siguientes bytes describen la secuencia en sí, codificada como se ilustra en la Figura 3a. La secuencia ilustrada en la sección correspondiente de la sección de datos 144 comienza con dos palabras largas alineadas consecutivas, conteniendo cada una el patrón de una variable de palabra W seguida por dos variables de bytes B. Esto es dos repeticiones del patrón numerado 2. De manera que, el primer byte describiendo la secuencia en la sección de intercambio 146 tiene un 2 en los tres bits más significativos 7:6:5, y un 1 (número de repeticiones (2) - 1 ) en los cinco bits menos significativos 4:3:2: 1 :0. La siguiente palabra larga alineada en la secuencia en la sección de datos 144 contiene el patrón de dos variables de palabras consecutivas W. Esto es una repetición del patrón numerado 3. El byte describiendo este patrón en la sección de intercambio 146 tiene un 3 en los tres bits más significativos 7:6:5, y un 0 en los cinco bits menos significativos 4:3:2: 1 :0. La palabra larga alineada final en la secuencia en la sección de datos 144 contiene el patrón de una variable de palabra larga sencilla L. Esto es una repetición del patrón numerado 4. El byte describiendo este patrón en la sección de intercambio 146 tiene un 4 en los tres bits más significativos 7:6:5, y un 0 en los cinco bits menos significativos 4:3:2: 1 :0. La siguiente entrada ilustrada en la sección de intercambio 146 consiste de dos bytes, y representa tres repeticiones de la secuencia recién descrita en la sección de datos 144. Esta entrada en la sección de intercambio 146 comienza con un byte conteniendo un "7" en los tres bits más significativos 7:6:5. Los cinco bits menos significativos 4:3:2: 1 :0 contienen el número de repeticiones (3) -2, ó 1. El siguiente byte contiene un desplazamiento representando un indicador posterior al byte de longitud de secuencia de la entrada en la sección de intercambio 146 en la cual la secuencia fue descrita originalmente, ilustrada mediante una flecha al byte de longitud de secuencia (conteniendo 2) en la entrada previamente ilustrada en la sección de intercambio 146. De esta manera, el tipo de variable contenida en cada byte en la sección de datos 144 es representada por una entrada correspondiente en la sección de intercambio 146. La sección de intercambio 146 puede ser generada por el post-enlazador 20 (de la Figura 1 ), como se describió anteriormente, analizando la tabla de símbolo 122 y generando entradas en la sección de intercambio 146 representando los tipos de datos variables básicos conformando las variables referidas en la tabla de símbolo 122. La sección de intercambio 56 recibida puede ser analizada por el cargador 40 y las unidades de datos más largas en la sección de datos recibida 54 posicionada e intercambiada en byte, si es necesario, para convertirlas al formato "endian" adecuado.

Claims (20)

  1. REIVI N DICACION ES 1 . Un sistema de transmisión de multimedia incluyendo un sistema de computadora distribuido, caracterizado por: una computadora de posición central para generar señal representando un módulo incluyendo: una sección de datos, comprendiendo una pluralidad de unidades de datos, cada unidad de datos siendo una de una unidad de datos mínima direccionable y una unidad de datos más larga, cada unidad de datos más larga comprendiendo una pluralidad de unidades de datos mínimas direccionables; y una sección de intercambio, comprendiendo datos identificando posiciones de unidades de datos más largas dentro de la sección de datos; un sistema de computadora de posición remota, que responde a la señal representativa del módulo, y conteniendo un cargador para extraer el módulo e intercambiar las unidades de datos mínimas direccionables de unidades de datos más largas en la sección de datos en posiciones identificadas por los datos en la sección de intercambio; y un enlace de transmisión, para transmitir la señal representativa del módulo desde un sistema de computadora de posición central al sistema de computadora de posición remota.
  2. 2. El sistema de transmisión de multimedia de la reivindicación 1 , caracterizado porque: la pluralidad de unidades de datos mínimas direccionables en una unidad de datos más larga es configurada en un orden predeterminado en la sección de datos; y el cargador intercambia las unidades de datos mínimas direccionables de las unidades de datos más largas invirtiendo el orden de las unidades de datos mínimas direccionables.
  3. 3. El sistema de transmisión de multimedia de la reivindicación 1 , caracterizado porque el enlace de transmisión comprende: un transmisor en el sistema de computadora de posición central; un receptor en el sistema de computadora de posición remota; y un enlace de satélite, acoplado entre el transmisor y el receptor.
  4. 4. El sistema de transmisión de multimedia de la reivindicación 1 , caracterizado porque: la posición central adicionalmente comprende una fuente de señales de audio y vídeo de televisión y el transmisor adicionalmente comprende un multiplexor para combinar la señal representativa del módulo con las señales de audio y vídeo de televisión para formar una señal compuesta interactiva/audio/vídeo; y la posición remota adicionalmente comprende un desmultiplexor para separar las señales de audio y vídeo de televisión y el módulo de la señal compuesta recibida interactiva/audio/vídeo, y medios de utilización para las señales de audio y vídeo de televisión.
  5. 5. U n receptor incluyendo un sistema de computadora de posición remota, caracterizado por: una fuente de un módulo de señal incluyendo: una sección de datos, comprendiendo una pluralidad de unidades de datos, cada unidad de datos siendo una de una unidad de datos mínima direccionable y una unidad de datos más larga, cada unidad de datos más larga comprendiendo una pluralidad de unidades de datos mínimas direccionables; y una sección de intercambio, comprendiendo datos identificando posiciones de unidades de datos más largas dentro de la sección de datos; y un programa cargador residente en una computadora de posición remota para condicionar la mencionada computadora de posición remota para intercambiar las unidades de datos mínimas direccionables de unidades de datos más largas en la sección de datos en posiciones identificadas por los datos en la sección de intercambio.
  6. 6. El receptor establecido en la reivindicación 5, caracterizado porque la fuente de módulo de señal comprende un detector acoplado a un enlace de transmisión , para detectar una señal incluyendo el módulo de señal.
  7. 7. El receptor establecido en la reivindicación 5, caracterizado porque. la señal recibida adicionalmente incluye señales de audio y vídeo de televisión multiplexadas; y el sistema adicionalmente comprende un desmultiplexor para separar módulos de señal de las señales de audio y vídeo de televisión y medios de utilización para las señales de audio y vídeo de televisión recibidas.
  8. 8. El receptor establecido en la reivindicación 5, caracterizado porque: una unidad de datos mínima direccionable es una variable de byte; una unidad de datos más larga es una de una variable de palabra consistiendo de dos bytes, y una variable de palabra larga consistiendo de cuatro bytes; las unidades de datos son almacenadas en la sección de datos en una manera alineada en palabras largas alineadas consecutivas; y la sección de intercambio comprende una pluralidad de entradas, cada entrada incluyendo una porción conteniendo datos identificando un patrón de unidades de datos dentro de una palabra larga alineada correspondiente en la sección de datos.
  9. 9. El receptor establecido en la reivindicación 8, caracterizado porque la sección de intercambio adicionalmente comprende una pluralidad de entradas identificando unidades de datos en una secuencia de palabras largas alineadas en la sección de datos.
  10. 10. El receptor establecido en la reivindicación 9, caracterizado porque cada entrada representativa de repetición de secuencia comprende una entrada conteniendo datos representando un desplazamiento de indicador posterior a la entrada representativa de la secuencia previa, y dicho cargador responde a los mencionados indicadores posteriores para intercambiar las unidades de datos mínimas direccionables de las unidades de datos en la sección de datos en posiciones identificadas por la secuencia respectiva.
  11. 1 1 . El receptor establecido en la reivindicación 8, caracterizado porque un patrón de unidades de datos dentro de una palabra larga alineada comprende uno de: cuatro variables de bytes consecutivas; dos variables de bytes consecutivas seguidas por una variable de palabra; una variable de palabra seguida por dos variables de bytes consecutivas; dos variables de palabras consecutivas; y una variable de palabra larga.
  12. 12. En un sistema de transmisión de multimedia, un sistema de computadora de posición central, caracterizado por: una fuente de datos de programa de computadora; un post-enlazador, acoplado a la fuente de datos de programa de computadora, para explorar dichos datos de programa y generar un módulo de datos comprendiendo: una sección de datos, comprendiendo una pluralidad de unidades de datos, cada unidad de datos siendo una de una unidad de datos mínima direccionable y una unidad de datos más larga, cada unidad de datos más larga comprendiendo una pluralidad de unidades de datos mínimas direccionables; y que responde al formato de datos en la sección de datos, generando una sección de intercambio, comprendiendo posiciones de identificación de datos de unidades de datos más largas dentro de la sección de datos.
  13. 13. El sistema de transmisión de multimedia establecido en la reivindicación 12, caracterizado adicionalmente por un transmisor, acoplado a un enlace de transmisión , para transmitir el módulo de datos.
  14. 14. El sistema de transmisión de multimedia establecido en la reivindicación 13, caracterizado adicionalmente por: una fuente de señales de audio y vídeo de televisión; y un multiplexor, acoplado a la fuente de señal de televisión, y que responde al módulo, para generar una señal compuesta incluyendo el módulo de datos y las señales de audio y vídeo de televisión.
  15. 15. El sistema de transmisión de multimedia establecido en la reivindicación 12, caracterizado porque la fuente de datos del programa de computadora es una tabla de símbolo en un archivo objeto.
  16. 16. En un sistema de transmisión de multimedia incluyendo un sistema de computadora central, un sistema de computadora remoto y un enlace de transmisión acoplado entre el sistema de computadora central y el sistema de computadora remoto, un método para operar el sistema de computadora central caracterizado por los pasos de: generar un archivo objeto conteniendo una tabla de símbolo; explorar el archivo objeto para generar un módulo incluyendo una sección de datos conteniendo una pluralidad de unidades de datos, cada unidad de datos siendo una de una unidad de datos mínima direccionable y una unidad de datos más larga, cada unidad de datos más larga comprendiendo una pluralidad de una unidades de datos mínimas direccionables; explorar la tabla de símbolo para generar una sección de intercambio en el módulo, la sección de intercambio conteniendo datos identificando posiciones de unidades de datos más largas dentro de la sección de datos; generar una señal representando el módulo; y transmitir la señal representativa del módulo al sistema de computadora remoto vía el enlace de transmisión.
  17. 17. El método de la reivindicación 16, en el cual el sistema de computadora central adicionalmente incluye una fuente de una señal de audio y una fuente de señal de vídeo, caracterizado adicionalmente por, después del paso de generar una señal representando el módulo, el paso de multiplexar la señal de audio, la señal de vídeo y la señal representativa del módulo para formar una señal compuesta interactiva/audio/vídeo.
  18. 18. En un sistema de transmisión de multimedia incluyendo un sistema de computadora central generando una señal representando un módulo que incluye una sección de datos comprendiendo una pluralidad de unidades de datos, cada unidad de datos siendo una de una unidad de datos mínima direccionable y una unidad de datos más larga, cada unidad de datos más larga comprendiendo una pluralidad de unidades de datos mínimas direccionables, y una sección de intercambio comprendiendo datos identificando posiciones de unidades de datos más largas dentro de la sección de datos; un sistema de computadora remoto; y un enlace de transmisión acoplado entre el sistema de computadora central y el sistema de computadora remoto, para transmitir la señal representativa del módulo desde el sistema de computadora central al sistema de computadora remoto, un método para operar el sistema de computadora remoto caracterizado por los pasos de: recibir la; señal representativa del módulo extraer la sección de datos de la señal representativa del módulo; extraer la sección de intercambio de la señal representativa del módulo; recorrer los datos en la sección de intercambio; y para cada posición en la sección de datos identificada como conteniendo una de las unidades de datos más largas; intercambiar las unidades de datos mínimas direccionables de una de las unidades de datos más largas.
  19. 19. El método de la reivindicación 18, en el cual la señal generada por el sistema de computadora central es una señal compuesta interactiva/audio/vídeo conteniendo como un componente la señal representativa del módulo y conteniendo adicionalmente componentes representando una señal de vídeo y una señal de audio, caracterizado porque el paso de recibir comprende los pasos de: recibir la señal compuesta interactiva/audio/vídeo; separar el componente de señal de audio, el componente de señal de vídeo, y el componente de la señal representativa del módulo de la señal compuesta; y proporcionar el componente de la señal de audio y el componente de la señal de vídeo a medios de utilización.
  20. 20. El método de la reivindicación 18, en la cual la pluralidad de unidades de datos mínimas direccionables en una área de unidad de datos más larga configurada en un orden en la sección de datos, caracterizada porque el paso de intercambio comprende el paso de invertir el orden de las unidades de datos mínimas direccionables en la unidad de datos más larga.
MX9602530A 1995-06-30 1996-06-28 Aparato para entregar datos formateados a unidades de procesamiento central. MX9602530A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08497492 1995-06-30
US08/497,492 US5778406A (en) 1995-06-30 1995-06-30 Apparatus for delivering CPU independent data for little and big endian machines

Publications (2)

Publication Number Publication Date
MXPA96002530A true MXPA96002530A (es) 1998-04-01
MX9602530A MX9602530A (es) 1998-04-30

Family

ID=23977110

Family Applications (1)

Application Number Title Priority Date Filing Date
MX9602530A MX9602530A (es) 1995-06-30 1996-06-28 Aparato para entregar datos formateados a unidades de procesamiento central.

Country Status (9)

Country Link
US (1) US5778406A (es)
EP (1) EP0751655B1 (es)
JP (1) JP3884102B2 (es)
KR (1) KR100397873B1 (es)
CN (1) CN1158608C (es)
DE (1) DE69626726T2 (es)
MX (1) MX9602530A (es)
SG (1) SG40881A1 (es)
TW (1) TW299408B (es)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6835898B2 (en) * 1993-11-16 2004-12-28 Formfactor, Inc. Electrical contact structures formed by configuring a flexible wire to have a springable shape and overcoating the wire with at least one layer of a resilient conductive material, methods of mounting the contact structures to electronic components, and applications for employing the contact structures
US5778406A (en) * 1995-06-30 1998-07-07 Thomson Consumer Electronics, Inc. Apparatus for delivering CPU independent data for little and big endian machines
US6169742B1 (en) * 1997-02-14 2001-01-02 Advanced Micro Devices, Inc. Multiport data network switch having direct media access control link to external management
KR100313758B1 (ko) * 1997-04-16 2001-12-28 박종섭 패킷데이터스왑장치
US6578193B1 (en) * 1998-03-24 2003-06-10 Novell, Inc. Endian-neutral loader for interpretive environment
US6351750B1 (en) 1998-10-16 2002-02-26 Softbook Press, Inc. Dynamic conversion of byte ordering for use on different processor platforms
US6904609B1 (en) 1999-03-18 2005-06-07 Microsoft Corporation Systems and methods for electronic program guide data services
AU3758600A (en) * 1999-03-18 2000-10-04 Webtv Networks, Inc. Application program interfaces for electronic program guide data services
US6990677B1 (en) 1999-03-18 2006-01-24 Microsoft Corporation Application program interfaces for electronic program guide data services
EP1058193A1 (en) * 1999-05-31 2000-12-06 Deutsche Thomson-Brandt Gmbh Method and apparatus for pre-processing data packets in a bus interface unit
ATE389209T1 (de) 1999-05-31 2008-03-15 Thomson Licensing Verfahren zur vorverarbeitung von datenpaketen in einer busschnittstelle
EP1059590B1 (en) * 1999-05-31 2008-03-12 Thomson Licensing Method for pre-processing packets in a bus interface
US6691307B2 (en) * 1999-08-03 2004-02-10 Sun Microsystems, Inc. Interpreter optimization for native endianness
KR100565042B1 (ko) * 1999-09-10 2006-03-30 삼성전자주식회사 복수개의 디지털 a/v 프로그램에 대한 동시 녹화 및/또는 재생을 위한 장치 및 방법
US6441782B2 (en) 2000-04-14 2002-08-27 Hughes Electronics Corporation Method and system of directing an antenna in a two-way satellite system
US7164661B2 (en) 2000-04-14 2007-01-16 Hughes Networks Systems, Llc System and method for providing a two-way satellite system
US7463582B2 (en) 2000-04-14 2008-12-09 Hughes Network Systems, Llc System and method for scaling a two-way satellite system
US20010048669A1 (en) * 2000-04-14 2001-12-06 Frank Kelly System interfaces in a two-way satellite system
US6650869B2 (en) 2000-04-14 2003-11-18 Hughes Electronics Corporation System and method for managing return channel bandwidth in a two-way satellite system
US6987741B2 (en) 2000-04-14 2006-01-17 Hughes Electronics Corporation System and method for managing bandwidth in a two-way satellite system
US6965581B2 (en) 2000-04-14 2005-11-15 Hughes Electronics Corp. Transceiver in a two-way satellite system
US7031622B2 (en) * 2002-06-07 2006-04-18 Canon Kabushiki Kaisha Memory storing information relating to the condition of a cartridge, and image forming apparatus and cartridge having such memory
US7552427B2 (en) * 2004-12-13 2009-06-23 Intel Corporation Method and apparatus for implementing a bi-endian capable compiler
JP4437464B2 (ja) 2005-06-01 2010-03-24 株式会社ルネサステクノロジ 半導体装置及びデータ処理システム
US8856851B2 (en) * 2008-12-19 2014-10-07 David Marshall Davis Apparatus and method for controlling a network-connected device in one peer network from an infrared device connected to another peer network using TCP/IP and infrared signals
CN102228343B (zh) * 2011-06-30 2013-01-02 苏州托克斯冲压设备有限公司 倾斜式抽屉
CN112835842B (zh) * 2021-03-05 2024-04-30 深圳市汇顶科技股份有限公司 端序处理方法、电路、芯片以及电子终端

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2229832B (en) * 1989-03-30 1993-04-07 Intel Corp Byte swap instruction for memory format conversion within a microprocessor
DE69124437T2 (de) * 1990-08-09 1997-07-03 Silicon Graphics Inc Verfahren und Vorrichtung zum Umkehren von Byteordnung in einem Rechner
US5389963A (en) * 1992-02-05 1995-02-14 Dynacom, Inc. System for selectively interconnecting audio-video sources and receivers
JP3187539B2 (ja) * 1992-07-28 2001-07-11 株式会社東芝 データ転送装置
JPH07505972A (ja) * 1992-12-21 1995-06-29 オリヴェッティ・アドヴァンスト・テクノロジー・センター・インコーポレーテッド 異なるバイト順序を有する要素間の通信を容易にする装置,システム及び方法
KR100319961B1 (ko) * 1993-02-11 2002-04-22 똥송 멀티메디아 에스. 에이. 멀티미디어전송방법및멀티미디어플레이어
US5519842A (en) * 1993-02-26 1996-05-21 Intel Corporation Method and apparatus for performing unaligned little endian and big endian data accesses in a processing system
US5450140A (en) * 1993-04-21 1995-09-12 Washino; Kinya Personal-computer-based video production system
US5524256A (en) * 1993-05-07 1996-06-04 Apple Computer, Inc. Method and system for reordering bytes in a data stream
US5574923A (en) * 1993-05-10 1996-11-12 Intel Corporation Method and apparatus for performing bi-endian byte and short accesses in a single-endian microprocessor
US5563648A (en) * 1994-04-28 1996-10-08 Thomson Consumer Electronics, Inc. Method for controlling execution of an audio video interactive program
US5581706A (en) * 1994-06-30 1996-12-03 Rca Thomson Licensing Corporation Method forming an audio/video interactive data signal
US5928349A (en) * 1995-02-24 1999-07-27 International Business Machines Corporation Mixed-endian computing environment for a conventional bi-endian computer system
US5687337A (en) * 1995-02-24 1997-11-11 International Business Machines Corporation Mixed-endian computer system
US5634013A (en) * 1995-05-03 1997-05-27 Apple Computer, Inc. Bus bridge address translator
US5778406A (en) * 1995-06-30 1998-07-07 Thomson Consumer Electronics, Inc. Apparatus for delivering CPU independent data for little and big endian machines

Similar Documents

Publication Publication Date Title
MXPA96002530A (es) Aparato para entregar datos formateados a unidades de procesamiento central
US5778406A (en) Apparatus for delivering CPU independent data for little and big endian machines
US5870084A (en) System and method for efficiently storing and quickly retrieving glyphs for large character set languages in a set top box
US6564314B1 (en) Computer instruction compression
US6141002A (en) System and method for downloading and rendering glyphs in a set top box
CN1095272C (zh) 处理一种音频视频交互式信号的方法和装置
CA1319997C (en) Specialized communication processor for layered protocols
KR100455011B1 (ko) 정값화처리및포화연산처리로이루어진라운딩처리를적합하게행할수있는프로세서
EP0071028A2 (en) Instructionshandling unit in a data processing system with instruction substitution and method of operation
EP0528020B1 (en) System and method for automatically interfacing call conventions between two dissimilar program units
US6499096B1 (en) VLIW processor for exchanging and inputting sub-instructions to containers, and code compression device and method for compressing program code
EP0317530A2 (en) Sorting method with extended collation functions
CN1112333A (zh) 控制执行音频视频交互程序的方法
CN112511551B (zh) 面向多种类型数据流的通信应用层协议解析方法及系统
WO1997022932A1 (en) Computer implemented method for transferring packed data between register files and memory
US4710867A (en) Vector processing system
GB2057731A (en) Computer system in which the contents of the programme memory are rendered more accessible for investigation and/or modifition
EP1026600A2 (en) Method and apparatus for interfacing with RAM
WO1989009967A1 (en) Computing machine with hybrid communication architecture
US5313632A (en) Method for processing data in a distributed processing system
EP0255857B1 (en) Multiple processor system
US8464235B2 (en) Adaptive production of assembler
US6205546B1 (en) Computer system having a multi-pointer branch instruction and method
EP0145530A2 (en) Arrangement for providing data signals for a data display system
US4714991A (en) Microprogram control apparatus having variable mapping between microinstruction control bits and generated control signals