WO2010010164A2 - Processor circuit with shared memory - Google Patents

Processor circuit with shared memory Download PDF

Info

Publication number
WO2010010164A2
WO2010010164A2 PCT/EP2009/059524 EP2009059524W WO2010010164A2 WO 2010010164 A2 WO2010010164 A2 WO 2010010164A2 EP 2009059524 W EP2009059524 W EP 2009059524W WO 2010010164 A2 WO2010010164 A2 WO 2010010164A2
Authority
WO
WIPO (PCT)
Prior art keywords
memory
processor circuit
unit
computing unit
data
Prior art date
Application number
PCT/EP2009/059524
Other languages
French (fr)
Other versions
WO2010010164A3 (en
Inventor
Yves Théoduloz
Hugo Jaeggi
Tomas Toth
Original Assignee
Em Microelectronic-Marin 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 Em Microelectronic-Marin Sa filed Critical Em Microelectronic-Marin Sa
Publication of WO2010010164A2 publication Critical patent/WO2010010164A2/en
Publication of WO2010010164A3 publication Critical patent/WO2010010164A3/en

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/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention generally relates to a processor circuit.
  • the processor circuit includes a computing unit, a first memory element for storing data, and a second memory element for storing instructions. Said first and second memory elements are connected by at least one communication bus to the computing unit.
  • the Harvard-type processor circuits are known in the prior art and are shown in FIG. 1.
  • This Harvard architecture thus allows for an increased speed of the processor circuit because access to the instructions and the data can be performed at the same time.
  • the processor circuits 1 having such an architecture are in the form of a calculation unit 2 communicating with two separate memory units 3, 4. One of the memory units 4 is used for storing the instructions while the other memory unit 3 used for storing data. Each memory unit 3, 4 communicates with the calculation unit 2 via a respective communication bus 5, 6. This architecture is then characterized by a separation of the stored data and stored instructions.
  • this type of architecture has certain disadvantages. Indeed, this architecture imposes two physically distinct memory units thus increasing the area dedicated to said memory units and thus the surface of the integrated processor circuit.
  • this processor circuit has a flexibility of use resulting from a modification of a conventional Harvard architecture.
  • the processor circuit describes a conventional Harvard architecture which has two separate memory units and each communicating with the computing unit via a communication bus.
  • this modification is carried out so that the data bus is connected to both the data memory and the program memory.
  • One of the main aims of the present invention is to overcome the aforementioned drawbacks of the prior art, namely to produce a Harvard architecture processor circuit which is both flexible in its use and of a smaller surface area, without said architecture being be modified.
  • the invention relates to the processor circuit exclusively of Harvard architecture cited above, characterized in that the first and second memory elements forming a single memory unit for making a memory of the shared memory type, and in that it further comprises means for managing communications between the computing unit and the memory shared to provide a blocking signal that acts on the computing unit to block the operation of said computing unit and to prevent the execution of an instruction.
  • An advantage of the processor circuit according to the invention is that this processor circuit has a smaller area than that of a Harvard architecture according to the prior art. Indeed, the use of a shared memory allows the processor circuit according to the present invention to have only one physical memory unit to contain both data and instructions, thus allowing to gain surface. Thus for an equivalent storage volume, a shared memory has a smaller area than two separate memory units. This surface difference comes from the fact that for the case of two separate memory units, everything is doubled such as the control and control elements whereas for a shared memory, that is to say a single memory unit, all the elements are only present in one copy.
  • a second benefit is the flexibility of using shared memory. Indeed, having a single memory unit allows more flexibility in the allocation of the memory volume. This flexibility is a consequence of grouping data and instructions in the same physical unit. Virtual separation can be easily realized and adapted to allocate more or less memory volume to data or instructions.
  • FIG. 1 schematically represents the processor circuit according to the prior art
  • Figure 2 schematically shows the processor circuit according to the present invention
  • FIG. 3 schematically represents a preferred embodiment of the processor circuit according to the present invention.
  • FIG. 2 schematically shows a processor circuit 1 having a Harvard architecture according to the present invention.
  • This processor circuit 1 thus comprises a calculation unit 2 and two memory elements 3, 4 containing for one, the data and for the other 4, the instructions.
  • the computing unit 2 also called arithmetic and logic unit is used to perform the basic operations, this unit 2 being the heart of said processor circuit.
  • This calculation unit 2 communicates with the memory elements 3, 4 via respective communication buses 5, 6. These communication buses 5, 6 respectively connect said calculation unit 2 to the memory element 3 containing the data and said data unit. calculation 2 to the memory element 4 containing the instructions and are respectively called data bus 5 and program bus 6.
  • the present invention proposes to join the two memory elements 3, 4 in a single physical block to form a single memory unit 7 thus forming a shared memory.
  • This memory is said to be shared because it contains both data and instructions.
  • the data and instructions are grouped together, thus forming two distinct zones. This arrangement advantageously saves time and allows ease of programming because the data and instructions are not mixed.
  • this separation also allows said invention to be more flexible in its use.
  • the space which is devolved to them, can be optimized according to the applications. Indeed, it can be considered that the areas containing the data and the instructions are separated by a virtual limit easily adaptable.
  • this virtual limit is moved to allow storage of a larger amount of data.
  • the application of the processor circuit 1 requires a large number of instructions but few data then the virtual limit is moved to give the instructions a larger space.
  • FIG 3 is shown a particular embodiment.
  • This embodiment is characterized by management means 8 for managing the communications between the shared memory 7 and the calculation unit 2.
  • management means 8 are in the form of a memory interface 8 located between the shared memory 7 and the computation unit 2.
  • This interface is, on the one hand, connected to the shared memory 7 by a communication bus 9 called the memory bus and, on the other hand, connected to the calculation unit 2 via the program bus 6 and the data bus 5.
  • this interface 8 consists of receiving the read commands of the computing unit 2 to read given memory addresses. Then, the interface 8 interprets these orders and fetches the data or instructions to the corresponding memory addresses. Once these addresses are targeted, the interface 8 reads the data or instructions contained therein and sends the result to the calculation unit 2 so that the latter can process it.
  • the invention proposes to solve this problem by allowing the interface 8 to block the calculation unit 2.
  • the interface 8 comprises a blocking means for solving the problem above.
  • This blocking means consists of an S_block blocking signal connecting said interface 8 and the calculation unit 2.
  • this connection is made at the level of the calculation unit 2 via the clock input. 21, also called CLK.
  • the processor circuit 1 acts as explained before.
  • a read command is sent to the memory interface 8 which interprets it and reads the corresponding instruction.
  • this instruction read it is sent to the calculation unit 2 which executes it.
  • the memory interface 8 will detect that the command comes from the data bus 5. This detection will then trigger the blocking of the computation unit. 2 by said interface 8 via the blocking signal S_block.
  • This blocking is accomplished by forcing the clock input CLK to a logic level.
  • the CLK input will be forced to zero.
  • an AND logic gate is placed at the CLK input and at the input of this gate are connected the clock and S_block signals.
  • the S_block signal is then set to a logic zero level causing the zero of the output of said AND gate. This blocking then makes it impossible for said unit 2 to execute instructions. This impossibility is due to the fact that the clock signal is no longer transmitted to the calculation unit 2 thus preventing the execution of instructions. Thus, there is no risk that the calculation unit 2 executes an instruction while a data item is being read.
  • this blocking of the calculation unit 2 also makes it possible to reduce the consumption of electrical energy.
  • this blocking makes it possible not to execute an instruction at the same time as the reading of a piece of data, this blocking makes it possible to stop the operation of the unit 2.
  • this blocking of the calculation unit 2 makes it possible not to operate said unit 2 in a vacuum.
  • the memory or memories used may be a non-volatile memory also called ROM memory (Read OnIy Memory), such as an EEPROM (Electrically Erasable Programmable Read OnIy) memory.
  • RAM Random Access Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

The invention relates to a processor circuit (1) that comprises a computation unit (2), a first memory element (3) for storing data and a second memory element (4) for storing instructions. The first and second memory elements (3, 4) are each connected by a communication bus (5, 6) to the computation unit. The first and second memory elements define a single memory unit (7) in order to define a memory of the shared type.

Description

CIRCUIT PROCESSEUR A MEMOIRE PARTAGEE CIRCUIT PROCESSOR WITH SHARED MEMORY
La présente invention concerne de manière générale un circuit processeur. Ce circuit processeur comprend une unité de calcul, un premier élément mémoire pour le stockage des données et un second élément mémoire pour le stockage des instructions. Lesdits premier et second éléments mémoires sont reliés par au moins un bus de communication à l'unité de calcul.The present invention generally relates to a processor circuit. The processor circuit includes a computing unit, a first memory element for storing data, and a second memory element for storing instructions. Said first and second memory elements are connected by at least one communication bus to the computing unit.
ARRIERE PLAN TECHNOLOGIQUEBACKGROUND TECHNOLOGY
Les circuits processeurs de type Harvard sont connus dans l'art antérieur et sont représentés à la figure 1. Cette architecture Harvard permet ainsi une rapidité accrue du circuit processeur du fait que l'accès aux instructions et aux données peut être effectué au même moment. Les circuits processeurs 1 possédant une telle architecture se présentent sous la forme d'une unité de calcul 2 communiquant avec deux unités mémoires distinctes 3, 4. L'une des unités mémoires 4 sert au stockage des instructions alors que l'autre unité mémoire 3 sert au stockage des données. Chaque unité mémoire 3, 4 communique avec l'unité de calcul 2 via un bus de communication 5, 6 respectif. Cette architecture se caractérise alors par une séparation des données mémorisées et des instructions mémorisées.The Harvard-type processor circuits are known in the prior art and are shown in FIG. 1. This Harvard architecture thus allows for an increased speed of the processor circuit because access to the instructions and the data can be performed at the same time. The processor circuits 1 having such an architecture are in the form of a calculation unit 2 communicating with two separate memory units 3, 4. One of the memory units 4 is used for storing the instructions while the other memory unit 3 used for storing data. Each memory unit 3, 4 communicates with the calculation unit 2 via a respective communication bus 5, 6. This architecture is then characterized by a separation of the stored data and stored instructions.
Néanmoins, ce type d'architecture possède certains inconvénients. En effet, cette architecture impose deux unités mémoires physiquement distinctes augmentant ainsi la surface dédiée auxdites unités mémoires et donc la surface du circuit processeur intégré.Nevertheless, this type of architecture has certain disadvantages. Indeed, this architecture imposes two physically distinct memory units thus increasing the area dedicated to said memory units and thus the surface of the integrated processor circuit.
D'autre part, ce type d'architecture à deux unités mémoires séparées n'est pas flexible d'utilisation. Effectivement, même s'il est possible d'adapter la taille des deux unités mémoires selon l'utilisation qui en sera faite, cette adaptation nécessite une modification physique de la taille des deux unités mémoires. Cette modification entraîne des coûts supplémentaires dus à la nécessité d'effectuer un travail de conception au niveau du composant en lui même. II est également connu de l'art antérieur le document de brevet US 2002/0184465 qui décrit un circuit processeur utilisant une architecture similaire à une architecture Harvard. Ce circuit processeur est conçu de sorte à posséder les avantages de vitesse de traitement de l'architecture Harvard. En effet, le circuit processeur décrit par le document de brevet US 2002/0184465 comprend une architecture où la zone mémoire contenant les instructions est également capable de stocker des données. Cette architecture possède néanmoins deux unités mémoires distinctes, une pour les instructions et une pour les données. Cette possibilité de stocker des données dans l'unité mémoire qui contient les instructions permet une certaine flexibilité d'utilisation. Cette distinction a pour conséquences une surface importante ce qui ne permet pas de résoudre le problème de surface de l'architecture Harvard.On the other hand, this type of architecture with two separate memory units is not flexible to use. Indeed, even if it is possible to adapt the size of the two memory units according to the use that will be made, this adaptation requires a physical modification of the size of the two memory units. This change entails additional costs due to the need to perform design work at the component level itself. It is also known from the prior art US patent document 2002/0184465 which discloses a processor circuit using architecture similar to a Harvard architecture. This processor circuit is designed to have the processing speed advantages of Harvard architecture. Indeed, the processor circuit described by US patent document 2002/0184465 comprises an architecture where the memory area containing the instructions is also capable of storing data. This architecture nevertheless has two separate memory units, one for instructions and one for data. This ability to store data in the memory unit that contains the instructions allows some flexibility of use. This distinction results in a large area which does not solve the surface problem of Harvard architecture.
De plus, un autre inconvénient de ce circuit processeur est que celui-ci possède une flexibilité d'utilisation résultante d'une modification d'une architecture Harvard classique. Effectivement, le circuit processeur décrit une architecture Harvard classique qui possède bien deux unités mémoires distinctes et communiquant chacune avec l'unité de calcul via un bus de communication. Par contre, cette modification est réalisée de sorte que le bus de données est relié à la fois à la mémoire de données et à la mémoire programme. Ainsi, la flexibilité d'utilisation apportée par ce circuit processeur nécessite de modifier le circuit processeur dans sa profondeur et donc entraîne des coûts de fabrication non négligeables.In addition, another disadvantage of this processor circuit is that it has a flexibility of use resulting from a modification of a conventional Harvard architecture. Indeed, the processor circuit describes a conventional Harvard architecture which has two separate memory units and each communicating with the computing unit via a communication bus. On the other hand, this modification is carried out so that the data bus is connected to both the data memory and the program memory. Thus, the flexibility of use provided by this processor circuit requires modifying the processor circuit in its depth and therefore leads to significant manufacturing costs.
RESUME DE L'INVENTIONSUMMARY OF THE INVENTION
L'un des buts principaux de la présente invention est de pallier aux inconvénients susmentionnés de l'art antérieur à savoir réaliser un circuit processeur d'architecture Harvard qui est à la fois flexible dans son utilisation et de surface moindre, sans que ladite architecture ne soit modifiée. A cet effet, l'invention concerne le circuit processeur exclusivement d'architecture Harvard citée ci-devant, caractérisé en ce que les premier et deuxième éléments mémoires formant une seule unité mémoire pour réaliser une mémoire du type mémoire partagée, et en ce qu'il comprend en outre des moyens de gestion des communications entre l'unité de calcul et la mémoire partagée prévus pour fournir un signal de blocage qui agit sur l'unité de calcul afin de bloquer le fonctionnement de ladite unité de calcul et d'empêcher l'exécution d'une instruction.One of the main aims of the present invention is to overcome the aforementioned drawbacks of the prior art, namely to produce a Harvard architecture processor circuit which is both flexible in its use and of a smaller surface area, without said architecture being be modified. For this purpose, the invention relates to the processor circuit exclusively of Harvard architecture cited above, characterized in that the first and second memory elements forming a single memory unit for making a memory of the shared memory type, and in that it further comprises means for managing communications between the computing unit and the memory shared to provide a blocking signal that acts on the computing unit to block the operation of said computing unit and to prevent the execution of an instruction.
Des modes de réalisation avantageux du circuit processeur font l'objet des revendications dépendantes 2 à 3.Advantageous embodiments of the processor circuit are the subject of dependent claims 2 to 3.
Un avantage du circuit processeur selon l'invention est que ce circuit processeur possède une surface moindre que celle d'une architecture Harvard selon l'art antérieur. En effet, l'utilisation d'une mémoire partagée permet au circuit processeur selon la présente invention de n'avoir qu'une seule unité mémoire physique pour contenir à la fois les données et les instructions, permettant ainsi de gagner en surface. Ainsi pour un volume de stockage équivalent, une mémoire partagée a une surface plus faible que deux unités mémoires distinctes. Cette différence de surface vient du fait, que pour le cas de deux unités mémoires distinctes, tout est doublé tel que les organes de contrôle et de commande alors que pour une mémoire partagée, c'est-à-dire une seule unité mémoire, tous les éléments ne sont présents qu'en un seul exemplaire.An advantage of the processor circuit according to the invention is that this processor circuit has a smaller area than that of a Harvard architecture according to the prior art. Indeed, the use of a shared memory allows the processor circuit according to the present invention to have only one physical memory unit to contain both data and instructions, thus allowing to gain surface. Thus for an equivalent storage volume, a shared memory has a smaller area than two separate memory units. This surface difference comes from the fact that for the case of two separate memory units, everything is doubled such as the control and control elements whereas for a shared memory, that is to say a single memory unit, all the elements are only present in one copy.
Un second avantage est la flexibilité d'utilisation de la mémoire partagée. En effet, le fait d'avoir une seule unité mémoire permet plus de flexibilité dans l'allocation du volume mémoire. Cette flexibilité est une conséquence du regroupement des données et des instructions dans la même unité physique. Une séparation virtuelle peut être facilement réalisée et s'adapter pour allouer plus ou moins de volume mémoire aux données ou aux instructions.A second benefit is the flexibility of using shared memory. Indeed, having a single memory unit allows more flexibility in the allocation of the memory volume. This flexibility is a consequence of grouping data and instructions in the same physical unit. Virtual separation can be easily realized and adapted to allocate more or less memory volume to data or instructions.
BREVE DESCRIPTION DES FIGURESBRIEF DESCRIPTION OF THE FIGURES
Les buts, avantages et caractéristiques du circuit processeur apparaîtront plus clairement dans la description détaillée suivante d'au moins une forme de réalisation de l'invention donnée uniquement à titre d'exemple non limitatif et illustrée par les dessins annexés sur lesquels : la figure 1 représente de manière schématique le circuit processeur selon l'art antérieur; la figure 2 représente de manière schématique le circuit processeur selon la présente invention; et la figure 3 représente de manière schématique un mode de réalisation préférentiel du circuit processeur selon la présente invention.The purposes, advantages and characteristics of the processor circuit will appear more clearly in the following detailed description of at least one embodiment of the invention given solely by way of nonlimiting example and illustrated by the appended drawings in which: FIG. 1 schematically represents the processor circuit according to the prior art; Figure 2 schematically shows the processor circuit according to the present invention; and FIG. 3 schematically represents a preferred embodiment of the processor circuit according to the present invention.
DESCRIPTION DETAILLEE DE L'INVENTIONDETAILED DESCRIPTION OF THE INVENTION
Dans la description suivante, toutes les parties du circuit processeur qui sont bien connues d'un homme du métier dans ce domaine technique ne seront expliquées que de manière simplifiée.In the following description, all parts of the processor circuit that are well known to those skilled in the art will only be explained in a simplified manner.
La figure 2 représente de manière schématique un circuit processeur 1 possédant une architecture Harvard selon la présente invention. Ce circuit processeur 1 comprend ainsi une unité de calcul 2 et deux éléments mémoires 3, 4 contenant pour l'une 3, les données et pour l'autre 4, les instructions. L'unité de calcul 2 aussi appelée unité arithmétique et logique est utilisée pour effectuer les opérations de base, cette unité 2 étant le cœur dudit circuit processeur. Cette unité de calcul 2 communique avec les éléments mémoires 3, 4 via des bus respectifs de communication 5, 6. Ces bus de communication 5, 6 relient respectivement ladite unité de calcul 2 à l'élément mémoire 3 contenant les données et ladite unité de calcul 2 à l'élément mémoire 4 contenant les instructions et sont appelés respectivement bus de données 5 et bus de programme 6.Figure 2 schematically shows a processor circuit 1 having a Harvard architecture according to the present invention. This processor circuit 1 thus comprises a calculation unit 2 and two memory elements 3, 4 containing for one, the data and for the other 4, the instructions. The computing unit 2 also called arithmetic and logic unit is used to perform the basic operations, this unit 2 being the heart of said processor circuit. This calculation unit 2 communicates with the memory elements 3, 4 via respective communication buses 5, 6. These communication buses 5, 6 respectively connect said calculation unit 2 to the memory element 3 containing the data and said data unit. calculation 2 to the memory element 4 containing the instructions and are respectively called data bus 5 and program bus 6.
Afin de gagner en flexibilité d'utilisation et de diminuer la surface du circuit processeur, la présente invention se propose de réunir les deux éléments mémoires 3, 4 en un seul bloc physique afin de constituer une seule unité mémoire 7 formant ainsi une mémoire partagée. Cette mémoire est dite partagée car elle contient à la fois les données et les instructions. Préférentiellement, les données et instructions sont regroupées entre elles, formant ainsi deux zones distinctes. Cet agencement permet avantageusement de gagner du temps et de permettre une facilité de programmation, car les données et les instructions ne sont pas mélangées.In order to increase the flexibility of use and reduce the surface of the processor circuit, the present invention proposes to join the two memory elements 3, 4 in a single physical block to form a single memory unit 7 thus forming a shared memory. This memory is said to be shared because it contains both data and instructions. Preferably, the data and instructions are grouped together, thus forming two distinct zones. This arrangement advantageously saves time and allows ease of programming because the data and instructions are not mixed.
Par ailleurs, cette séparation permet en outre à ladite invention d'être plus flexible dans son utilisation. Comme les données et les instructions sont regroupées entre elles, l'espace, qui leur est dévolu, peut être optimisé en fonction des applications. En effet, on peut considérer que les zones contenant les données et les instructions sont séparées par une limite virtuelle facilement adaptable. Ainsi, si une application du circuit processeur 1 nécessite peu d'instructions mais énormément d'espace pour sauvegarder les données alors cette limite virtuelle est déplacée pour permettre le stockage d'un plus grand nombre de données. Par contre, si l'application du circuit processeur 1 nécessite un grand nombre d'instructions mais peu de données alors la limite virtuelle est déplacée pour accorder aux instructions un espace plus important. Cette flexibilité d'utilisation est d'autant plus appréciable qu'il est plus aisé de déplacer une limite virtuelle purement logicielle que d'optimiser physiquement la taille des mémoires 3, 4 comme c'est le cas des mémoires non partagées.Moreover, this separation also allows said invention to be more flexible in its use. As the data and instructions are grouped together, the space, which is devolved to them, can be optimized according to the applications. Indeed, it can be considered that the areas containing the data and the instructions are separated by a virtual limit easily adaptable. Thus, if an application of the processor circuit 1 requires few instructions but a lot of space to save the data then this virtual limit is moved to allow storage of a larger amount of data. On the other hand, if the application of the processor circuit 1 requires a large number of instructions but few data then the virtual limit is moved to give the instructions a larger space. This flexibility of use is all the more appreciable that it is easier to move a purely software virtual limit than to physically optimize the size of the memories 3, 4 as is the case of unshared memories.
Sur la figure 3 est représenté un mode de réalisation particulier. Ce mode de réalisation se particularise par des moyens de gestion 8 pour gérer les communications entre la mémoire partagée 7 et l'unité de calcul 2. Ces moyens de gestion 8 se présentent sous la forme d'une interface mémoire 8 située entre la mémoire partagée 7 et l'unité de calcul 2. Cette interface est d'une part reliée à la mémoire partagée 7 par un bus de communication 9 appelé bus mémoire et d'autre part reliée à l'unité de calcul 2 via le bus programme 6 et le bus de données 5.In Figure 3 is shown a particular embodiment. This embodiment is characterized by management means 8 for managing the communications between the shared memory 7 and the calculation unit 2. These management means 8 are in the form of a memory interface 8 located between the shared memory 7 and the computation unit 2. This interface is, on the one hand, connected to the shared memory 7 by a communication bus 9 called the memory bus and, on the other hand, connected to the calculation unit 2 via the program bus 6 and the data bus 5.
Le fonctionnement de cette interface 8 consiste à recevoir les ordres de lecture de l'unité de calcul 2 pour lire des adresses mémoires données. Puis, l'interface 8 interprète ces ordres et va chercher les données ou instructions aux adresses mémoires correspondantes. Une fois ces adresses ciblées, l'interface 8 lit les données ou instructions qui y sont contenues et envoie le résultat vers l'unité de calcul 2 pour que cette dernière puisse le traiter.The operation of this interface 8 consists of receiving the read commands of the computing unit 2 to read given memory addresses. Then, the interface 8 interprets these orders and fetches the data or instructions to the corresponding memory addresses. Once these addresses are targeted, the interface 8 reads the data or instructions contained therein and sends the result to the calculation unit 2 so that the latter can process it.
Or un des problèmes qui pourrait se produire est que l'unité de calcul 2 exécute la prochaine instruction alors que l'interface 8 est en train de lire une adresse précédemment demandée par ladite unité de calcul 2. En effet, ce problème pourrait survenir du fait du nombre de temps de cycles nécessaire, pour la lecture, qui serait trop important.Or one of the problems that could occur is that the calculation unit 2 executes the next instruction while the interface 8 is reading an address previously requested by said calculation unit 2. Indeed, this problem could arise from the makes the number of cycle times necessary, for reading, which would be too important.
Pour cela, l'invention se propose de résoudre ce problème en permettant à l'interface 8 de bloquer l'unité de calcul 2. Pour cela, l'interface 8 comprend un moyen de blocage permettant de résoudre le problème susmentionné. Ce moyen de blocage consiste en un signal de blocage S_block reliant ladite interface 8 et l'unité de calcul 2. Dans un mode de réalisation préférentiel, cette connexion se fait au niveau de l'unité de calcul 2 via l'entrée d'horloge 21 , aussi appelée CLK. Lors du fonctionnement du circuit processeur 1 , tant que l'unité de calculFor this, the invention proposes to solve this problem by allowing the interface 8 to block the calculation unit 2. For this, the interface 8 comprises a blocking means for solving the problem above. This blocking means consists of an S_block blocking signal connecting said interface 8 and the calculation unit 2. In a preferred embodiment, this connection is made at the level of the calculation unit 2 via the clock input. 21, also called CLK. During operation of the processor circuit 1, as long as the calculation unit
2 demande à lire des instructions, le circuit processeur 1 agit comme expliqué auparavant. Ainsi, un ordre de lecture est envoyé à l'interface mémoire 8 qui l'interprète puis lit l'instruction correspondante. Une fois cette instruction lue, celle-ci est envoyée à l'unité de calcul 2 qui l'exécute. Par contre, lorsque l'unité de calcul 2 donne l'ordre de lire une donnée, l'interface mémoire 8 va détecter que l'ordre vient du bus de données 5. Cette détection va alors enclencher le blocage de l'unité de calcul 2 par ladite interface 8 via le signal de blocage S_block. Ce blocage est réalisé en forçant l'entrée d'horloge CLK à un niveau logique. Préférentiellement, l'entrée CLK sera forcée à zéro. Pour cela, une porte logique ET est placée à l'entrée CLK et en entrée de cette porte sont connectés les signaux d'horloge et S_block. Le signal S_block est alors mis à un niveau logique zéro entraînant la mise à zéro de la sortie de ladite porte ET. Ce blocage entraîne alors une impossibilité pour ladite unité 2 d'exécuter des instructions. Cette impossibilité est due au fait que le signal d'horloge n'est plus transmis vers l'unité de calcul 2 empêchant ainsi l'exécution d'instructions. Ainsi, il n'existe pas de risque que l'unité de calcul 2 exécute une instruction pendant qu'une donnée est entrain d'être lue.2 requests to read instructions, the processor circuit 1 acts as explained before. Thus, a read command is sent to the memory interface 8 which interprets it and reads the corresponding instruction. Once this instruction read, it is sent to the calculation unit 2 which executes it. On the other hand, when the computation unit 2 gives the order to read a datum, the memory interface 8 will detect that the command comes from the data bus 5. This detection will then trigger the blocking of the computation unit. 2 by said interface 8 via the blocking signal S_block. This blocking is accomplished by forcing the clock input CLK to a logic level. Preferably, the CLK input will be forced to zero. For this, an AND logic gate is placed at the CLK input and at the input of this gate are connected the clock and S_block signals. The S_block signal is then set to a logic zero level causing the zero of the output of said AND gate. This blocking then makes it impossible for said unit 2 to execute instructions. This impossibility is due to the fact that the clock signal is no longer transmitted to the calculation unit 2 thus preventing the execution of instructions. Thus, there is no risk that the calculation unit 2 executes an instruction while a data item is being read.
Bien entendu, le blocage de l'unité de calcul 2 par action sur son entrée d'horloge n'est pas la seule manière de réaliser ce blocage. En effet, des entrées spécifiques ou existantes, telles qu'une entrée « enable » qui rend apte le composant à fonctionner et généralement présente, sont utilisables.Of course, the blocking of the computing unit 2 by action on its clock input is not the only way to achieve this blocking. Indeed, specific or existing entries, such as an "enable" entry that makes the component to function and generally present, are usable.
D'autre part, on peut signaler que ce blocage de l'unité de calcul 2 permet également une diminution de la consommation en énergie électrique. En effet, si le blocage permet de ne pas exécuter d'instruction en même temps que la lecture d'une donnée, ce blocage permet d'arrêter le fonctionnement de l'unité 2. Ainsi dans le cas où il n'y a pas d'instructions à exécuter, ce blocage de l'unité de calcul 2 permet de ne pas faire fonctionner ladite unité 2 dans le vide. On comprendra que la ou les mémoires utilisées peuvent être une mémoire non volatile appelée aussi mémoire ROM (Read OnIy Memory), telle qu'une mémoire EEPROM (Electrically Erasable Programmable Read OnIyOn the other hand, it can be pointed out that this blocking of the calculation unit 2 also makes it possible to reduce the consumption of electrical energy. In fact, if the blocking makes it possible not to execute an instruction at the same time as the reading of a piece of data, this blocking makes it possible to stop the operation of the unit 2. Thus in the case where there is no instructions to execute, this blocking of the calculation unit 2 makes it possible not to operate said unit 2 in a vacuum. It will be understood that the memory or memories used may be a non-volatile memory also called ROM memory (Read OnIy Memory), such as an EEPROM (Electrically Erasable Programmable Read OnIy) memory.
Memory) ou une mémoire volatile telle qu'une mémoire flash, RAM (Random Access Memory) ou autres.Memory) or a volatile memory such as a flash memory, RAM (Random Access Memory) or others.
On comprendra que diverses modifications et/ou améliorations et/ou combinaisons évidentes pour l'homme du métier peuvent être apportées aux différents modes de réalisation de l'invention exposés ci-dessus sans sortir du cadre de l'invention défini par les revendications annexées. It will be understood that various modifications and / or improvements and / or combinations obvious to those skilled in the art can be made to the various embodiments of the invention set forth above without departing from the scope of the invention defined by the appended claims.

Claims

REVENDICATIONS
1. Circuit processeur (1 ) comprenant une unité de calcul (2), un premier élément mémoire (3) pour le stockage des données et un second élément mémoire (4) pour le stockage des instructions, lesdits premier et second éléments mémoires (3, 4) étant reliés par au moins un bus de communication (5, 6) à l'unité de calcul, les premier et deuxième éléments mémoires formant une seule unité mémoire (7) pour réaliser une mémoire du type mémoire partagée, caractérisé en ce qu'il comprend en outre des moyens de gestion (8) des communications entre l'unité de calcul (2) et la mémoire partagée (7) prévus pour fournir un signal de blocage (S_block) qui agit sur l'unité de calcul (2) afin de bloquer le fonctionnement de ladite unité de calcul (2) et d'empêcher l'exécution d'une instruction.Processor circuit (1) comprising a computing unit (2), a first memory element (3) for data storage and a second memory element (4) for storing instructions, said first and second memory elements (3). , 4) being connected by at least one communication bus (5, 6) to the computing unit, the first and second memory elements forming a single memory unit (7) for producing a memory of the shared memory type, characterized in that it further comprises means (8) for managing communications between the computing unit (2) and the shared memory (7) provided to provide a blocking signal (S_block) which acts on the computing unit ( 2) to block the operation of said computing unit (2) and to prevent execution of an instruction.
2. Circuit processeur (1 ) selon la revendication 1 , caractérisé en ce que le signal de blocage (S_block) agit sur l'entrée d'horloge (CLK) de l'unité de calcul (2).2. Processor circuit (1) according to claim 1, characterized in that the blocking signal (S_block) acts on the clock input (CLK) of the computing unit (2).
3. Circuit processeur (1 ) selon les revendications 1 ou 2, caractérisé en ce que les moyens de gestion comprennent une interface mémoire (8) reliée à l'unité de calcul (2) au moyen d'au moins un premier bus (5, 6) et reliée à la mémoire partagée (7) par un second bus de communication (9) Processor circuit (1) according to claim 1 or 2, characterized in that the management means comprise a memory interface (8) connected to the computing unit (2) by means of at least a first bus (5). , 6) and connected to the shared memory (7) by a second communication bus (9)
PCT/EP2009/059524 2008-07-25 2009-07-23 Processor circuit with shared memory WO2010010164A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH01177/08A CH699207B1 (en) 2008-07-25 2008-07-25 shared memory processor circuit.
CH01177/08 2008-07-25

