MXPA05000788A - Metodo para transferir datos en un sistema multiprocesador, sistema multiprocesador y procesador que realiza este metodo. - Google Patents

Metodo para transferir datos en un sistema multiprocesador, sistema multiprocesador y procesador que realiza este metodo.

Info

Publication number
MXPA05000788A
MXPA05000788A MXPA05000788A MXPA05000788A MXPA05000788A MX PA05000788 A MXPA05000788 A MX PA05000788A MX PA05000788 A MXPA05000788 A MX PA05000788A MX PA05000788 A MXPA05000788 A MX PA05000788A MX PA05000788 A MXPA05000788 A MX PA05000788A
Authority
MX
Mexico
Prior art keywords
processor
delegating
delegation
function
multiprocessor system
Prior art date
Application number
MXPA05000788A
Other languages
English (en)
Inventor
Marie-Jean Colaitis
Original Assignee
Thomson Licensing Sa
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 Thomson Licensing Sa filed Critical Thomson Licensing Sa
Publication of MXPA05000788A publication Critical patent/MXPA05000788A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

La presente invencion se relaciona con un metodo de transferencia de datos de un procesador (200) delegante, que requiere la ejecucion de funciones, a un procesador (202) responsable por delegacion, que ejecuta estas funciones en base en un identificador de funcion y parametros de ejecucion asociados con esta funcion, este identificador y estos parametros se proporcionan por el procesador (200) delegante, caracterizado porque el procesador (200) delegante tiene acceso a un banco de registros internos (216) del procesador (202) responsable por delegacion para almacenar en estos registros los parametros asociados con una funcion que se va a ejecutar simultaneamente a la ejecucion por el procesador responsable por delegacion de otra funcion.

Description

registros de trabajo para procesamiento de datos. Además, el procesador 100 delegante implementa el procedimiento para ejecución de funciones por el procesador 102 responsable por delegación al establecer una base 110 de los datos necesarios para esta ejecución, ésta base 110 se encuentra entre el procesador 100 delegante y el procesador 102 responsable por delegación al cual se conecta la base vía un enlace común 104 de comunicación. De acuerdo con otras variantes, el enlace común 104 es interno al procesador 100 delegante o conecta procesadores delegantes múltiples (no mostrados) a la base 110 y al procesador 102 responsable por delegación. Además, la base 110 se puede generar utilizando diferentes componentes electrónicos, tales como : - una memoria intermedia, compartida entre el procesador 100 delegante y el procesador 102 responsable por delegación, del tipo de memoria de acceso estático o SRAM, una memoria en disco o memoria instantánea, dispositivos de comunicación que procesan datos de acuerdo con el orden ,e¾¾Sue¾;11 o FIFO ("Primero en Entrar, Primero en Salir"), - otro medio de comunicación tal como dispositivos de comunicación .en serie. El procesador - 102r 'v£é3$$tieable por delegación después tiene acceso a la base: de datos lio para extraer, parámetros asociados con esta función que ya han sido colocados en su banco de registro interno. En otras palabras, ya no existe "factores que rebajan el rendimiento" asociados con un parámetro externo leído para ejecución de función. Por lo tanto, las funciones y programas que invocan un procesador delegante y uno responsable por delegación son más cortas y más rápidas de establecer debido a la ausencia de instrucciones en relación a la consulta de parámetros asociados con una función ejecutada por un procesador del responsable por delegación. En una modalidad, el procesador delegante tiene acceso a registros internos que son asignados exclusivamente a este procesador delegante para almacenamiento de datos. De acuerdo con una modalidad, u controlador interno del procesador responsable por delegación ordena la asignación de los registros, o espacios de memoria del banco de registros al procesador delegante. En una modalidad, antes de la asignación de espacio de memoria, el procesador delegante solicit una asignación de espacio de itteinoria por el controlador del procesador responsable por * ¿el*g*Ci6n para almacenar los parámetros necesarios para ejetíütar una función. De acuerdo con una modalidad, cuando el controlador asigna un espacio de memoria al procesador delegante, este controlador envía un identificador de espacio de memoria asignado al procesador delegante, después este procesador transfiere los parámetros para la ejecución de una función al espacio de memoria asignado. En una modalidad, el procesador delegante transfiere los datos que identifican la función solicitada al medio intermedio entre el procesador responsable por delegación y el procesador delegante, tal como una memoria de acceso aleatorio FIFO. De acuerdo con una modalidad, el banco de registros internos del procesador responsable por delegación es una memoria que contiene subconjuntos de registros con por lo menos una de las siguientes características: cada subconjunto de registro tiene sus propios puertos de lectura y escritura, cada subconjunto de registros tiene la misma cantidad de registros y contiene todos ios registros necesarios para la operacióntdel procesador responsable po delegación para ejecutar todaS lae funciones que es capaz de ejecutar el procesador t#i¾wfflj¾la por delegación, - cada subconjunto"-;-'pttede comunicarse con el procesador delegante o con el'¾£¾ce»ador' reeponeable por delegación. '·"·*' ' paralelo en el banco 216. En esta modalidad, preferida, el banco 216 de registros contiene espacios de memoria EMO 310 (figura 3), EM1 311, ...EMj 300, EM(j+l) 301, ..., EMi 302, ... EMn 304, cada espacio de memoria es uri conjunto de registros independientes que permiten al procesador delegado ejecutar todas sus funciones para cada espacio de memoria. Cada espacio de memoria de esta manera contiene los registros del trabajo necesarios para que se ejecuten las diferentes operaciones de procesador de datos por el procesador 202 responsable por delegación o el procesador 200 delegante. Además, cada espacio de memoria tiene sus propios puertos de escritura y lectura. En un ejemplo práctico adaptado para las capacidades de velocidades de transferencia actuales de los procesadores utilizados, particularmente en el dominio de procesamiento de imagen, el banco 216 comprende 4 porciones que incluyen 16 registros cada uno, y de esta manera constituyen 64 registros. Por lo tanto, el procesador responsable por delegación y el procesador delegado siempre operan en espacios de memoria diferentes utilizando el controlador 222 el cual evita conflietCMS de asignación al asignar espacios de memoria en un ÍMrtien . de memoria intermedia de anillo de control por prenda. '' esta función se ejecute sin interrupción de ninguna actividad de computación en el procesador 202 responsable por delegación. Para hacer esto, el procesador 200 delegante solicita que se asigne espacio de memoria desde la interconexión 210 al procesador 202 responsable por delegación en el banco 216 de registros y espera la respuesta del enlace común 204 de datos.; La interconexión 210 transfiere un mensaje 224 al controlador 222 que solicita la asignación de espacio de memoria en el banco 216. Cuando tal asignación es posible, el controlador transfiere el identificador 226 de espacio de memoria asignado al procesador 200 delegante, por ejemplo EMi 302. Utilizando este identificador, el procesador 200 delegante escribe los parámetros necesarios para ejecutar esta función vía la interconexión 210 y los puertos de escritura y lectura 212/214 en su espacio de memoria asignado EMi 302. Después, el procesador 200 transfiere a la base 217 FIFO datos que representa»: ;í ejecutar los cuales son, por ejemplo, una representación simbólica de dicha función -o una dirección de la memoria 208. - de acuerdo con "uña segunda etapa, cuando el {(EM(i+l) o EMO } ya ha sido utilizado por el procesador 202 responsable por delegación. En este último caBO, el procesador 200 delegante espera hasta que se encuentre disponible un espacio de memoria nuevo {EM(i+l) o EMO si i=n+l} . Esta invención está constituida por diversas variantes. En particular, en una variante, varios procesadores delegantes tienen acceso, por ejemplo simultáneamente, al registro interno del procesador 202.

Claims (1)

  1. función, este identificador y estos parámetros se proporcionan por un procesador delegante, caracterizado porque contiene un medio para que el procesador delegante tenga acceso a un banco de registros internos del procesador responsable por delegación par almacenar parámetros asociados con una función simultáneamente con la ejecución, por el procesador responsable por delegación, de otra función de acuerdo con un método que cumple con una de las reivindicaciones 1 a 18.
MXPA05000788A 2004-01-21 2005-01-19 Metodo para transferir datos en un sistema multiprocesador, sistema multiprocesador y procesador que realiza este metodo. MXPA05000788A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0400528A FR2865291A1 (fr) 2004-01-21 2004-01-21 Procede de transfert de donnees dans un systeme multiprocesseur, systeme multiprocesseur et processeur mettant en oeuvre ce procede

Publications (1)

Publication Number Publication Date
MXPA05000788A true MXPA05000788A (es) 2005-08-29

Family

ID=34630653

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA05000788A MXPA05000788A (es) 2004-01-21 2005-01-19 Metodo para transferir datos en un sistema multiprocesador, sistema multiprocesador y procesador que realiza este metodo.

Country Status (7)

