ES2259718T3 - Interconexion de procesadores con memoria externa soportando modo rafaga. - Google Patents

Interconexion de procesadores con memoria externa soportando modo rafaga.

Info

Publication number
ES2259718T3
ES2259718T3 ES02767643T ES02767643T ES2259718T3 ES 2259718 T3 ES2259718 T3 ES 2259718T3 ES 02767643 T ES02767643 T ES 02767643T ES 02767643 T ES02767643 T ES 02767643T ES 2259718 T3 ES2259718 T3 ES 2259718T3
Authority
ES
Spain
Prior art keywords
access
memory
burst
identity
data device
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
Application number
ES02767643T
Other languages
English (en)
Inventor
Eugene P. c/o TTC Communications Limited HERCZOG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TTP Communications Ltd
TTPCom Ltd
Original Assignee
TTP Communications Ltd
TTPCom Ltd
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
Application filed by TTP Communications Ltd, TTPCom Ltd filed Critical TTP Communications Ltd
Application granted granted Critical
Publication of ES2259718T3 publication Critical patent/ES2259718T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

Aparato que comprende múltiples dispositivos de datos y un árbitro de bus que controla el acceso de los dispositivos a una memoria externa a través de una interfaz, caracterizado porque la memoria externa comprende múltiples registros de lectura, cada uno de los cuales está adaptado para soportar acceso en modo ráfaga de un dispositivo de datos correspondiente, con el árbitro seleccionando el registro de lectura que debe ser usado siguiendo una ráfaga de acceso inicial de acuerdo con la identidad del dispositivo de datos que está requiriendo acceso.

Description

Interconexión de procesadores con memoria externa soportando modo ráfaga.
La presente invención se refiere a la interconexión de uno o más dispositivos, como procesadores, con una memoria externa a través de un árbitro de un único bus.
De forma que se acelere el acceso a memoria de tipo FLASH, se ha desarrollado un modo de acceso paginado o modo ráfaga en el cual un acceso inicial incorpora múltiples y consecutivos códigos de dirección de memoria de forma que se lee un bloque de datos a un registro al cual posteriormente se accede mediante accesos secuenciales hasta que se ha accedido a la totalidad de los datos, momento en el que el proceso puede repetirse. Esto se describe en la patente US6216180. La ventaja del modo ráfaga es que cada acceso secuencial puede ser mucho más corto que el acceso inicial. Típicamente 30ns para 16 bits en comparación con 70ns para inicialmente acceder a un bloque de 128 bits. El acceso en modo ráfaga se ilustra en la Figura 1, en la que un acceso inicial tiene un código de dirección N y los subsiguientes accesos tienen códigos de dirección N+1, N+2 y N+3. Esta ráfaga de datos es seguida posteriormente por una segunda ráfaga de datos con códigos de dirección en el rango M.
El acceso en modo ráfaga hace uso del hecho que un procesador ejecuta código de una manera lineal para producir códigos de dirección consecutivos, de forma que una vez emitidos en un acceso inicial, esto no necesita ser repetido en accesos subsiguientes, que por lo tanto pueden ser más cortos. Sin embargo, se observa que si el procesador no accede a todos los datos en accesos subsiguientes, tal vez porque necesite datos ubicados en otras direcciones, entonces el beneficio de acceso rápido se reduce por accesos iniciales más frecuentes y largos.
Además, el uso compartido de una memoria de tipo FLASH usando acceso en modo de ráfaga entre múltiples procesadores presenta problemas que hacen su uso impráctico en algunas circunstancias. Por lo tanto, por ejemplo, múltiples procesadores embebidos en un ASIC accederían de forma beneficiosa a una memoria FLASH externa única a través de un árbitro de bus único que determina la prioridad de acceso entre los procesadores. El uso de una memoria FLASH única en vez de múltiples memorias, reduce costes, y el número de pines requeridos para la conexión de la interfaz entre el ASIC y la memoria se mantiene al mínimo. Sin embargo, si el acceso en modo ráfaga es usado para uno o más de los procesadores y el beneficio debe ser maximizado mediante la prevención de la interrupción de una ráfaga por otros procesadores, entonces la latencia de acceso de los otros procesadores se incrementa. Existe por tanto un compromiso entre el uso efectivo del acceso en modo ráfaga por un procesador y la latencia de acceso sufrida por los otros. Esto es exacerbado cuando procesadores individuales requieren una prioridad de acceso más alta, e interrumpen el acceso en modo ráfaga realizado por otros procesadores, sin usar de forma necesaria el acceso en modo ráfaga ellos mismos. Este problema se acentúa si los procesadores de mayor prioridad también requieren funcionar con una tasa MIPS (Millones de Instrucciones Por Segundo) mayor.
La figura 2 ilustra el acceso en modo ráfaga realizado por un primer procesador sobre un rango de direcciones N, el cual es interrumpido por accesos de mayor prioridad realizados desde un segundo procesador sobre un rango de direcciones M. El acceso inicial N es seguido por un acceso subsiguiente N+1, pero antes de que accesos subsiguientes en el rango de direcciones N puedan ser completados, se da el acceso al acceso de mayor prioridad M para el segundo procesador. Una vez este acceso se completa, el acceso se restaura para el primer procesador, pero éste debe empezar de nuevo con un acceso inicial más largo N+2 antes de que un acceso subsiguiente N+3 se complete. En ese momento, el segundo procesador interrumpe de nuevo con un acceso M+1 debido a su prioridad más alta, antes de que el acceso se restaure de nuevo para el primer procesador con N+4 y N+5. El uso efectivo del modo ráfaga para el rango de direcciones N se ve por lo tanto frustrado por los accesos para el rango de direcciones M de mayor prioridad, y el rango de direcciones M no puede por sí mismo hacer uso del modo ráfaga, aunque los códigos de dirección M y M+1 son direcciones consecutivas. El rendimiento de la tasa media de transferencia de datos se ve por tanto severamente comprometida, acercándose al peor caso de máximo de tiempo de acceso para cada acceso de cada procesador.
Un objeto de la presente invención es proporcionar un procedimiento de interconexión de uno o más procesadores con una memoria externa a través de un bus de árbitro único de forma que se reduzca o supere algunos de los problemas descritos anteriormente.
De acuerdo con un aspecto de la invención, esto se consigue haciendo que el árbitro identifique el procesador u otro dispositivo asociado con cada acceso a la memoria y que la memoria tenga múltiples registros de lectura en bloque que son seleccionados de acuerdo con la identidad del procesador u otro dispositivo asociado con cada acceso.
La memoria puede por tanto soportar múltiples accesos en modo ráfaga en paralelo manteniendo los datos de ráfaga asociados en un registro de lectura en bloque separado, y leyendo datos de cada registro según el procesador identificado en cada acceso emitido por el árbitro.
El número de registros de lectura en bloque no tiene que ser necesariamente igual al número de procesadores. Si hay menos registros que procesadores, entonces el árbitro puede compartir uno o más de los registros de lectura en bloque entre procesadores particulares que son preferentemente seleccionados por tener menores requerimientos de ancho de banda. Si hay más registros que procesadores, entonces el árbitro puede hacer uso de dos o más registros para soportar dos o más rangos de códigos dirección o ráfagas de datos de un único procesador. Como ejemplo, esto podría separar de forma efectiva accesos de código y datos donde estos ocurren de forma contigua en diferentes rangos de direcciones.
De acuerdo con otro aspecto, la invención consiste en un procedimiento de interconexión de un procesador u otro dispositivo con una memoria externa a través de un bus de árbitro único, en el cual el árbitro identifica un rango de códigos de dirección de memoria para cada acceso a la memoria, y la memoria tiene múltiples registros de lectura en bloque que son seleccionados de acuerdo con la identidad del rango de códigos de dirección asociados con cada acceso.
La invención será ahora descrita mediante ejemplos con referencia a los dibujos adjuntos, en los cuales:
La Figura 1 ilustra un acceso en modo ráfaga normal entre un único procesador y una memoria FLASH externa.
La Figura 2 muestra cómo dos procesadores podrían acceder a una memoria FLASH externa a través de un árbitro de bus.
La Figura 3 es un diagrama esquemático de una forma de realización de la invención.
La Figura 4 muestra como el árbitro de bus controla los accesos de los múltiples procesadores a la memoria FLASH externa en la forma de realización de la Figura 3.
La Figura 3 muestra un ASIC "System-on-chip" (Sistema en chip) que incorpora tres núcleos de procesador A, B y C y un árbitro de bus. El árbitro de bus está conectado a través de una interfaz de múltiples pines I con un dispositivo de memoria FLASH externo F. El dispositivo de memoria FLASH F incorpora un mecanismo de acceso en modo ráfaga y tres registros de lectura en bloque R1, R2 y R3 con un sistema de selección codificado en binario, por ejemplo dos hilos permitirían la selección de hasta cuatro registros de lectura en bloque separados.
Los procesadores A, B y C envían peticiones de acceso al árbitro de bus S, quien arbitra de acuerdo con las prioridades predeterminadas en la concesión de acceso a la memoria FLASH F a través de la interfaz I. El árbitro de bus identifica el procesador al que se está dando acceso y esto es comunicado al dispositivo de memoria FLASH de forma que el procesador se asocie con el registro de lectura en bloque particular seleccionado para acceder a datos en la memoria FLASH. Por lo tanto, en este ejemplo, cada uno de los registros de lectura en bloque R1, R2 y R3 podría ser seleccionado para dar acceso a la memoria FLASH al correspondiente procesador A, B y C. La identidad de los procesadores se codifica preferiblemente en binario, y podría por ejemplo usar la señal de direccionamiento A[0], que normalmente no se usa en dispositivos FLASH basados en palabras.
Debido a que la memoria FLASH puede soportar acceso en modo ráfaga, cada uno de los registros de lectura en bloque puede contener una ráfaga de datos para soportar múltiples accesos en direcciones consecutivas que pueden ser incrementadas o disminuidas. Estos datos pueden ser leídos de los registros y devueltos a los respectivos procesadores bajo el control del árbitro del bus. Por lo tanto, los datos que pasan a través de la interfaz se ven entrelazados mediante los diferentes registros de lectura en bloque, pero esto no va en detrimento de la eficiencia del acceso en modo ráfaga, que se preserva mediante el almacenamiento separado de los datos en cada registro de lectura en bloque. El árbitro de bus S, por lo tanto, simplemente arbitra sobre la base de prioridades predeterminadas, sin tener que estar reduciendo la eficiencia por interrumpir el acceso en modo ráfaga.
La manera en que dos procesadores acceden a sus respectivas ráfagas de datos que inicialmente están configuradas en registros de lectura en bloque separados se muestra en la Figura 4. Una de las ráfagas de datos se configura mediante un acceso inicial N y la otra mediante un acceso inicial M, y aunque la ráfaga de datos M interrumpe la ráfaga de datos N, todos los accesos subsiguientes N+1 a N+5 y M+1 se benefician de ser de acceso cortos.
Se apreciará que los cambios en el árbitro del bus que se hacen de acuerdo con la invención, no prevendrán que este opere en el modo estándar si es conectado a una memoria FLASH externa estándar con un único registro de lectura en bloque.
También se apreciará que, aunque la invención se ha descrito en relación con el acceso a una memoria de tipo FLASH, es de igual forma aplicable para acceder a memoria externa RAM.
Finalmente, aunque la identidad de un procesador u otro dispositivo que acceda a la memoria puede ser fija, también es posible asignar una identidad de acceso a un dispositivo basada en un rango de direcciones programable. Además, la asignación de identidades puede ser cambiada de forma dinámica según requerimientos del sistema. Por ejemplo, en vez de un procesador el dispositivo que requiere acceso podría ser un modulo de Acceso Directo a Memoria (DMA).

Claims (8)

1. Aparato que comprende múltiples dispositivos de datos y un árbitro de bus que controla el acceso de los dispositivos a una memoria externa a través de una interfaz, caracterizado porque la memoria externa comprende múltiples registros de lectura, cada uno de los cuales está adaptado para soportar acceso en modo ráfaga de un dispositivo de datos correspondiente, con el árbitro seleccionando el registro de lectura que debe ser usado siguiendo una ráfaga de acceso inicial de acuerdo con la identidad del dispositivo de datos que está requiriendo acceso.
2. Aparato como se reivindica en la reivindicación 1 en el cual la identidad del dispositivo de datos es fija.
3. Aparato como se reivindica en la reivindicación 1 en el cual la identidad de un dispositivo de datos está basada en un rango de direcciones programable.
4. Aparato como se reivindica en la reivindicación 1 en el cual la asignación de identidades se cambia de forma de dinámica según requisitos de operación.
5. Aparato como se reivindica en una cualquiera de las reivindicaciones anteriores en el cual la identidad de un dispositivo de datos se codifica en binario.
6. Aparato como se reivindica en cualquiera de las reivindicaciones anteriores en el cual los dispositivos de datos comprenden procesadores o módulos de Acceso Directo a Memoria.
7. Aparato como se reivindica en una cualquiera de las reivindicaciones anteriores en el cual la memoria comprende una memoria de tipo FLASH o una memoria de tipo RAM.
8. Un procedimiento de interconexión de múltiples dispositivos de datos a través de un árbitro de bus con una memoria externa para soportar acceso en modo ráfaga de cada dispositivo de datos, caracterizado porque se proporcionan múltiples registros de lectura en la memoria, cada uno de los cuales se usa para soportar acceso en modo ráfaga de un dispositivo de datos correspondiente, con el árbitro seleccionando el registro de lectura que debe ser usado siguiendo una ráfaga de acceso inicial de acuerdo con la identidad del dispositivo de datos que requiere el acceso.
ES02767643T 2001-09-17 2002-09-17 Interconexion de procesadores con memoria externa soportando modo rafaga. Expired - Lifetime ES2259718T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0122401.3A GB0122401D0 (en) 2001-09-17 2001-09-17 Interfacing processors with external memory
GB0122401 2001-09-17

