FR2825810A1 - Dispositif electronique a processeur pipeline utilisant un compactage de code et procede de gestion d'un tel processeur - Google Patents
Dispositif electronique a processeur pipeline utilisant un compactage de code et procede de gestion d'un tel processeur Download PDFInfo
- Publication number
- FR2825810A1 FR2825810A1 FR0107387A FR0107387A FR2825810A1 FR 2825810 A1 FR2825810 A1 FR 2825810A1 FR 0107387 A FR0107387 A FR 0107387A FR 0107387 A FR0107387 A FR 0107387A FR 2825810 A1 FR2825810 A1 FR 2825810A1
- Authority
- FR
- France
- Prior art keywords
- loop
- unit
- processor
- signals
- connection
- 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.)
- Withdrawn
Links
- 230000006835 compression Effects 0.000 title description 3
- 238000007906 compression Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 11
- 238000005056 compaction Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- 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/3017—Runtime instruction translation, e.g. macros
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
La présente invention concerne un dispositif électronique à processeur pipeline (25) utilisant un compactage de code, qui comprend une unité de branchement (26) qui permet d'anticiper l'adresse de l'instruction suivante, et une unité de décompactage du code (27), et une mémoire (28), un nouveau jeu d'instructions étant défini pour l'ensemble processeur (25), unité de branchement (26) et unité de décompactage (27). L'unité de décompactage (27) est apte à envoyer deux signaux de début et de fin de boucle à l'unité de branchement (26) en décodant des étiquettes de début et de fin de boucle qui ont été introduites dans le nouveau jeu d'instructions. L'unité de branchement (26) traite ces deux signaux.La présente invention concerne, également, un procédé de gestion d'un tel processeur.
Description
<Desc/Clms Page number 1>
DESCRIPTION
La présente invention concerne un dispositif électronique à processeur pipeline utilisant un compactage de code, et un procédé de gestion d'un tel processeur.
La présente invention concerne un dispositif électronique à processeur pipeline utilisant un compactage de code, et un procédé de gestion d'un tel processeur.
Les concepteurs de dispositifs électroniques embarqués complexes ont souvent besoin de la puissance de traitement de processeurs RISC (processeur à jeu d'instructions réduit) pour réaliser des dispositifs ayant des caractéristiques et des performances élevées, et un coût fixe le plus bas possible. Or, ceci est difficile à réaliser. De tels processeurs RISC embarqués, par exemple intégrés dans un circuit intégré spécifique (ASIC), présentent des caractéristiques contraignantes en ce qui concerne leur capacité de stockage, et spécialement leur capacité de stockage de code. Un procédé de compactage de code permet, en effet, de réduire la capacité de stockage pour une application embarquée.
Le dispositif IBM à compactage de code appelé "CodePack", tel que décrit dans les documents référencés [1] et [2] en fin de description, est un exemple de réalisation d'un dispositif de ce type
Une technique de compactage de code, comme décrit dans le document référencé [2] et comme illustré sur la figure 1, consiste généralement à : - d'une part, utiliser un programme logiciel 10 pour traduire un code source 11 en instructions compactées 12 qui sont placées dans une mémoire programme 13, - d'autre part, décompacter les instructions au vol dans le circuit intégré spécifique 15, dans une unité de décompactage 14 située entre un processeur RISC 16 et la mémoire 13, les bus 18 et 19 étant respectivement un bus interne et un bus externe.
Une technique de compactage de code, comme décrit dans le document référencé [2] et comme illustré sur la figure 1, consiste généralement à : - d'une part, utiliser un programme logiciel 10 pour traduire un code source 11 en instructions compactées 12 qui sont placées dans une mémoire programme 13, - d'autre part, décompacter les instructions au vol dans le circuit intégré spécifique 15, dans une unité de décompactage 14 située entre un processeur RISC 16 et la mémoire 13, les bus 18 et 19 étant respectivement un bus interne et un bus externe.
<Desc/Clms Page number 2>
Une telle technique de compactage présente, cependant, un inconvénient majeur : il y a une perte de puissance de traitement du fait que le flot d'instructions compactées puis décompactées n'est pas identique à celui que l'on aurait eu sans ces étapes de compactage et décompactage. Le document référencé [2] prévoit ainsi une perte de puissance pouvant aller jusqu'à 10%.
D'autre part, lorsqu'un processeur RISC est utilisé, son architecture peut également influer sur les performances du dispositif. La plupart des processeurs RISC possèdent, en effet, un pipeline dont le nombre d'étages dépend de la conception du processeur. C'est le cas des processeurs ARM7 de la société Advance Risc Machine Ltd et des processeurs R3000 de la société MIPS, par exemple. Le premier étage de tous les processeurs pipeline est un étage pour aller chercher ("fetch"). Dans cet étage le processeur commande son bus adresse pour obtenir une instruction sur son bus données. Dans de tels processeurs, chaque boucle de programme qui se termine par une instruction de branchement conditionnel occasionne une grande perte de temps : en effet, plusieurs instructions, dont le nombre dépend de l'étendue du pipeline, sont appelées après un branchement conditionnel, et ne sont pas exécutées lorsqu'un branchement en début de boucle a lieu. Le pipeline doit alors être vidé, et rempli à nouveau à partir du début de la boucle. Le pipeline est ainsi vidé et re-rempli à chacun des rebouclages en début de boucle, ce qui a un impact négatif sur la performance du processeur.
La figure 2 met en évidence un tel inconvénient lors de l'exécution d'une boucle de n instructions par un pipeline à trois étages, la nième instruction étant l'instruction de branchement conditionnel. Ces trois étages sont respectivement un étage pour aller chercher (tâche A), un étage pour décoder (tâche B) et un étage pour exécuter
<Desc/Clms Page number 3>
(tâche C). Dans cet exemple chaque fois que la boucle est exécutée, deux cycles, référencés 20, correspondant aux appels d'instructions en dehors de la boucle (cycles n + 1 et n + 2) sont perdus, ce qui entraîne une diminution de la puissance de traitement du processeur. Les cycles représentés en hachuré correspondent à des cycles de vidage. Si l'on suppose que cette boucle est exécutée 100 fois et que la taille de la boucle est de 20 instructions, 200 cycles sur 2000 sont alors perdus, ce qui représente une perte de 9%.
Pour résoudre ce problème, comme décrit dans le document référencé [3], certains microprocesseurs complexes intègrent une unité de branchement qui permet d'anticiper l'adresse d'appel suivante. Mais, dans le domaine des dispositifs électroniques embarqués, les processeurs utilisés classiquement ne possèdent pas une telle unité, car dans ce domaine on s'efforce de viser au plus juste en termes de coût et d'autonomie.
La présente invention a pour objet de pallier les inconvénients définis ci-dessus.
La présente invention concerne un dispositif électronique utilisant un compactage de code, qui comprend un processeur pipeline, une unité de branchement qui permet d'anticiper l'adresse de l'instruction suivante, une unité de décompactage du code, et une mémoire, un nouveau jeu d'instructions étant défini pour l'ensemble processeur, unité de branchement, et unité de décompactage, caractérisé en ce que l'unité de décompactage est apte à envoyer deux signaux de début et de fin de boucle à l'unité de branchement en décodant des étiquettes de début et de fin de boucle qui ont été introduites dans le nouveau jeu
<Desc/Clms Page number 4>
d'instructions et en ce que l'unité de branchement est apte à traiter ces deux signaux.
L'unité de branchement, qui a un fonctionnement transparent lorsqu'il n'y a pas de signaux de début ou de fin de boucle, effectue dans ce cas une recopie des signaux entrants vers les signaux sortants.
La présente invention concerne également un procédé de gestion d'un processeur pipeline dans une boucle de programme compactée qui se termine par une instruction de branchement conditionnel, caractérisé en ce qu'il comprend les étapes suivantes : - on introduit des étiquettes de début et de fin de boucle dans les première et dernière instructions de la boucle, - on mémorise l'adresse de début de boucle lorsque l'étiquette de début de boucle est rencontrée, - lorsque l'étiquette de fin de boucle est rencontrée, en cas de rebouclage, on prend en compte l'instruction située à l'adresse de début de boucle.
La solution proposée par l'invention peut être appliquée à la plupart des processeurs RISC utilisant une technique de compactage. Elle permet de diminuer le temps d'exécution et offre un bon compromis entre la taille de code et la puissance de traitement.
Avantageusement le dispositif de l'invention peut être utilisé dans le domaine des dispositifs portables, spécialement dans le domaine des télécommunications par téléphones mobiles. Il permet d'une part d'éviter une augmentation de la taille mémoire lors d'un ajout de nouvelles caractéristiques, et d'autre part d'obtenir un coût très compétitif.
D'autres avantages apparaîtront lors de la description suivante d'un exemple de réalisation de
<Desc/Clms Page number 5>
l'invention qui va être faite en regard des dessins annexés, dans lesquels :
La figure 1 illustre un dispositif de compactagedécompactage de code de l'art connu.
La figure 1 illustre un dispositif de compactagedécompactage de code de l'art connu.
La figure 2 illustre le comportement d'un pipeline à trois étages pendant l'exécution d'une boucle de n instructions, la nième instruction étant une instruction de branchement conditionnel.
La figure 3 illustre le dispositif de l'invention.
La figure 4 illustre un organigramme d'un exemple de fonctionnement du dispositif de l'invention.
Comme illustré sur la figure 3, le dispositif de l'invention est un dispositif utilisant un compactage de code comprenant un processeur pipeline 25, par exemple un processeur embarqué, une unité de branchement 26, une unité de décompactage 27 modifiée afin de diminuer le nombre de fois où le pipeline est vidé, et une mémoire 28. Sur cette figure sont représentés les bus adresse BA, les bus données BD, les signaux de contrôle SC, et deux signaux BeginOfLoop et EndOfLoop spécifiques de l'invention.
L'unité de branchement 26 permet d'anticiper l'adresse correcte pour éviter de vider le pipeline.
De nouvelles étiquettes de début et de fin de boucle sont introduites dans les première et dernière instructions de chaque boucle. L'adresse de début de boucle est ainsi mémorisée lorsque l'étiquette de début de boucle est rencontrée. Lorsque l'étiquette de fin de boucle est rencontrée, s'il y a rebouclage, l'instruction prise en compte n'est pas l'instruction située à l'adresse suivant la boucle mais à l'adresse de début de boucle. Il n'est donc plus nécessaire de vider le pipeline pour exécuter la boucle une nouvelle fois. Tous les vidages de pipeline sont ainsi évités si ce n'est celui existant en fin de boucle.
<Desc/Clms Page number 6>
Dans le dispositif de l'invention l'unité de branchement 26 est disposée à l'extérieur du processeur, ce qui permet d'améliorer le fonctionnement du processeur, et de compenser l'impact, en termes de performance, de l'unité de décompactage 27.
Dans le dispositif de l'invention, tel qu'illustré sur cette figure 3, un circuit intégré spécifique (ASIC) peut intégrer : - soit l'ensemble des composants 25,26, 27 et 28, - soit l'ensemble des composants sauf la mémoire 28, qui reste externe, - soit l'ensemble des composants sauf le processeur 25, - soit l'unité de branchement 26 et l'unité de décompactage 27.
Dans un exemple de réalisation, qui correspond au dispositif illustré sur la figure 3, on considère un processeur 25 de type ARM7TDMI, très utilisé pour les applications embarquées.
L'unité de décompactage 27 permet de générer les deux signaux de début et de fin de boucle"BeginOfLoop"et "EndOfLoop"vers l'unité de branchement 26, en décodant les deux étiquettes de début et de fin de boucle introduites dans le jeu d'instructions compactées. Les signaux de contrôle SC sont les signaux permettant l'accès à la mémoire, le signal ABORT qui permet de générer une exception sur le processeur, le signal nEXEC, qui indique qu'une instruction dans l'étage d'exécution n'est pas en train d'être exécutée, et le signal nOPC, qui indique un appel de code opération.
Pour des appels mémoire qui ne correspondent pas à aller chercher un code opération, l'unité de branchement est transparente, ce qui consiste en une recopie des bus
<Desc/Clms Page number 7>
adresses et données, schématisée par les équations suivantes : Abu [31 : 0] =Ap [31 : 0] et Dbu [31 : 0] =Dp [31 : 0]
Un exemple de fonctionnement de l'unité de branchement 26 est alors illustré dans l'organigramme de la figure 4, dans lequel on a successivement : - un test de début de boucle (référence 30), - une initialisation d'une première variable dénommée"offset"sur la taille de l'instruction (référence 31), - un test de fin de boucle (référence 32), - une modification de la variable offset (référence 33), - une recopie de bus (référence 34), - une initialisation d'une seconde variable dénommée, index" (référence 35), - un test du moment où l'instruction de fin de boucle est dans l'étage d'exécution du processeur (référence 36), - un test de branchement conditionnel exécuté (référence 37), - une génération de l'exception ABORT (référence 38), - une action pour rendre transparent le phénomène de pipe-line et éviter tout vidage (référence 39).
Un exemple de fonctionnement de l'unité de branchement 26 est alors illustré dans l'organigramme de la figure 4, dans lequel on a successivement : - un test de début de boucle (référence 30), - une initialisation d'une première variable dénommée"offset"sur la taille de l'instruction (référence 31), - un test de fin de boucle (référence 32), - une modification de la variable offset (référence 33), - une recopie de bus (référence 34), - une initialisation d'une seconde variable dénommée, index" (référence 35), - un test du moment où l'instruction de fin de boucle est dans l'étage d'exécution du processeur (référence 36), - un test de branchement conditionnel exécuté (référence 37), - une génération de l'exception ABORT (référence 38), - une action pour rendre transparent le phénomène de pipe-line et éviter tout vidage (référence 39).
Une exception ABORT est générée pour sortir de la boucle, lorsque le branchement conditionnel n'est pas exécuté. Cette exception change son adresse de retour pour reprendre correctement l'exécution du code.
<Desc/Clms Page number 8>
REFERENCES [1]"PowerPC adopts Code Compression"de Jim Turley (Microdesign Resources, 26 octobre 1998,
Microprocessor Report).
Microprocessor Report).
[2] "CodePackTM : Code Compression for PowerPCTM
Processors"de Mark Game et Alan Booker (site internet : www. chips. ibm. com/products/powerpc/corer/cd pack-wp. pdf ; version 1.0).
Processors"de Mark Game et Alan Booker (site internet : www. chips. ibm. com/products/powerpc/corer/cd pack-wp. pdf ; version 1.0).
[3]"PowerPC 603e RISC Microprocessor Technical
Summary" (MPR603TSU-04, MPC603E/D, Motorola Inc.,
1995, pages 1-32).
Summary" (MPR603TSU-04, MPC603E/D, Motorola Inc.,
1995, pages 1-32).
Claims (9)
1. Dispositif électronique utilisant un compactage de code, qui comprend un processeur pipeline (25), une unité de branchement (26) qui permet d'anticiper l'adresse de l'instruction suivante, une unité de décompactage du code (27), et une mémoire (28), un nouveau jeu d'instructions compactées étant défini pour l'ensemble processeur (25), unité de branchement (26), et unité de décompactage (27), caractérisé en ce que l'unité de décompactage (27) est apte à envoyer deux signaux de début et de fin de boucle (BeginOfLoop, EndOfLoop) à l'unité de branchement (26) en décodant des étiquettes de début et de fin de boucle qui ont été introduites dans le nouveau jeu d'instructions compactées, et en ce que l'unité de branchement (26) est apte à traiter ces deux signaux.
2. Dispositif selon la revendication 1, dans lequel l'unité de branchement (26) a un fonctionnement transparent lorsqu'il n'y a pas de signaux de début ou de fin de boucle, et effectue alors une recopie des signaux entrants vers les signaux sortants.
3. Dispositif selon la revendication 1 comportant un circuit intégré spécifique qui intègre le processeur (25), les unités (26,27) de branchement et de décompactage, et la mémoire (28).
4. Dispositif selon la revendication 1 comportant un circuit intégré spécifique qui intègre le processeur (25) et les unités (26,27) de branchement et de décompactage.
<Desc/Clms Page number 10>
5. Dispositif selon la revendication 1 comportant un circuit intégré spécifique qui intègre les unités (26, 27) de branchement et de décompactage et la mémoire (28).
6. Dispositif selon la revendication 1 comportant un circuit intégré spécifique qui intègre les unités (26, 27) de branchement et de décompactage.
7. Dispositif selon l'une quelconque des revendications précédentes, qui est un dispositif embarqué.
8. Procédé de gestion d'un processeur pipeline dans une boucle de programme compactée qui se termine par une instruction de branchement conditionnel, caractérisé en ce qu'il comprend les étapes suivantes : - on introduit des étiquettes de début et de fin de boucle dans les première et dernière instructions de la boucle, - on mémorise l'adresse de début de boucle lorsque l'étiquette de début de boucle est rencontrée, - lorsque l'étiquette de fin de boucle est rencontrée, en cas de rebouclage, on prend en compte l'instruction située à l'adresse de début de boucle.
9. Procédé selon la revendication 8, dans lequel le processeur pipeline est un processeur RISC.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0107387A FR2825810A1 (fr) | 2001-06-06 | 2001-06-06 | Dispositif electronique a processeur pipeline utilisant un compactage de code et procede de gestion d'un tel processeur |
EP02733141A EP1399809A1 (fr) | 2001-06-06 | 2002-06-04 | Procede et dispositif electronique permettant de traiter un code de programme comprime |
CNB028112261A CN1241115C (zh) | 2001-06-06 | 2002-06-04 | 处理压缩程序代码的电子设备和方法 |
KR10-2003-7001657A KR20030024831A (ko) | 2001-06-06 | 2002-06-04 | 압축된 프로그램 코드를 처리하는 전자 디바이스 및 방법 |
PCT/IB2002/002058 WO2002099632A1 (fr) | 2001-06-06 | 2002-06-04 | Procede et dispositif electronique permettant de traiter un code de programme comprime |
US10/479,553 US20040172525A1 (en) | 2001-06-06 | 2002-06-04 | Electronic device and method for processing compressed program code |
JP2003502679A JP2004533065A (ja) | 2001-06-06 | 2002-06-04 | 圧縮されたプログラムコードを処理する電子装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0107387A FR2825810A1 (fr) | 2001-06-06 | 2001-06-06 | Dispositif electronique a processeur pipeline utilisant un compactage de code et procede de gestion d'un tel processeur |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2825810A1 true FR2825810A1 (fr) | 2002-12-13 |
Family
ID=8864005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0107387A Withdrawn FR2825810A1 (fr) | 2001-06-06 | 2001-06-06 | Dispositif electronique a processeur pipeline utilisant un compactage de code et procede de gestion d'un tel processeur |
Country Status (7)
Country | Link |
---|---|
US (1) | US20040172525A1 (fr) |
EP (1) | EP1399809A1 (fr) |
JP (1) | JP2004533065A (fr) |
KR (1) | KR20030024831A (fr) |
CN (1) | CN1241115C (fr) |
FR (1) | FR2825810A1 (fr) |
WO (1) | WO2002099632A1 (fr) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7552316B2 (en) * | 2004-07-26 | 2009-06-23 | Via Technologies, Inc. | Method and apparatus for compressing instructions to have consecutively addressed operands and for corresponding decompression in a computer system |
US10817224B2 (en) | 2016-06-23 | 2020-10-27 | Qualcomm Incorporated | Preemptive decompression scheduling for a NAND storage device |
US11086631B2 (en) * | 2018-11-30 | 2021-08-10 | Western Digital Technologies, Inc. | Illegal instruction exception handling |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2325535A (en) * | 1997-05-23 | 1998-11-25 | Aspex Microsystems Ltd | Data processor controller with accelerated instruction generation |
EP0889395A2 (fr) * | 1997-06-30 | 1999-01-07 | Matsushita Electric Industrial Co., Ltd. | Processeur pipeline capable de reduire les aléas de branchement avec un circuit à petite échelle |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0863355A (ja) * | 1994-08-18 | 1996-03-08 | Mitsubishi Electric Corp | プログラム制御装置及びプログラム制御方法 |
GB2323190B (en) * | 1997-03-14 | 2001-09-19 | Nokia Mobile Phones Ltd | Executing nested loops |
GB2366643B (en) * | 2000-05-25 | 2002-05-01 | Siroyan Ltd | Methods of compressing instructions for processors |
-
2001
- 2001-06-06 FR FR0107387A patent/FR2825810A1/fr not_active Withdrawn
-
2002
- 2002-06-04 KR KR10-2003-7001657A patent/KR20030024831A/ko not_active Application Discontinuation
- 2002-06-04 WO PCT/IB2002/002058 patent/WO2002099632A1/fr not_active Application Discontinuation
- 2002-06-04 JP JP2003502679A patent/JP2004533065A/ja not_active Withdrawn
- 2002-06-04 US US10/479,553 patent/US20040172525A1/en not_active Abandoned
- 2002-06-04 EP EP02733141A patent/EP1399809A1/fr not_active Withdrawn
- 2002-06-04 CN CNB028112261A patent/CN1241115C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2325535A (en) * | 1997-05-23 | 1998-11-25 | Aspex Microsystems Ltd | Data processor controller with accelerated instruction generation |
EP0889395A2 (fr) * | 1997-06-30 | 1999-01-07 | Matsushita Electric Industrial Co., Ltd. | Processeur pipeline capable de reduire les aléas de branchement avec un circuit à petite échelle |
Non-Patent Citations (1)
Title |
---|
GOUDGE L: "COMPRESSING EMBEDDED RISC CODE", ELECTRONIC PRODUCT DESIGN, IML PUBLICATION, GB, vol. 16, no. 4, April 1995 (1995-04-01), pages 25 - 26,29-30, XP000913771, ISSN: 0263-1474 * |
Also Published As
Publication number | Publication date |
---|---|
CN1513138A (zh) | 2004-07-14 |
KR20030024831A (ko) | 2003-03-26 |
US20040172525A1 (en) | 2004-09-02 |
CN1241115C (zh) | 2006-02-08 |
EP1399809A1 (fr) | 2004-03-24 |
JP2004533065A (ja) | 2004-10-28 |
WO2002099632A1 (fr) | 2002-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5892966A (en) | Processor complex for executing multimedia functions | |
FR2820221A1 (fr) | Procede et systeme pour gerer des executables a bibliotheques partagees | |
CN111666497B (zh) | 应用程序的加载方法、装置、电子设备及可读存储介质 | |
FR2752966A1 (fr) | Sauvegarde et restauration efficaces de contexte dans un environnement a systeme de calcul multitache | |
CN104468629A (zh) | 一种批量发送消息的方法和装置 | |
EP0913765A1 (fr) | Processeur avec commande d'instructions répétables ou multicycles | |
FR2825810A1 (fr) | Dispositif electronique a processeur pipeline utilisant un compactage de code et procede de gestion d'un tel processeur | |
US7430743B2 (en) | System and method for hosting an application in one of a plurality of execution environments | |
JPH11224195A (ja) | マルチプルリターンサイトを実現するための方法及び装置 | |
US20140380034A1 (en) | System and method for redirecting input/output (i/o) sequences | |
FR2815801A1 (fr) | Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique d'echange entre maitre et esclave et systeme de suivi et de controle d'execution d'appliquettes | |
CN110858238B (zh) | 一种数据处理的方法和装置 | |
CN114661385A (zh) | 应用程序的调用方法、介质、装置和计算设备 | |
FR2850179A1 (fr) | Dispositif d'antememoire pour un processeur de signal numerique et procede de commande | |
EP3712838B1 (fr) | Dispositif électronique de traitement d'images | |
US7584328B2 (en) | Method, apparatus, and a system for efficient context switch | |
US9672352B2 (en) | Isolated program execution environment | |
CN104468841A (zh) | 一种批量发送消息的方法和装置 | |
EP4024221B1 (fr) | Procédé d'augmentation du nombre d'applications dans un dispositif à mémoire limitée | |
EP0441707B1 (fr) | Coupleur de bus série | |
FR2809835A1 (fr) | Systeme et procede d'arrondissement base sur une selection pour des operations a virgule flottante | |
EP2863305B1 (fr) | Double déport de traitement vers dispositif de traitement supplémentaire et central | |
EP4194067A1 (fr) | Procédé et appareil de traitement de ressources de moteur de jeu, dispositif électronique et support d'enregistrement lisible par ordinateur | |
US20230185903A1 (en) | Protection of call stack | |
KR100598488B1 (ko) | 원격 함수 제어 기능을 가지는 개인 휴대 단말기 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |