ES2210371T3 - Estructura de memoria. - Google Patents
Estructura de memoria.Info
- Publication number
- ES2210371T3 ES2210371T3 ES96917795T ES96917795T ES2210371T3 ES 2210371 T3 ES2210371 T3 ES 2210371T3 ES 96917795 T ES96917795 T ES 96917795T ES 96917795 T ES96917795 T ES 96917795T ES 2210371 T3 ES2210371 T3 ES 2210371T3
- Authority
- ES
- Spain
- Prior art keywords
- memory
- information
- block
- buffer
- input
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
Abstract
LA INVENCION HACE REFERENCIA A UNA NUEVA ESTRUCTURA DE MEMORIA ADAPTADA ESPECIALMENTE PARA ALMACENAR VECTORES DE MEMORIA. CADA UNA DE LAS POSICIONES DE ALMACENAMIENTO ( 1, MI- M, MI) DE LA MEMORIA POSEE UNA LONGITUD ADAPTADA A LA LONGITUD DE GRANDES VECTORES Y ESTA DISPUESTA PARALELAMENTE, EXTENDIENDOSE DESDE UNA ENTRADA Y/O SALIDA PARA LA INFORMACION Y MAS ALLA DENTRO DE LA MEMORIA. DE ESTA FORMA, CADA VECTOR SE ALMACENA SIN DIVIDIRSE EN UN ORDEN SECUENCIAL CON EL PRINCIPIO DEL VECTOR EN LA ENTRADA Y/O SALIDA DE LA MEMORIA (CAMPO DE MEMORIA F1 EN PLANO DE MEMORIA MI). EL DIRECCIONAMIENTO SE REALIZA A LA ENTRADA Y/O SALIDA DE LA MEMORIA. EXISTEN DISPOSITIVOS (1IB-MIB, 1UB-MUB) QUE ACTUAN COMO REGISTROS DE DESPLAZAMIENTO PARA LA ENTRADA Y SALIDA DE INFORMACION EN SECUENCIA NO DIVIDIDA A/DESDE LAS POSICIONES DE ALMACENAMIENTO EN LA MEMORIA.
Description
Estructura de memoria.
La presente invención se refiere a una estructura
de memoria del tipo que se enuncia en el preámbulo de la
reivindicación 1.
El desarrollo de memorias se ha producido
simultáneamente al desarrollo de los procesadores informáticos.
Esto significa que el desarrollo de los procesadores ha guiado el
desarrollo de la memoria. En consecuencia, es habitual que la
información de una memoria se dividida de forma arbitraria en
grupos de bits (llamados bytes de ahora en adelante), con un número
fijo de bits, muy a menudo siendo direccionados independientemente
de la anterior información seleccionada. Esto hace que el
decodificador de dirección deba que ser capaz de alcanzar una
posición arbitraria en la memoria dentro de un periodo de acceso
determinado con el objetivo de leer o escribir información en ella.
La velocidad de transferencia de datos es inversamente proporcional
al tiempo de acceso. El tiempo de acceso depende naturalmente del
tipo de tecnología de fabricación utilizada para la memoria. Se usa
la tecnología VLSI (Very Large Scale Integration) y se
intenta minimizar el tamaño y la complejidad de los circuitos. Para
una tecnología dada, el tamaño de la memoria está siempre limitado
por la velocidad de propagación de las señales. Al mismo tiempo
existe también la relación de que, para la arquitectura tradicional,
una mayor área de memoria implica un mayor tiempo de acceso, debido
a que la complejidad del decodificador de dirección aumenta si la
memoria aumenta. La demanda de rapidez en el procesamiento de datos
aumenta constantemente. Puesto que la complejidad del decodificador
de dirección aumenta y la velocidad de propagación es constante,
entonces el espacio de almacenamiento global, es decir, la
superficie direccionable en la que puede almacenarse información,
siempre disminuye con una mayor velocidad del ordenador.
En muchos campos de uso que han llegado a ser de
inmediata importancia en los últimos años, como las
telecomunicaciones, los radares, las memorias de gran capacidad
para ordenadores etc., la información no es manejada en forma de
bytes sino como secuencias de bytes denominadas vectores. En
sistemas modernos de telefonía digital y en paquetes de información
de sistemas de comunicación de datos, se usa el MTA (modo de
transferencia asíncrono). En los radares, la información aparece en
forma de impulsos. Después de la digitalización, el impulso puede
ser considerado como un vector largo, definido por el punto de
inicio y la longitud.
En muchas aplicaciones, se tratan de la misma
manera grandes bloques de bytes conectados, como por ejemplo un
bloque de texto en un procesador de textos. Otro ejemplo son las
memorias de intercambio en ordenadores. Éstas tienen en común que
una gran cantidad de información (vector) es tratada en conjunto.
No se usa un direccionamiento al nivel de bytes.
La patente estadounidense A, 4 747 070 expone una
estructura de memoria adaptada para el almacenamiento de vectores.
La estructura de memoria descrita prevé bancos de memoria M
paralelos. Cada banco de memoria tiene una profundidad de N
palabras. M palabras pueden ser leídas de la memoria a la vez. La
estructura de memoria paralela permite un mayor caudal de
transferencia entre la memoria del sistema y el procesador. Cada
banco de memoria es direccionado por separado.
La patente estadounidense A, 4 858 107 expone una
estructura de memoria que permite la introducción de un esquema de
prioridad entre una unidad de procesamiento central y un procesador
de pantalla de vídeo. La memoria está organizada en bancos o planos
de bits, cada uno con cerrojo de almacenamiento temporal que se
descarga en un registro de desplazamiento respectivo. Cada banco de
memoria o plano de bits está provisto de una dirección
distinta.
Un objeto de la invención es crear una estructura
de memoria que se adapte a los vectores de almacenamiento.
Otro objeto de la invención es crear una
estructura de memoria que proporcione un acceso rápido y continuo a
los lugares de almacenamiento para la lectura y/o escritura de
vectores.
Otro objeto de la invención es crear una
estructura dónde la escritura de un vector pueda realizarse al
mismo tiempo, e independientemente, que la lectura de un
vector.
Otro objeto más de la invención es crear una
estructura de memoria dónde la escritura de un vector pueda tener
lugar casi simultáneamente a la lectura del mismo.
Otro objeto más de la invención es crear una
estructura de memoria dónde el tiempo para la salida de datos
escritos puede ser controlado en el momento preciso.
Y otro objeto de la invención es crear una
estructura de memoria que pueda ser usada como complemento al tipo
habitual de estructura de memoria de un ordenador.
Otro objeto de la invención es crear una
estructura de memoria que permita el tratamiento de un vector
almacenado paralelamente mediante una pluralidad de posiciones de
almacenamiento de vectores con el objetivo de reposicionar el
vector procesado u obtener un resultado de procesamiento.
Los objetivos anteriores se consiguen con una
estructura de memoria con las características enunciadas en la
reivindicación 1. Otras características y otros desarrollos de la
invención se enuncian en el resto de reivindicaciones.
Según la invención, después de la configuración,
cada una de las posiciones de almacenamiento en la memoria tiene
una longitud adaptada a la longitud de los vectores largos que se
disponen en paralelo extendiéndose desde una entrada de información
hacia el fondo de la memoria, de modo que cada vector está
dispuesto para ser almacenado de manera inseparable en orden
consecutivo con el comienzo del vector por la entrada de la memoria,
por lo que el direccionamiento está dispuesto para tener lugar a la
entrada de la memoria. Existen medios que actúan como registros de
desplazamiento para la introducción de la información en orden no
dividido en las posiciones de almacenamiento de la memoria.
La memoria está preferiblemente dividida
transversalmente en bloques de memoria, de modo que todas las
posiciones de almacenamiento tienen una parte en cada bloque de
memoria. Las posiciones de almacenamiento en la memoria se pueden
alargar uniendo uno o más bloques de memoria. Cada bloque de
memoria puede comprender:
como medios que actúan como registros de
desplazamiento:
- -
- una memoria tampón de entrada con una entrada de datos en serie de forma análoga a un registro de desplazamiento;
como posiciones de almacenamiento:
- -
- un número de campos de memoria de datos en los que la información de la memoria tampón de entrada puede ser introducida secuencialmente.
A este respecto, se dispone una lógica de control
en cada bloque de memoria, dicha lógica de control controla la
entrada de información en los campos de memoria por medio de la
memoria tampón de entrada, de manera que los bloques de memoria
están conectados en forma de cascada entre sí a través de las
memorias tampón de entrada incluidas en ellos, las cuales están
conectadas en forma de cascada entre sí, de modo que la información
se puede suministrar de forma gradual en serie mediante las
distintas memorias tampón de los diferentes bloques de memoria una
detrás de otra, y la lógica de control dispuesta en cada bloque de
memoria informa a la lógica de control del siguiente bloque de
memoria cuándo los campos de memoria de su propio bloque de memoria
están llenos de información o toda su información se ha leído, de
modo que la lógica de control del siguiente bloque de memoria puede
hacerse cargo del trabajo de escritura de información en este bloque
de memoria.
Pueden existir medios que actúan como registros
de desplazamiento para la salida de información en orden no
dividido desde las posiciones de almacenamiento de la memoria.
Además, puede haber medios para el procesamiento de datos de los
datos almacenados en paralelo en los diferentes bloques de
memoria.
La estructura de memoria según la invención
permite el establecimiento de un gran espacio de almacenamiento de
información expandible, una transferencia continua de datos y, al
mismo tiempo, velocidades de transferencia extremadamente altas. La
expansión del espacio de almacenamiento para un vector, y de ese
modo del tamaño de la memoria, puede ser realizada sin que afecte a
la velocidad de transferencia de datos debido a que la interfaz con
la memoria, vista desde el exterior, permanece invariable.
Con la estructura de memoria según la invención,
se puede realizar una transferencia de datos continua a
aproximadamente 0.5-1 Gbytes/seg. en comparación
con los actuales 30-100 Mbytes/seg. Esto implica un
factor diez veces más rápido usado con la tecnología básica
correspondiente. Las estructuras de memoria en sí mismas no dependen
de la tecnología usada aunque pueden ser usadas para tecnologías de
almacenamiento arbitrario (RAM, memoria magnética, memoria óptica
etc.).
La invención se describe con más detalle a
continuación en referencia a los dibujos anexos, en los que:
la figura 1 muestra en general el principio para
una estructura de memoria según la invención,
la figura 2 muestra una primera forma de
realización de la estructura de memoria según la invención,
la figura 3 muestra la estructura interna de un
bloque de memoria más detalladamente que en la figura 2,
la figura 4 muestra un diagrama de flujo de la
lógica de control global de la memoria,
la figura 5 muestra una diagrama de flujo de la
lógica de control de un bloque de memoria,
la figura 6 muestra una segunda forma de
realización de la estructura de memoria según la invención, y
la figura 7 muestra una tercera forma de
realización de la estructura de memoria según la invención.
Se refiere a un número de vectores que, vistos
desde el exterior, son tratados de forma continua y no
dividida.
Se refiere a la cantidad global de información
continua que debe ser procesada de una pieza. Un vector se define
desde fuera con la ayuda de un punto de inicio o identidad y la
longitud.
Parte de un vector adaptada al tamaño de un campo
de memoria. Un vector puede describirse como un suma de grupos de
bytes.
Se refiere al sistema completo según la figura 2.
La estructura de memoria consiste en uno o más bloques de memoria,
los convertidores 5, 6 y la lógica de control 4.
Se refiere a una unidad con una función bien
definida que sólo se comunica con sus vecinos más cercanos, ver
figura 2. La estructura de memoria siempre se expande con una
cantidad global de nuevos bloques de memoria.
Se refiere a la parte del área de la memoria
total de la estructura de memoria que tras la configuración se
adapta a la longitud del vector real. Las posiciones de memoria
están distribuidas desde el bloque de memoria #1 hacia el interior,
ver figura 1.
La parte de un bloque de memoria que tras la
configuración es asignado a un vector determinado (la
identidad).
La parte de un plano de memoria que se procesa de
una pieza. El tamaño se corresponde con el de las memorias tampón
de entrada y salida.
La figura 1 muestra varios bloques de memoria #1,
#2,... #M conectados entre sí en forma de cascada. Cada bloque de
memoria tiene una parte de información 1I, 2I,...MI y una memoria
tampón de entrada 1IB respectivamente 21B... respectivamente MIB,
una memoria tampón de salida 1UB respectivamente 2UB...
respectivamente MUB, y una lógica de control 1S respectivamente 2S
respectivamente MS. Cada bloque de memoria puede estar en un chip
distinto y varios chips seleccionados pueden estar unidos entre sí
con el objetivo de formar selectivamente una memoria larga. Es
también posible y apropiado tener diferentes bloques de memoria en
un chip, de forma que diferentes chips multibloque pueden estar
conectados en forma de cascada. Cada una de las posiciones de
memoria en la memoria tiene una longitud adaptada a la longitud de
los vectores largos. Los bloques están dispuestos en paralelo
extendiéndose desde una entrada/salida de la información hacia el
interior de la memoria, de modo que cada vector está dispuesto para
ser almacenado de forma no dividida y en orden consecutivo por
medio de las memorias tampón de entrada con el inicio del vector en
la entrada/salida de la memoria y, de forma similar, ser extraídos
en orden consecutivo a través de la memoria tampón de salida cuando
resulte necesario (ver la forma de realización de la figura 7). El
direccionamiento se lleva a cabo a la entrada/salida de la
memoria.
En la forma de realización mostrada en la figura
2, la estructura de memoria comprende un número de bloques de
memoria o unidades conectadas en forma de cascada #1 - #M, una
lógica de control 4 y convertidores 5, 6 dónde sea apropiado. Los
bloques de memoria mostrados aquí tienen cada uno un bloque
constituyente con diferentes planos de memoria #11 #1 N
respectivamente ``MI - #MN dispuestos unos detrás de otros, los
cuales comprenden cada uno varios campos de memoria F1 - FP. Debe
mencionarse que, de ahora en adelante en la descripción, un campo de
memoria en concreto de la memoria tiene una referencia que
identifica a qué bloque de memoria y a qué plano de memoria
pertenece, por ejemplo #m, Qi, Fj para un campo de memoria Fj en el
plano de memoria Qi en el bloque de memoria #m. Este sistema de
referencia ha sido aplicado en todo el documento.
No obstante, es obvio que, en la práctica, los
bloques de memoria pueden tener una estructura superficial con los
planos extendidos en diferentes posiciones en la superficie, o bien
dispuestos como campos de memoria uno tras otro, de modo que, por
ejemplo, en el caso de un chip con diferentes bloques, los campos
de memoria en los bloques de memoria #2/plano de memoria #Q1 están
dispuestos como una continuación directa de los campos de memoria
en el bloque de memoria #1/plano de memoria Q1 etc.
Como se puede observar a partir de la figura 3,
la estructura de memoria tiene diferentes posiciones de
almacenamiento direccionables o planos de memoria Q1 ...Qi...QN (i
= 1... N). Cada bloque de memoria #m tiene varios campos de memoria
F1 a FP asignados a cada plano de memoria direccionable Qi.
Cada bloque de memoria #m está físicamente
organizado en filas W_{m} (que corresponden a NxP en la figura 3)
y en columnas axb. Cada fila forma un campo de memoria y contiene
varios grupos de bytes o palabras (a) cada uno con un número
adecuado de bits (b). El bloque de memoria #m tiene por tanto un
tamaño de W_{m} x a x b bits. La estructura de memoria tiene un
tamaño total de (W1+W2 + ....+ WM) x a x b bits. Es también posible
concebir un caso especial en el que el número de a, b y W varía en
los bloques de memoria, aunque éste no es el caso tomado aquí.
Un vector Vi con una longitud de Li palabras es
almacenado en forma de vectores parciales Li/a en los campos de
memoria M1, F1.., M1, FP; M2 F1, ..., M2 FP; ..., MN F1, ..., MN
FP. Después de la configuración resulta válido que Li = a x
(O_{il}+_{Oi2} + ... + _{OiM}) palabras, dónde O_{im} es el
contenido de Mi Fm (i=1-N, m=1-P).
El tamaño del vector Vi es, por lo tanto, de a x b
x(O_{il}+O_{i2} + ....+ O_{iM}) bits. Para cada bloque
de memoria también es válido que el número de filas siempre se
corresponda con la suma del número de campos de memoria.
Wm=O_{lm}+O_{2m}+...+O_{Nm}.
Se pueden almacenar al mismo tiempo vectores de
longitudes variables en la estructura de memoria.
La estructura de memoria puede ser configurada de
varias maneras. Vistos desde el exterior, los vectores están
direccionados sólo desde el punto de inicio (la identidad) #1 Mi F1
dónde i es cualquier número entre 1 y N, y Fi es el primer campo de
memoria del bloque de memoria #1 del plano de memoria Mi. La
longitud de los vectores Li está definida por la configuración. La
configuración puede ser estática o dinámica.
En la configuración estática todos los O_{im}
están predeterminados. La lógica de control 4 conoce el número N de
posiciones de memoria Mi así como la longitud Li de las respectivas
posiciones de memoria. La lógica de control 1S - MS en los bloques
de memoria conoce el punto de inicio #1 Qi F1 y la longitud
O_{im} del bloque de memoria respectivo. El punto de término #m Qi
Fj está definido indirectamente por el punto de inicio y la
longitud.
En la configuración dinámica, la longitud precisa
del plano de memoria o la posición de la memoria Mi cambian durante
la escritura. Se supone desde el exterior que el vector de
información debe ser seguido por la información de su longitud, así
como por otra información global. Esta información, de forma
alternativa, puede hallarse en el primer grupo de bytes como cabeza
del vector Vi. La lógica de control puede entonces leer, usar y
cambiar esta información dependiendo de cómo se va extendiendo
adicionalmente en la estructura de memoria. Después de la cabeza,
la información sigue secuencialmente.
Con la configuración estática, se supone que el
vector de información que se lee o se escribe en una posición de
memoria Qi tiene una longitud que se corresponde con la
configuración. Con la configuración estática se puede prescindir de
la cabeza.
Cada bloque de memoria #i tiene una memoria
tampón de entrada ilB con una unidad de almacenamiento de la
memoria tampón comprendiendo varios bits de almacenamiento para
cada campo de memoria de almacenamiento en el plano de memoria para
dar entrada a la información, y una memoria tampón de salida iUB
con una unidad de almacenamiento de la memoria tampón del mismo
tamaño que la memoria tampón de entrada para dar salida a la
información. Hay además una lógica de control iS con el objetivo de
controlar la escritura y lectura de información en el plano de
memoria y, de esa manera, dentro de qué campo o campos de
memoria.
La unidad de ordenador, la cual por medio de la
interfaz 5, 6 (ver figura 2) está conectada a la estructura de
memoria según la invención, carga la información entrante a través
del puerto de entrada de información y extrae la información
saliente del puerto de salida de información en forma de vectores,
por ejemplo paquetes de datos. Cada vector puede estar equipado con
una cabeza incluyendo la identidad, longitud etc. De forma
alternativa, la información necesaria puede ser proporcionada a la
interfaz mediante cualquier otra vía, algo obvio para el experto en
la técnica. Una lógica de control 4 está conectada a la interfaz
con el objetivo de controlar la memoria según lo que se haya leído
en ella. La lógica de control 4 puede además estar equipada con una
memoria interna (no mostrada) para el almacenamiento de datos
relacionados con los vectores almacenados y con el lugar donde éstos
están almacenados en la memoria y donde pueden almacenarse vectores
nuevos. En consecuencia, el direccionamiento de la memoria tiene
lugar bajo la influencia de la lógica de control 4. Esto puede
verse en la figura 4A.
Las figuras 4A-4C muestran un
diagrama
\hbox{de flujo}de una forma de realización de cómo funciona la lógica de control, parte durante la activación (figura 4A), parte durante la escritura en la memoria (figura 4B) y parte durante la lectura de la memoria (figura 4C). Los diagramas de flujo son tan claros que no es necesario hacer una descripción minuciosa de las diferentes fases.
Tal y como se describirá más adelante con más
detalle, la información introducida en la memoria es apropiadamente
de tipo en paralelo, es decir, en forma de bytes paralelos de una
longitud adecuada, por ejemplo 8, 16, 32 bits. Si se introduce
información seriada pura, entonces tiene lugar una conversión de la
forma bit a la forma paralela byte en el convertidor 5. De forma
similar, se realizará una conversión de los bytes paralelos a bits
en el convertidor 6 si fuera necesario. Debe mencionarse que no hay
nada que impida que la información de entrada en el puerto de
entrada de información sea en forma de bits en serie y la
información en el puerto de salida de información esté en forma de
bytes paralelos, o viceversa, en cuyo caso sólo es necesario un
convertidor 5 o 6 .
Durante la configuración dinámica (ver figura 4B)
se lee la cabeza de cada vector de información que debe ser
escrito. La información que hay en ella se usa en parte para
decidir cuánto espacio de memoria ocupará el vector y en parte con
el objetivo de activar la lógica de control 1S en el primer bloque
de memoria #1 y para proporcionar la información sobre cuántas de
las siguientes lógicas de control en los demás bloques de memoria
#i necesitarán ser activadas.
En la práctica, cada vector almacenado tendrá su
inicio en el campo de memoria F1 en uno de los planos Qi en el
bloque de memoria #1 y se extenderá desde allí hacia el interior de
la memoria. Se puede considerar el almacenamiento de un vector como
una sola cadena continua. De esta manera, los vectores estarán
dispuestos de forma paralela y el direccionamiento hacia éstos
tendrá lugar al comienzo de los diferentes planos del bloque de
memoria #1. Muchos de los campos de memoria F1 - FP serán usados de
hecho en cada bloque de memoria para el almacenamiento, de modo que
puede considerarse que el almacenamiento está doblado, pero en la
práctica, de hecho, todo el vector estará colocado en una secuencia
ininterrumpida desde el principio hasta el final de bloque a bloque
de memoria.
Cada lógica de control en los bloques de memoria
tiene en su interior una memoria con información sobre qué planos
de memoria y qué campos de memoria en éstos están vacíos o ya están
llenos. Cuando llegan los vectores que tienen que ser almacenados,
primero se realiza una búsqueda en la lógica de control 4 o en la
lógica de control 1S para encontrar un plano de almacenamiento
disponible.
Como es evidente en la figura 5, la cual muestra
una forma de realización del diagrama de flujo para cada lógica de
control 1S-MS en los bloques de memoria, la
escritura se inicia cuando la información, el vector, pasa la
interfaz (ver figura 2). La configuración no tiene que ser
completada para todos los bloques de memoria sino que se realiza
sucesivamente de acuerdo con la propagación de la información en el
interior de la memoria. Suponiendo que el plano Qi, dónde i es un
número entre 1 y N, se muestra vacío. Debe observarse que un vector
es siempre almacenado en el mismo plano, por ejemplo Qx, dónde x es
un número entre 1 y N, en todos los bloques diferentes, es decir,
en el plano #1 Qx; #2 Qx; #2 Qx y así sucesivamente. El vector
entrante empieza a ser introducido en la memoria tampón de entrada
1IB. Una vez llena con un grupo de bytes, tiene lugar una
transferencia de éstos al primer campo de memoria de almacenamiento
F1 en el plano #1 Qx. La memoria tampón de entrada se llena de
manera análoga a un registro de desplazamiento, pero la salida
hacia los campos de memoria puede tener lugar o en serie o
paralelamente, preferiblemente de forma paralela, hasta que la
totalidad del contenido de la memoria tampón de entrada sea
vaciado.
De forma análoga a un registro de desplazamiento,
tiene lugar un rellenado directo después del cual la totalidad del
contenido de la memoria es vaciado en el siguiente campo de memoria
F2 en el plano #1 Qx y así sucesivamente hasta que se llena el
último campo de memoria de FP en el plano #1 Qx. En relación a
esto, la lógica de control 1S tiene un indicador de campo - entrada
(no mostrado) que proporciona el campo de memoria válido para la
escritura.
A continuación, la memoria tampón de entrada 1IB
es controlada para empezar a llenar la memoria tampón de entrada
2IB en serie, de forma análoga a un registro de desplazamiento, es
decir byte paralelo tras byte paralelo hasta que esté llena. La
totalidad de la longitud en serie del registro de desplazamiento
usado como memoria tampón será denominado de ahora en adelante byte
en serie, ya que representa el número de señales de reloj necesarias
para llenar la memoria tampón, es decir que representa la longitud
en serie de un grupo de bytes paralelos.
Cuando la memoria tampón de entrada está llena,
se llena el primer campo de memoria F1 en el plano #2 Qx y los
diferentes campos de memoria siguientes que hay son llenados de la
misma manera que el campo de memoria en el plano de memoria #1 Qx,
es decir, controlados por el indicador de campo - entrada de la
lógica de control. Cuando el plano de memoria #1 Qx está lleno, la
información en la memoria tampón de entrada 2IB del bloque de
memoria #2 continúa siendo transferida a la memoria tampón de
entrada del siguiente bloque de memoria y posteriormente desde éste
a los campos de memoria del siguiente plano de memoria #3 Qx en
este bloque de memoria y así sucesivamente. Debe observarse que es
posible incluir muchas memorias tampón de entrada y de salida, con
el objetivo por ejemplo de servir diferentes planos de memoria
simultáneamente, aunque esto no se muestra en ninguna de las
figuras. La unidad de control también puede ser duplicada.
Debe observarse que la información puede ser
introducida en las memorias tampón de entrada en forma de bytes
paralelos secuenciales, por lo que cada memoria tampón comprende de
hecho tantos registros de desplazamiento paralelos como bits hay en
cada byte. La expresión "grupo de bytes paralelos" se usa para
el número de bytes que llenan una memoria tampón de entrada/salida.
Cuando una memoria tampón de entrada es vaciada hacia un campo de
memoria en un plano hay, por lo tanto, una gran cantidad de datos
transferidos. En consecuencia, cada campo de memoria comprende un
número extremadamente grande de grupos de bytes paralelos.
Los datos pueden ser leídos y extraídos de un
campo de memoria inmediatamente después de que hayan sido
escritos.
Como es evidente a partir del diagrama de flujo
de la figura 5, durante la lectura, el contenido de un campo de
memoria es transferido, de una vez y en paralelo, con todo el grupo
de bytes paralelos en el primer campo del plano en cuestión l i, a
la memoria tampón de salida 1UB y es extraído en serie, es decir
byte paralelo tras byte paralelo.
Una vez que ha tenido lugar la transferencia a la
memoria tampón de salida del campo próximo al último campo de
memoria en el plano #1 Qi, la lógica de control 1S activa la lógica
de control 2s para transferir el contenido del primer campo de
memoria #2 Qi a la memoria tampón de salida 2UB. Directamente
después de que el último campo de memoria FP haya sido transferido
a la memoria tampón de salida 1UB y ésta haya extraído su contenido
de bytes paralelos en serie, una memoria tampón de salida 2UB
extrae su contenido byte paralelo tras byte paralelo en serie hacia
la memoria tampón de salida 1 UB, de modo que estos se suceden
directamente después del contenido anterior de la memoria tampón 1
UB.
De esta forma, no se produce ninguna interrupción
en la información extraída. La información en los campos de memoria
del plano #2, Qi es extraída paso a paso hacia la memoria tampón de
salida 2UB, controlada por un indicador de campo de salida (no
mostrado) de la lógica de control 2S y es extraída de ella en serie
a través de la memoria tampón 1UB. Cuando se transfiere el campo
próximo al último campo de memoria FP en el plano 2IB a la memoria
tampón de salida 2UB, la lógica de control es activada en el
siguiente bloque de memoria con el fin de que la información del
campo de memoria sea transferida a la memoria tampón de salida del
bloque de memoria, etc.
En la forma de realización descrita
anteriormente, cada memoria tampón de salida de los diferentes
bloques en serie extrae su contenido, un grupo de bytes paralelos,
byte paralelo tras byte paralelo, a la siguiente memoria tampón de
salida. Esto significa que el control tiene lugar byte paralelo tras
byte paralelo tanto en la entrada como en la salida. Cada grupo de
bytes paralelos puede contener un número relativamente grande de
bytes paralelos en este caso, lo que significa que el inicio de la
salida de un vector con datos puede tener lugar dentro de un
intervalo de tiempo relativamente largo de varios periodos de
reloj, determinado por la longitud del grupo de bytes paralelos.
No obstante, existen aplicaciones, en las que el
control de la salida de los datos debe efectuarse precisamente en
un período de reloj del sistema del que forma parte la memoria
según la invención. La lógica de inicio de la memoria tiene
información sobre el grupo de bytes paralelos en que tendrá lugar
la salida y también el desplazamiento de fase necesario, dentro de
la longitud de tiempo, del grupo de bytes paralelos para que la
salida tenga lugar en el instante deseado preciso.
Una forma de realización de la memoria para
conseguir esto con una lógica de control se muestra en la figura 6.
Es posible extraer el mismo contenido de la memoria en diferentes
partes del sistema en instantes de tiempo controlables
independientemente y, en ese caso, es posible tener muchas memorias
tampón de salida conectadas a los planos de memoria. No obstante,
en las figuras sólo se muestra una memoria tampón de salida
OUTBUFF. Cada memoria tampón de salida comprende una memoria tampón
intermedia MBUFF en la que, durante el control, los contenidos son
transferibles al registro de desplazamiento sk. La forma de
funcionamiento de cada memoria tampón de salida es evidentemente
similar, por lo que la descripción en lo que se refiere a la
OUTBUFF es válida para todas ellas.
Cuando la disposición del control local de un
bloque de memoria recibe una indicación de que los contenidos de
memoria de un plano de memoria deben ser extraídos a través de una
memoria tampón de salida OUTBUFF, el primer campo de memoria en
este plano de memoria es descargado en la memoria tampón intermedia
MBUFF mediante una señal de control C-1 para ello.
En la señal de reloj apropiada para la salida real, el contenido de
la memoria tampón intermedia es transferido mediante una señal de
control C-2 al registro de desplazamiento sk para
ser extraído de forma temporizada directamente con un control en la
entrada de reloj CLK del registro de desplazamiento. El contenido
del siguiente campo de memoria es transferido a la memoria tampón
intermedia de la OUTBUFF directamente después de la transferencia
de la memoria tampón intermedia al registro de desplazamiento o,
preferiblemente, al comienzo del siguiente período del grupo de
bytes paralelos completo. No obstante, nada evita que la
transferencia a la memoria tampón intermedia tenga lugar en
cualquier momento durante el intervalo anterior a la transferencia
al registro de desplazamiento sk, por ejemplo, durante el período
de reloj directamente anterior a la transferencia de la memoria
tampón al registro de desplazamiento.
Una vez que todo el bloque de memoria es vaciado,
tal y como se ha descrito arriba, la información continúa siendo
introducida en la memoria tampón de salida para una transferencia
adicional hacia la salida. Estos datos, debido a un control similar
en el bloque siguiente, llegarán directamente en forma de un grupo
de bytes en serie continuo y correctamente temporizado, el cual
entrará en orden continuo al registro de desplazamiento sk en su
entrada en serie acoplada al registro de desplazamiento de la
siguiente memoria tampón de salida, con el objetivo de ser extraído
a través del registro de desplazamiento hacia la salida de la
memoria.
En la parte inferior de la figura 6 se muestra un
ejemplo de un medio de control de la primera memoria tampón de
salida OUTBUFF del bloque de memoria destinado a dar salida a las
respectivas transferencias desde los campos de memoria respectivos
en el plano de memoria hacia la memoria tampón intermedia MBUFF y
luego de la memoria tampón al registro de desplazamiento sk. Cuando
el control, referido a que estos datos deben ser extraídos de los
planos de memoria empezando en un instante concreto de tiempo,
inicia la lógica 10, ésta indica en primer lugar, con un indicador
de campo de salida, el primer campo de memoria en los planos de
memoria después de haber atravesado un pequeño circuito de puertas
11 que permite el paso de señales de la lógica en presencia de una
señal de control CKL/b, dónde b es el número de fases de bytes
paralelos en el registro de desplazamiento SK contadas por un
contador 12. El indicador de campo de salida se desplaza hacia el
siguiente campo de memoria en la siguiente señal de control CLK/b y
hacia el siguiente con la siguiente señal de control, etc. Esto se
ilustra mediante el óvalo 13. Además, el desplazamiento de fase con
respecto a la fase del indicador de campo de salida se ilustra en la
parte superior de la figura para las diferentes posiciones
\hbox{P1 - Pa,}dónde a es la longitud de posición de un campo de memoria en los diferentes campos Fi y F(i + 1), por lo que C-1, en esta forma de realización, está al inicio del indicador de campo de salida y C-2 se desplaza de forma controlada a la posición deseada, por ejemplo P2.
La salida del contador 12 junto con una salida de
la lógica 11 son introducidas en una segunda lógica 14 relativa al
cambio de campos. La lógica 14 emite entonces, según la forma de
realización mostrada, la señal C-1 en su salida, la
cual controla, en el caso mostrado, la transferencia de datos desde
el campo de memoria seleccionado a la memoria tampón intermedia
MBUFF a través de un pequeño circuito de puertas 15 que emite la
señal a la siguiente señal de reloj CLK. La señal
C-1 es también introducida en la entrada de una
unidad de retraso 16, la cual en una entrada de control tiene una
señal 17 de la lógica 10, dicha señal, preferiblemente en forma
digital, expone el retraso real de los datos en la memoria tampón
intermedia antes de la transferencia al registro de desplazamiento
SKI. Esto continúa hasta que el indicador de campo de salida llega
al último campo en el plano de memoria que debe ser extraído. La
señal de la lógica 14 desde la lógica 10 deja de producirse. En
cambio, en la posición próxima a la última posición del indicador de
campo de salida, la lógica 10 proporciona una salida hacia
siguiente bloque para activar la lógica de control en él.
Aunque no se muestra, se pueden disponer muchos
retrasos controlables separados de la lógica 10 con el objetivo de,
si es necesario, dar la señal C-1 con el retraso
deseado y/ o con el objetivo de proporcionar diferentes retrasos a
las diferentes memorias tampón de salida o similares.
En todas las formas de realización descritas
anteriormente de la memoria, los datos de entrada y de salida han
sido introducidos y extraídos respectivamente por el mismo lado del
bloque de memoria. La figura 7 muestra una forma de realización en
la que todos los vectores almacenados pueden ser extraídos según la
forma de realización descrita anteriormente, y también o
alternativamente, es posible realizar el procesamiento de la señal
en los datos almacenados en los diferentes bloques de memoria
simultáneamente, es decir paralelamente.
El procesamiento de la señal puede, por ejemplo,
concernir la sustitución de símbolos especiales a lo largo de una
cadena de texto almacenada, con el objetivo de posteriormente dar
salida a todo el vector almacenado a través de las memorias tampón
de salida mostradas con líneas discontinuas. En ese caso los datos
son transferidos, una vez procesados, de nuevo al campo de memoria
del plano de memoria del que fueron tomados. De forma alternativa, o
como complemento, puede realizarse un procesamiento de la señal más
sofisticado. Una ventaja de esta forma de realización es que el
procesamiento de la señal de una gran cantidad de datos almacenados
puede llevarse a cabo rápidamente.
También es posible realizar algún tipo de
procesamiento de los datos almacenados con el objetivo de indagar
una característica especial u obtener un resultado. En ese caso el
interés no estará en la posibilidad de dar salida a un vector
introducido y, entonces, las memorias tampón de salida mostradas en
líneas discontinuas no serán necesarias. En consecuencia, éstas no
son en absoluto necesarias según la invención.
Cada bloque de memoria, por ejemplo #m, tiene una
memoria tampón de procesamiento mB_{m} conectada, a la cual la
lógica de control #mL puede enviar el contenido de un plano de
memoria, campo de memoria por campo de memoria, de la misma manera
que a su memoria tampón de salida. El contenido de la memoria
tampón #m,B_{m} es luego transferido a una unidad local de
procesamiento de la señal #m,LS_{m} en la que se lleva a cabo el
tratamiento de la señal especial. Posteriormente, los datos
procesados pueden, como se ha mencionado anteriormente y se ha
mostrado de forma discontinua en la figura, ser transferidos de
nuevo al campo de memoria o a los campos de memoria de los que
fueron tomados, o bien ser transferidos a una unidad de
procesamiento de la señal GS común para todos los bloques, la cual
extrae un resultado y lo saca, o ambas cosas. Debe observarse que
esta extracción de un resultado puede realizarse de diferentes
planos de memoria, de campos de memoria de un plano de memoria, o
de todo un bloque de memoria, dependiendo de lo que esté almacenado
en los diferentes bloques de memoria. Debido a que el tipo de
tratamiento de la señal usado carece de importancia para el
concepto de la invención, a continuación sólo se da un ejemplo del
mismo, en concreto el tratamiento de bloques de memoria enteros o
planos de memoria en bloques de memoria.
También es posible realizar el tratamiento en
todos los planos de memoria en el mismo bloque de memoria de la
manera mencionada anteriormente. Una situación en la que podría
pasar esto es en el almacenamiento de señales de vídeo para la
producción de imágenes, en el que cada línea de un imagen puede ser
almacenada en diferentes planos de memoria en los bloques de
memoria. La invención hace posible obtener un acceso rápido y
fácil, y llevar a cabo el procesamiento de la imagen en porciones
de la imagen cuyas líneas están recogidas en un bloque de memoria
especial o en varios bloques de memoria adyacentes. Esto hace
posible llevar a cabo un procesamiento rápido de la imagen para
cualquier tipo de imagen.
Algunos ejemplos de vectores que son
especialmente adecuados para ser almacenados mediante el método
según la invención son los volúmenes de texto de un procesador de
textos. El volumen de texto puede ser definido como el punto de
inicio de un vector y su longitud. Pero, en realidad, no se menciona
dónde está situado. Una ventaja al usar la invención es que la
velocidad del ordenador aumenta considerablemente.
Normalmente, los volúmenes de texto se almacenan
divididos en posiciones diferentes, por ejemplo en un disco duro.
Para conseguir la información almacenada primero hay que dirigirse
a un sector, sacar la información de allí, dirigirse a otro,
obtener la información de allí, etc. En consecuencia, hay
demasiados direccionamientos y tiempo de espera de la
información.
Normalmente, también ocurre que el tomar la
información de una posición cercana es relativamente rápido. Cuanta
más memoria haya que revisar más tiempo llevará. De esta manera, la
velocidad de los datos se reduce en proporción a cómo sea de grande
la memoria y cuánto se extienda la información.
En la invención, el punto de inicio de la
información está en un vector en la entrada/salida de la memoria y
aparece como una cadena, es decir, en los diferentes planos #mi,
Qj, dónde j es cualquier número entre 1 y N, en los que dicha
cadena se extiende desde la entrada/salida hacia el interior de la
memoria. Un vector nuevo puede ser introducido en la memoria sin
esperar a buscar posiciones adecuadas. De forma similar, un vector
almacenado puede ser extraído sin espera en las formas de
realización dónde la salida es necesaria. Esto significa que la
cantidad de información puede ser infinitamente grande sin que, en
ningún caso, se perjudique el tiempo de acceso. El punto de término
de un vector está marcado por el campo de memoria de los últimos
bloques de memoria en los que el vector está escrito, y es legible
por la lógica de control en el bloque de memoria que almacena esta
información en su memoria interna. La lectura y la escritura en la
memoria pueden tener lugar simultáneamente. Esta lógica de control,
por lo tanto, siempre conoce el punto de término tanto para la
entrada como para la salida, y lo indica a las otras lógicas de
control, especialmente durante la salida del término del vector a
través de las respectivas memorias tampón de salida.
Cada lógica de control iS comprende, en
consecuencia, una lista de cada vector de información, la cual
establece de qué entidad de información se trata, el inicio y la
parada de la parte del vector que puede estar escrita en su bloque
de memoria asociado, y los enlaces. Esta parte de la lógica de
control se lleva a cabo idóneamente en el hardware o soporte
físico, lo cual resulta más eficaz que en una memoria dinámica. Una
forma de realización de la lógica de control para las formas de
realización de las figuras 1-5 puede ser
desarrollada como en la figura 6, pero sin retraso 16. La memoria
parecerá una memoria normal desde el exterior. La única limitación
que se aplica a la memoria según la invención es que sólo es eficaz
durante el tratamiento de vectores. La memoria puede ser incluida
como parte de la memoria normal de un ordenador.
En el nuevo sistema, la información puede ser
encontrada rápidamente y la transferencia de datos tiene lugar
rápidamente. Un bloque de memoria puede ser una parte de un chip,
es decir, que diferentes bloques de memoria pueden estar en el
mismo chip, o los bloques de memoria pueden también estar en chips
diferentes. De forma alternativa, cada bloque de memoria puede
estar formado por diferentes chips, o bien estar construido con
componentes estándares. Todas estas posibilidades pueden estar en
el mercado juntas, lo que implica un uso flexible con una
combinación de unidades diferentes.
Si sucede que los vectores para una aplicación
tienden a ser tan largos que deben ser divididos en diferentes
vectores con el objetivo de poder ser almacenados en la memoria,
entonces existe por ejemplo la posibilidad de acoplar bloques de
memoria extra (chips) después del último de una manera sencilla,
con la finalidad de que así se pueda ampliar el espacio de
almacenamiento de los vectores que deben ser almacenados.
Otro ámbito de uso es el tráfico telefónico en el
que los datos pueden llegar en forma de bits en serie, en cuyo caso
existen convertidores adecuados 5 para la información que llega a
la primera memoria tampón de entrada para su conversión de bits a
bytes.
Las memorias tampón de entrada también pueden ser
organizadas de modo que sean registros de desplazamiento en serie
(un caso especial). También se pueden tener registros de
desplazamiento en serie en las memorias tampón de entrada y,
paralelos, en las memorias tampón de salida, o viceversa. Es una
cuestión de implementación en el caso de que se elija desarrollar
primero una disposición en paralelo de los datos. Esto es muy
probable si se considera una futura aplicación de telecomunicación,
en la cual la información entrante es en serie. Luego se realiza
una primera conversión paralela en el componente 5 externo a la
memoria.
Cada lógica de control 4 y mS puede ser en forma
de un simple chip de datos con un programa fijo. De forma
alternativa, la lógica de control mS puede estar integrada junto
con los planos de memoria. Las figuras 4 y 5 muestran un diseño en
forma de diagrama de flujo para la lógica de control. Las funciones
que se obtienen con los diagramas de flujo han sido anteriormente
descritas, por lo que los diagramas de flujo en sí mismos no
requieren ninguna descripción adicional, sino que pueden ser
entendidos directamente por los expertos en la técnica.
En las reivindicaciones anexas se dan muchas
modificaciones concebibles dentro del campo de la invención.
Claims (13)
1. Estructura de memoria para el almacenamiento
de vectores de memoria en al menos una posición de la memoria, en
la que:
- la memoria está dividida transversalmente en
bloques de memoria (#1-#M);
- todas las posiciones de memoria en la memoria
(#1, Qi - #M,Qi) están dispuestas en paralelo extendiéndose desde
una entrada de información hacia el interior de la memoria, de modo
que todas las posiciones de memoria tienen una parte en cada bloque
de memoria;
- existen medios (1IB-MIB) que
actúan como registros de desplazamiento para la introducción de
información en una secuencia ininterrumpida en las posiciones de
memoria de la memoria;
caracterizada por el hecho de que,
- cada vector está dispuesto para ser almacenado
de forma no dividida en orden secuencia) con el comienzo del vector
en la entrada de la memoria (campo de memoria F1 en el plano de
memoria #1 Qi);
- el direccionamiento está dispuesto para ser
llevado a cabo a la entrada de la memoria;
- cada posición de memoria en la memoria (#1,Qi
#M,Qi), después de la configuración, tiene una longitud adaptada a
la longitud de los vectores largos, y las posiciones de memoria en
la memoria son extensibles mediante el acoplamiento de uno o más
bloques de memoria.
2. Estructura de memoria según la reivindicación
1, caracterizada por el hecho de que cada bloque de memoria
comprende:
como cada medio que actúa como registro de
desplazamiento:
- -
- una memoria tampón de entrada (jIB) con una entrada en serie de datos análogos a un registro de desplazamiento;
como posiciones de memoria;
- -
- una pluralidad de campos de memoria de datos (F1 - FP) en la que la información de la memoria tampón de entrada es introducida secuencial o paralelamente;
y porque se dispone una lógica de control (iS) en
cada bloque de memoria, dicha lógica de control controlando la
introducción de información en los campos de memoria por medio de
las memorias tampón de entrada; dichos bloques de memoria estando
conectados en forma de cascada entre sí a través de las memorias
tampón de entrada que hay en ellos, las cuales están conectadas en
forma de cascada entre sí, de manera que la información es
introducida en serie a través de las diferentes memorias tampón en
los diferentes bloques de memoria uno tras otro; y porque inicia la
lógica de control en el siguiente bloque de memoria, una vez que
los campos de memoria en su propio bloque de memoria se han llenado
o se ha leído la información, de modo que la lógica de control del
siguiente bloque de memoria puede hacerse cargo del trabajo de
lectura de la información en los campos de memoria de ese bloque de
memoria.
3. Estructura de memoria según cualquiera de las
reivindicaciones precedentes, caracterizada por el hecho de
que existen medios (1UB - MUB) que actúan como registros de
desplazamiento para la salida de información en secuencias no
divididas desde las posiciones de memoria de la memoria.
4. Estructura de memoria según la reivindicación
3, caracterizada por:
- una memoria tampón de salida (jUB) con una
salida en serie de datos análogos a un registro de
desplazamiento;
- la información en los campos de memoria del
ordenador (F1 - FP) siendo transferida secuencialmente a la memoria
tampón de salida durante la extracción de los datos;
dicha lógica de control (iS) en cada bloque de
memoria estando dispuesta para controlar la salida de la
información de los campos de memoria a través de las memorias
tampón de salida, y para informar a la lógica de control del
siguiente bloque de memoria de cuándo la memoria de su propio
bloque de memoria se ha vaciado de información, de modo que ésta
pueda llevar a cabo el trabajo de lectura de la memoria en los
campos de memoria de su bloque de memoria.
5. Estructura de memoria según cualquiera de las
reivindicaciones precedentes, caracterizada por el hecho de
que los medios que actúan como registros de desplazamiento son de
tal manera que llevan a cabo la introducción de bytes en serie.
6. Estructura de memoria según cualquiera de las
reivindicaciones 2-5, caracterizada por el
hecho de que la transferencia entre los campos de memoria y las
memorias tampón se realiza con todo el contenido de la información
en paralelo, y controlada simultáneamente por la lógica de control
en el bloque de memoria en cuestión cuando tiene lugar la
transferencia.
7. Estructura de memoria según cualquiera de las
reivindicaciones 2-6, caracterizada por el
hecho de que la información, durante la entrada y/o salida, está
dispuesta para ser transferida de forma continua a la memoria
tampón de entrada y/o salida en los diferentes bloques de memoria,
sin ninguna operación de comunicación entre éstos.
8. Estructura de memoria según cualquiera de las
reivindicaciones 2-7, caracterizada por el
hecho de que los medios (11B-MIB,
1UB-MUB) que actúan como registros de
desplazamiento para la entrada y/o salida están dispuestos en
paralelo unos detrás de otros, y son controlables de manera
independiente unos de otros, lo que permite la entrada y salida
simultánea de información en las posiciones de memoria de la
memoria.
9. Estructura de memoria según cualquiera de las
reivindicaciones precedentes, caracterizada por unos medios
para el desplazamiento de fase del período de lectura en relación
con el período de escritura mediante un número selectivo de pulsos
de reloj.
10. Estructura de memoria según la
reivindicación 9, caracterizada por el hecho de que los
medios para el desplazamiento de fase comprenden un circuito de
retraso ajustable a un retraso correspondiente al retraso de fase
deseado.
11. Estructura de memoria según cualquiera de
las reivindicaciones precedentes, caracterizada por el hecho
de que la información almacenada en los diferentes bloques de
memoria es legible paralelamente a cada uno de sus dispositivos de
procesamiento.
12. Estructura de memoria según la
reivindicación 11, caracterizada por el hecho de que la
información procesada puede ser restaurada en el bloque de memoria
después del procesamiento.
13. Estructura de memoria según la
reivindicación 11 o 12, caracterizada por el hecho de que la
información procesada es transferible a una unidad de resultado, la
cual combina la información procesada desde los dispositivos de
procesamiento de los bloques de memoria hasta obtener un
resultado.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9502113 | 1995-06-09 | ||
SE9502113A SE514348C2 (sv) | 1995-06-09 | 1995-06-09 | Minnesstruktur anpassad för lagring och hämtning av vektorer |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2210371T3 true ES2210371T3 (es) | 2004-07-01 |
Family
ID=20398571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES96917795T Expired - Lifetime ES2210371T3 (es) | 1995-06-09 | 1996-06-05 | Estructura de memoria. |
Country Status (8)
Country | Link |
---|---|
US (1) | US6425064B2 (es) |
EP (1) | EP0839354B1 (es) |
JP (2) | JP4036270B2 (es) |
AT (1) | ATE252250T1 (es) |
DE (1) | DE69630388T2 (es) |
ES (1) | ES2210371T3 (es) |
SE (1) | SE514348C2 (es) |
WO (1) | WO1996042055A1 (es) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7404032B2 (en) * | 2000-01-05 | 2008-07-22 | Rambus Inc. | Configurable width buffered module having switch elements |
US7356639B2 (en) * | 2000-01-05 | 2008-04-08 | Rambus Inc. | Configurable width buffered module having a bypass circuit |
US7010642B2 (en) * | 2000-01-05 | 2006-03-07 | Rambus Inc. | System featuring a controller device and a memory module that includes an integrated circuit buffer device and a plurality of integrated circuit memory devices |
US7363422B2 (en) * | 2000-01-05 | 2008-04-22 | Rambus Inc. | Configurable width buffered module |
US7266634B2 (en) | 2000-01-05 | 2007-09-04 | Rambus Inc. | Configurable width buffered module having flyby elements |
US6502161B1 (en) | 2000-01-05 | 2002-12-31 | Rambus Inc. | Memory system including a point-to-point linked memory subsystem |
US20050010737A1 (en) * | 2000-01-05 | 2005-01-13 | Fred Ware | Configurable width buffered module having splitter elements |
EP1311945A1 (en) * | 2000-08-22 | 2003-05-21 | Jean-Paul Theis | A configurable register file with multi-range shift register support |
US7107399B2 (en) * | 2001-05-11 | 2006-09-12 | International Business Machines Corporation | Scalable memory |
US7110400B2 (en) * | 2002-04-10 | 2006-09-19 | Integrated Device Technology, Inc. | Random access memory architecture and serial interface with continuous packet handling capability |
US7339943B1 (en) * | 2002-05-10 | 2008-03-04 | Altera Corporation | Apparatus and method for queuing flow management between input, intermediate and output queues |
US6879526B2 (en) * | 2002-10-31 | 2005-04-12 | Ring Technology Enterprises Llc | Methods and apparatus for improved memory access |
DE102004038212A1 (de) * | 2004-08-05 | 2006-03-16 | Robert Bosch Gmbh | FlexRay-Kommunikationsbaustein |
DE102004038213A1 (de) * | 2004-08-05 | 2006-03-16 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Zugriff auf Daten eines Botschaftsspeichers eines Kommunikationsbausteins |
KR101257848B1 (ko) * | 2005-07-13 | 2013-04-24 | 삼성전자주식회사 | 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 |
US11328764B2 (en) | 2005-09-26 | 2022-05-10 | Rambus Inc. | Memory system topologies including a memory die stack |
US7562271B2 (en) | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
US7464225B2 (en) * | 2005-09-26 | 2008-12-09 | Rambus Inc. | Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology |
KR101611464B1 (ko) * | 2008-10-10 | 2016-04-11 | 스펜션 엘엘씨 | 데이터 패턴 분석 방법 및 분석 시스템 |
US8818802B2 (en) * | 2008-10-10 | 2014-08-26 | Spansion Llc | Real-time data pattern analysis system and method of operation thereof |
JP5653856B2 (ja) * | 2011-07-21 | 2015-01-14 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4621339A (en) * | 1983-06-13 | 1986-11-04 | Duke University | SIMD machine using cube connected cycles network architecture for vector processing |
US4747070A (en) | 1984-01-09 | 1988-05-24 | Wang Laboratories, Inc. | Reconfigurable memory system |
JPS60262280A (ja) * | 1984-06-07 | 1985-12-25 | Toshiba Corp | メモリモジユ−ル |
US4858107A (en) * | 1985-03-11 | 1989-08-15 | General Electric Company | Computer device display system using conditionally asynchronous memory accessing by video display controller |
JPS63225837A (ja) * | 1987-03-13 | 1988-09-20 | Fujitsu Ltd | 距離付きベクトルアクセス方式 |
US5602780A (en) * | 1993-10-20 | 1997-02-11 | Texas Instruments Incorporated | Serial to parallel and parallel to serial architecture for a RAM based FIFO memory |
US5642444A (en) * | 1994-07-28 | 1997-06-24 | Univ North Carolina | Specialized image processing system architecture and method for image data arrays |
JPH08235130A (ja) * | 1995-02-24 | 1996-09-13 | Sony Corp | 並列プロセッサ |
-
1995
- 1995-06-09 SE SE9502113A patent/SE514348C2/sv not_active IP Right Cessation
-
1996
- 1996-06-05 DE DE69630388T patent/DE69630388T2/de not_active Expired - Lifetime
- 1996-06-05 JP JP50237597A patent/JP4036270B2/ja not_active Expired - Lifetime
- 1996-06-05 AT AT96917795T patent/ATE252250T1/de not_active IP Right Cessation
- 1996-06-05 EP EP96917795A patent/EP0839354B1/en not_active Expired - Lifetime
- 1996-06-05 US US08/973,425 patent/US6425064B2/en not_active Expired - Lifetime
- 1996-06-05 WO PCT/SE1996/000748 patent/WO1996042055A1/en active IP Right Grant
- 1996-06-05 ES ES96917795T patent/ES2210371T3/es not_active Expired - Lifetime
-
2007
- 2007-08-06 JP JP2007204671A patent/JP4659792B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
SE9502113L (sv) | 1996-12-10 |
DE69630388D1 (de) | 2003-11-20 |
JP4036270B2 (ja) | 2008-01-23 |
US20010014930A1 (en) | 2001-08-16 |
WO1996042055A1 (en) | 1996-12-27 |
ATE252250T1 (de) | 2003-11-15 |
JP2007335076A (ja) | 2007-12-27 |
SE514348C2 (sv) | 2001-02-12 |
SE9502113D0 (sv) | 1995-06-09 |
DE69630388T2 (de) | 2004-08-19 |
JPH11507457A (ja) | 1999-06-29 |
JP4659792B2 (ja) | 2011-03-30 |
US6425064B2 (en) | 2002-07-23 |
EP0839354A1 (en) | 1998-05-06 |
EP0839354B1 (en) | 2003-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2210371T3 (es) | Estructura de memoria. | |
ES2449769T3 (es) | Sistema de memoria y método con modos en serie y en paralelo | |
EP1191538B1 (en) | A synchronous NAND DRAM architecture | |
US3753242A (en) | Memory overlay system | |
PT91902B (pt) | Sistema de comutacao multiplex em divisao de tempo assincrona e processo para a sua operacao | |
JP4870420B2 (ja) | フラッシュメモリデータ記憶装置 | |
FI83570B (fi) | Minnessystem. | |
CN1825479B (zh) | 存储器件和与存储器件交换数据的方法 | |
ES2478274T3 (es) | Difusión general selectiva de datos en dispositivos conectados en serie | |
US3942163A (en) | CCD stack memory organization | |
US6684275B1 (en) | Serial-to-parallel/parallel-to-serial conversion engine | |
US20110031999A1 (en) | Programmable logic fabric | |
US5982700A (en) | Buffer memory arrays having nonlinear columns for providing parallel data access capability and methods of operating same | |
KR100336330B1 (ko) | 단일의어드레스입력으로부터버스트판독액세스및기록액세스를제공하는메모리장치 | |
SE451914B (sv) | Integrerad minnesanordning for en tidsomkopplare | |
WO1991013398A1 (en) | Apparatus for transposing digital data | |
EP0520425B1 (en) | Semiconductor memory device | |
US4040029A (en) | Memory system with reduced block decoding | |
EP3826018A1 (en) | Marching memory and computer system | |
US5166903A (en) | Memory organization with arrays having an alternate data port facility | |
US6917545B2 (en) | Dual bus memory burst architecture | |
US5058065A (en) | Memory based line-delay architecture | |
US5691956A (en) | Memory with fast decoding | |
ES2257019T3 (es) | Matriz de conmutacion entre tributarios de una red de telecomunicacion y un metodo de gestion para la misma. | |
JPS6315673B2 (es) |