Publications (1)

Publication Number Publication Date
ES2259718T3 true ES2259718T3 (es) 2006-10-16

Family

ID=9922208

Family Applications (1)

Application Number Title Priority Date Filing Date
ES02767643T Expired - Lifetime ES2259718T3 (es) 2001-09-17 2002-09-17 Interconexion de procesadores con memoria externa soportando modo rafaga.

Country Status (10)

Country Link
US (1) US7716442B2 (es)
EP (1) EP1436710B1 (es)
JP (1) JP4322116B2 (es)
KR (1) KR100899514B1 (es)
CN (1) CN1296843C (es)
AT (1) ATE320043T1 (es)
DE (1) DE60209761T2 (es)
ES (1) ES2259718T3 (es)
GB (1) GB0122401D0 (es)
WO (1) WO2003025768A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8503342B2 (en) 2004-07-30 2013-08-06 Airvana Llc Signal transmission method from a local network node
EP3179775B1 (en) 2004-07-30 2019-01-30 Commscope Technologies LLC Method and system of setting transmitter power levels
WO2006010953A2 (en) 2004-07-30 2006-02-02 Andrew Richardson A local network node
US7419038B2 (en) 2005-05-31 2008-09-02 Great Stuff, Inc. Reel and reel housing
JP6053384B2 (ja) * 2012-08-08 2016-12-27 キヤノン株式会社 情報処理装置、メモリ制御装置およびその制御方法
GB2522057B (en) 2014-01-13 2021-02-24 Advanced Risc Mach Ltd A data processing system and method for handling multiple transactions
CN111371526A (zh) * 2020-03-16 2020-07-03 天津津航计算技术研究所 一种用于多任务模块猝发通信条件下的混合多址方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093914A (en) * 1989-12-15 1992-03-03 At&T Bell Laboratories Method of controlling the execution of object-oriented programs
US5592435A (en) * 1994-06-03 1997-01-07 Intel Corporation Pipelined read architecture for memory
US5577230A (en) * 1994-08-10 1996-11-19 At&T Corp. Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
JP3176228B2 (ja) * 1994-08-23 2001-06-11 シャープ株式会社 半導体記憶装置
US5878240A (en) * 1995-05-11 1999-03-02 Lucent Technologies, Inc. System and method for providing high speed memory access in a multiprocessor, multimemory environment
EP0777182B1 (en) * 1995-11-28 2001-07-04 Bull S.A. A memory access limiter for random access dynamic memories
JP3264614B2 (ja) 1996-01-30 2002-03-11 富士写真光機株式会社 観察装置
US6061346A (en) * 1997-01-17 2000-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Secure access method, and associated apparatus, for accessing a private IP network
KR100245276B1 (ko) * 1997-03-15 2000-02-15 윤종용 버스트 모드 성능을 갖는 랜덤 억세스 메모리 장치 및 그의 동작 방법
JP3728641B2 (ja) * 1997-08-05 2005-12-21 株式会社リコー 画像形成装置
US6216180B1 (en) * 1998-05-21 2001-04-10 Intel Corporation Method and apparatus for a nonvolatile memory interface for burst read operations
JP4060442B2 (ja) * 1998-05-28 2008-03-12 富士通株式会社 メモリデバイス
JP3910301B2 (ja) 1998-12-14 2007-04-25 株式会社東芝 半導体装置及びその製造方法
WO2000043897A1 (fr) * 1999-01-20 2000-07-27 Fujitsu Limited Systeme de gestion de fichier comme support de conference
US6457075B1 (en) * 1999-05-17 2002-09-24 Koninkijke Philips Electronics N.V. Synchronous memory system with automatic burst mode switching as a function of the selected bus master
US6460133B1 (en) * 1999-05-20 2002-10-01 International Business Machines Corporation Queue resource tracking in a multiprocessor system
JP2001014840A (ja) * 1999-06-24 2001-01-19 Nec Corp 複数ラインバッファ型メモリlsi
WO2001035234A1 (en) * 1999-11-05 2001-05-17 Analog Devices, Inc. Generic serial port architecture and system
US6621761B2 (en) * 2000-05-31 2003-09-16 Advanced Micro Devices, Inc. Burst architecture for a flash memory
JP4538911B2 (ja) * 2000-06-19 2010-09-08 ブラザー工業株式会社 メモリアクセス制御装置および記憶媒体
US6278654B1 (en) * 2000-06-30 2001-08-21 Micron Technology, Inc. Active terminate command in synchronous flash memory
DE10107833B4 (de) * 2001-02-16 2012-02-16 Robert Bosch Gmbh Speicheranordnung und Verfahren zum Auslesen einer Speicheranordnung

Also Published As

Publication number Publication date
EP1436710A1 (en) 2004-07-14
DE60209761D1 (de) 2006-05-04
JP2005503612A (ja) 2005-02-03
ATE320043T1 (de) 2006-03-15
DE60209761T2 (de) 2006-11-09
GB0122401D0 (en) 2001-11-07
JP4322116B2 (ja) 2009-08-26
CN1296843C (zh) 2007-01-24
EP1436710B1 (en) 2006-03-08
US20050005035A1 (en) 2005-01-06
KR100899514B1 (ko) 2009-05-27
WO2003025768A1 (en) 2003-03-27
KR20040045446A (ko) 2004-06-01
CN1555528A (zh) 2004-12-15
US7716442B2 (en) 2010-05-11

Similar Documents

Publication Publication Date Title
US5740404A (en) Digital signal processor with on-chip select decoder and wait state generator
ES2355054T3 (es) Procedimiento de control de flujo para mejorar la transferencia de datos a través de una matriz de conmutación.
ES2435427T3 (es) Procedimiento y aparato para activar la señalización cooperativa de una interrupción de bus compartido en un subsistema de memoria multirrango
ES2259718T3 (es) Interconexion de procesadores con memoria externa soportando modo rafaga.
JP2019520660A5 (es)
FI895740A0 (fi) Kommunikationsprocessor foer paketfoermedlande naet.
ES2575095T3 (es) Memoria configurada para proporcionar acceso simultáneo de lectura / escritura a múltiples bancos
EP1085423A3 (en) A CAN microcontroller that permits current access to different segments of a common memory
KR910015933A (ko) 원칩 마이크로프로세서 및 그 버스시스템
EP0327203A2 (en) NxM arbitrating non-blocking high bandwidth switch
JP2008544414A (ja) メモリの微小タイリング
EP0460853A2 (en) Memory system
US5828891A (en) Multilevel interrupt device
KR20060090083A (ko) 듀얼 포트 메모리 장치
DE60034065D1 (de) Informationsverarbeitungseinheit
US6725292B2 (en) Direct memory access controller for circular buffers
JPH0628247A (ja) 動的に再配置されるメモリバンク待ち行列
US6556495B2 (en) 2-D FIFO memory having full-width read/write capability
US20040230754A1 (en) Memory system for a radiotelephone
KR100680454B1 (ko) 청크 할당을 통해 디인터리버 메모리 요구를 감소시키기 위한 시스템 및 방법
KR960018940A (ko) 브리지 및 컴퓨터 시스템
US6493778B1 (en) Extensible time-sharing bus structure
ES2200935T3 (es) Procedimiento para el intercambio de datos entre modulos conectados a un bus comun.
KR19990065664A (ko) 직접 메모리 액세스 제어 장치
JPH0442342A (ja) バス調停回路