Publications (2)

Publication Number Publication Date
WO2010010164A2 true WO2010010164A2 (en) 2010-01-28
WO2010010164A3 WO2010010164A3 (en) 2010-03-25

Family

ID=41506465

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/059524 WO2010010164A2 (en) 2008-07-25 2009-07-23 Processor circuit with shared memory

Country Status (2)

Country Link
CH (1) CH699207B1 (en)
WO (1) WO2010010164A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0713170A1 (en) * 1994-11-21 1996-05-22 Nec Corporation Data processing apparatus
EP1315090A1 (en) * 2000-08-30 2003-05-28 Matsushita Electric Industrial Co., Ltd. Memory access controller
US20050210215A1 (en) * 2004-03-19 2005-09-22 Renesas Technology Corp. Semiconductor device permitting rapid data reading and writing between processor and memory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175841A (en) * 1987-03-13 1992-12-29 Texas Instruments Incorporated Data processing device with multiple on-chip memory buses
JPS6414648A (en) * 1987-07-08 1989-01-18 Mitsubishi Electric Corp Arithmetic processor
GB2345770B (en) * 1999-01-15 2003-06-25 Advanced Risc Mach Ltd Data processing memory system
JP2001043180A (en) * 1999-08-03 2001-02-16 Mitsubishi Electric Corp Microprocessor and storage device therefor
JP2001202285A (en) * 2000-01-18 2001-07-27 Nec Ic Microcomput Syst Ltd Microprocessor, and its program instruction and data storing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0713170A1 (en) * 1994-11-21 1996-05-22 Nec Corporation Data processing apparatus
EP1315090A1 (en) * 2000-08-30 2003-05-28 Matsushita Electric Industrial Co., Ltd. Memory access controller
US20050210215A1 (en) * 2004-03-19 2005-09-22 Renesas Technology Corp. Semiconductor device permitting rapid data reading and writing between processor and memory