Country Link
US (1) US20050172104A1 (es)
EP (1) EP1557755A1 (es)
JP (1) JP2005209206A (es)
KR (1) KR20050076702A (es)
CN (1) CN1645351A (es)
FR (1) FR2865291A1 (es)
MX (1) MXPA05000788A (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100759110B1 (ko) * 2006-10-26 2007-09-19 이상만 플로워용 방진장치
US7865697B2 (en) * 2008-02-27 2011-01-04 International Business Machines Corporation Apparatus for and method of processor to processor communication for coprocessor functionality activation
US8803897B2 (en) * 2009-09-03 2014-08-12 Advanced Micro Devices, Inc. Internal, processing-unit memory for general-purpose use
CN102539864B (zh) * 2010-12-31 2016-01-20 北京普源精电科技有限公司 数字示波器及信号测量方法
CN102693210B (zh) * 2011-03-21 2017-03-01 中兴通讯股份有限公司 一种处理器间传递参数的方法及装置
US8880811B2 (en) * 2011-06-27 2014-11-04 Intel Mobile Communications GmbH Data processing device and data processing arrangement for accelerating buffer synchronization
CN112236792A (zh) * 2018-06-06 2021-01-15 E·马伊姆 P2p架构中的安全交易系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4648034A (en) * 1984-08-27 1987-03-03 Zilog, Inc. Busy signal interface between master and slave processors in a computer system
US5038282A (en) * 1988-05-11 1991-08-06 Massachusetts Institute Of Technology Synchronous processor with simultaneous instruction processing and data transfer
US5388841A (en) * 1992-01-30 1995-02-14 A/N Inc. External memory system having programmable graphics processor for use in a video game system or the like
US6134653A (en) * 1998-04-22 2000-10-17 Transwitch Corp. RISC processor architecture with high performance context switching in which one context can be loaded by a co-processor while another context is being accessed by an arithmetic logic unit
US6397240B1 (en) * 1999-02-18 2002-05-28 Agere Systems Guardian Corp. Programmable accelerator for a programmable processor system
JP3327283B2 (ja) * 2000-03-10 2002-09-24 ヤマハ株式会社 ディジタルシグナルプロセッサ
US6822959B2 (en) * 2000-07-31 2004-11-23 Mindspeed Technologies, Inc. Enhancing performance by pre-fetching and caching data directly in a communication processor's register set
US6957326B1 (en) * 2001-06-28 2005-10-18 Turin Networks Methods and apparatuses for executing threads

Also Published As

Publication number Publication date
JP2005209206A (ja) 2005-08-04
KR20050076702A (ko) 2005-07-26
FR2865291A1 (fr) 2005-07-22
EP1557755A1 (en) 2005-07-27
US20050172104A1 (en) 2005-08-04
CN1645351A (zh) 2005-07-27

Similar Documents

Publication Publication Date Title
US7606995B2 (en) Allocating resources to partitions in a partitionable computer
US7484043B2 (en) Multiprocessor system with dynamic cache coherency regions
CA2501876C (en) Startup and control of graph-based computation
US8180996B2 (en) Distributed computing system with universal address system and method
US20050038941A1 (en) Method and apparatus for accessing a memory
US20050081202A1 (en) System and method for task queue management of virtual devices using a plurality of processors
CN110442381A (zh) 用于保护有条件的推测性指令执行的影子缓存
MXPA05000788A (es) Metodo para transferir datos en un sistema multiprocesador, sistema multiprocesador y procesador que realiza este metodo.
KR102212269B1 (ko) I/o 패킷 압축을 위한 레지스터 파일
US7496917B2 (en) Virtual devices using a pluarlity of processors
KR20040014604A (ko) 리소스 할당 방법 및 프로세서
US5761455A (en) Dynamic bus reconfiguration logic
US7793051B1 (en) Global shared memory subsystem
US20200341673A1 (en) Intra-device notational data movement system
US20190377671A1 (en) Memory controller with memory resource memory management
US7117313B2 (en) Using local storage to handle multiple outstanding requests in a SCI system
US20100185782A1 (en) Method and system for reducing address space for allocated resources in a shared virtualized i/o device
JP2780662B2 (ja) マルチプロセッサシステム
US10515027B2 (en) Storage device sharing through queue transfer
US11281612B2 (en) Switch-based inter-device notational data movement system
AU2007202782B2 (en) Startup and control of graph-based computation
JP2000330949A (ja) 仮想記憶システムのページング制御方法および装置
JPS62100858A (ja) 共有メモリ制御方式
JPH11306077A (ja) メモリ管理方法
JPH01211051A (ja) メモリ空間アサイン方式

Legal Events

Date Code Title Description
FA Abandonment or withdrawal