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
Links
- 238000000034 method Methods 0.000 title claims abstract description 6
- 230000006870 function Effects 0.000 abstract description 19
- 238000004891 communication Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent 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)
- 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.
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)
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)
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 |
-
2004
- 2004-01-21 FR FR0400528A patent/FR2865291A1/fr active Pending
-
2005
- 2005-01-17 EP EP05100230A patent/EP1557755A1/en not_active Withdrawn
- 2005-01-18 CN CNA2005100045304A patent/CN1645351A/zh active Pending
- 2005-01-19 MX MXPA05000788A patent/MXPA05000788A/es not_active Application Discontinuation
- 2005-01-19 US US11/038,303 patent/US20050172104A1/en not_active Abandoned
- 2005-01-20 KR KR1020050005397A patent/KR20050076702A/ko not_active Application Discontinuation
- 2005-01-21 JP JP2005013610A patent/JP2005209206A/ja active Pending
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 |