Also Published As

Publication number Publication date
WO2010010164A3 (en) 2010-03-25
CH699207A1 (en) 2010-01-29
CH699207B1 (en) 2013-05-15

Similar Documents

Publication Publication Date Title
EP0377368B1 (en) Data-processing device having a non-volatile electrically erasable and reprogrammable memory
FR2588980A1 (en) DIGITAL SIGNAL PROCESSING PROCESSOR COMPRISING SEVERAL MULTIPLIERS
FR2708364A1 (en) Non-volatile memory card with interactive setup of addresses
EP3259674B1 (en) Dram circuit provided with a built-in processor
EP0006478B1 (en) Programmable control latch mechanism for a data processing system
FR2683342A1 (en) INTERFACE CIRCUIT FOR INTEGRATED CIRCUIT BOARD.
WO2015086845A1 (en) System for writing data in a memory
FR2723794A1 (en) MICROCOMPUTER COMPRISING AN EPROM MEMORY AND METHOD OF MANUFACTURING THE SAME
FR2711832A1 (en) Non-volatile memory card with ready occupied indication and pins count minimisation
EP2307965A1 (en) Processor circuit with shared memory and buffer system
WO2010010164A2 (en) Processor circuit with shared memory
EP3637266A1 (en) Method for accessing a memory
EP1603049A1 (en) Interface of functional modules in a chip system
FR2786911A1 (en) SECURE EEPROM MEMORY HAVING UV ERASING DETECTION MEANS
EP3611623A1 (en) Memory controller comprising two buffers and means for selecting a filling mode for said buffers
EP0908828B1 (en) Distributed access control system for memory and method
EP0557197B1 (en) Access time sharing system to a memory shared by a processor and other applications
EP1256880B1 (en) Data processing system and method for distributing memory access
EP3598315B1 (en) Direct memory access
EP0636984B1 (en) Method and device for checking the data in a computer
FR3117226A1 (en) Method for managing the operation of a system on chip, for example a microcontroller, and corresponding system on chip
EP4036916A1 (en) Device comprising a non-volatile memory circuit
FR2922037A1 (en) Data i.e. bank data, securing method for e.g. static RAM of programmable electronic circuit in airplane, involves instantiating memory accesses with addresses, and providing read data at output based on result of parity control on read data
EP0694886B1 (en) Electronic franking system with a rechargeable operating programm in a flash memory
FR2553557A1 (en) Method of selecting memories and read-only memory cartridge with expanded capacity implementing such a method

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09781004

Country of ref document: EP

Kind code of ref document: A2

122 Ep: pct application non-entry in european phase

Ref document number: 09781004

Country of ref document: EP

Kind code of ref document: A2