EP2307965A1 - Circuit processeur à mémoire partagée et système tampon - Google Patents
Circuit processeur à mémoire partagée et système tamponInfo
- Publication number
- EP2307965A1 EP2307965A1 EP09781003A EP09781003A EP2307965A1 EP 2307965 A1 EP2307965 A1 EP 2307965A1 EP 09781003 A EP09781003 A EP 09781003A EP 09781003 A EP09781003 A EP 09781003A EP 2307965 A1 EP2307965 A1 EP 2307965A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- memory
- data
- processor circuit
- instructions
- read
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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.
- the first of the memory units 4 is used for storing the instructions while the second memory unit 3 serves for data storage.
- Each memory unit 3, 4 communicates with the calculation unit 2 via a respective communication bus 5, 6.
- This architecture is characterized by a separation of data and instructions. 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.
- 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 amendment entails additional costs due to the need to perform design work at the component level itself.
- this processor circuit always has two separate memory units with a large area which does not solve the surface problem of Harvard architecture.
- 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 architecture is modified in that the data bus is connected to both the data memory and the program memory. Thus, the flexibility provided by this processor circuit requires modifying the processor circuit in its depth and therefore leads to significant development costs.
- one of the disadvantages of storing data in the program memory is the difference in size between data and instructions. Indeed, it is generally found that the instructions are encoded on a larger number of bits than the data.
- 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, of smaller surface area and which does not lose time in case of reading successive data, without said architecture being modified.
- the invention relates to the processor circuit exclusively of Harvard architecture cited above, characterized in that said processor circuit comprising management means placed between the first and second memory elements and the computing unit and capable of backing up a plurality of data or instructions to save time in successive reads, and in that the management means comprises buffer means for storing a plurality of data, said buffer means including an address comparator for detecting whether address of a memory box to read is the same as that read previously to read directly into the buffer so as to save time.
- Advantageous embodiments of the processor circuit are the subject of dependent claims 2 to 7.
- An advantage of the processor circuit is the possibility of saving time in case of reading successive data.
- the management means for managing communications between the shared memory unit and the computing unit are capable of saving the entire read memory box. This capacity makes it possible to directly read the data of the said box saved from the management means in the case where the other data stored in the box must be read during the next reading.
- a second 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 the data and instructions, thereby gaining the surface. So for a volume of equivalent storage, 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 these elements are only present in one copy.
- Another advantage is the flexibility of use of 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 already cited schematically shows the processor circuit according to the prior art
- Figure 2 schematically shows the processor circuit according to the present invention
- FIG. 3 represents the different possible memory boxes contained in the shared memory 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 3a, 4a containing for one 3a, the data and for the other 4a, 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 3a, 4a via respective communication buses 5, 6. These communication buses 5, 6 respectively connect said calculation unit 2 to the memory element 3a containing the data and said data communication unit.
- calculation 2 to the memory element 4a containing the instructions and are respectively called data bus 5 and program bus 6.
- the communication means 5, 6 further comprise management means 8 for managing 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 calculation unit 2.
- This interface 8 is firstly connected to the shared memory 7 by a communication bus 9 called memory bus and secondly connected to the calculation unit 2 via the program bus 6 and the data bus 5.
- This memory interface 8 comprises buffer memory means 10, 1 1 used to save data in order to make successive data reading faster.
- the two memory elements 3a, 4a 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 memory elements 3a, 4a are grouped with each other, 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 makes it possible to be more flexible in its use. Since the data and instructions are grouped together, the space that 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 limit virtual can be moved to allow storage of more 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 will be moved, to grant the instructions, a larger space. This flexibility of use is all the more appreciable since it is easier to move a purely software virtual limit than to physically optimize the size of the memories 3a, 4a as is the case for the case of unshared memories.
- the memory interface 8 is used to manage the communications between the shared memory 7 and the calculation unit 2. The operation of this interface consists in receiving the read commands of the calculation unit 2 for given memory addresses. Then, the memory interface 8 interprets these orders and fetches the data or instructions to the corresponding memory addresses. Once these addresses are targeted, the interface 8 retrieves the data or instructions contained therein and sends the result to the calculation unit 2 so that the latter can process it.
- a specificity of shared memory is that data and instructions are not encoded on the same number of bits. Indeed, the instructions are coded on 16 or 32 bits whereas the data are generally coded on 8 bits.
- each DAT memory box A_X may then comprise between 2 and 4 distinct data depending on the size of the instructions as shown in FIG. 3.
- 16-bit encoded instructions and 8-bit encoded data will be used as examples.
- each 16-bit DAT A_X memory box comprises two different data Da and Db of 8 bits.
- the memory interface 8 takes the entire DATA_X memory box then masks the data Db useless to ensure that only the desired Da data is read.
- the present invention proposes to solve this problem via the management means 8 located between the shared memory 7 and the calculation unit 2.
- the memory interface 8 uses the buffer means 10, 11 to save multiple data.
- These buffer means 10, 11 comprise a cache register 10 and an address comparator 11.
- the memory interface 8 will read the data Da while saving the entire box DAT memory A_X in which this data Da is in the cache register 10 and the corresponding address. Therefore, if the computing unit 2 wishes to read the second data Db, the address comparator 11 detects it by noting that the address to be read is identical to the previous one.
- the calculation unit 2 directly reads the memory box DAT A_X stored in the cache register 10 which allows not to waste time. Then by masking the data Da, the data Db is then usable by the calculation unit 2. Once this reading is done, the cache register 10 is erased and will be replaced by the next box read.
- This method using a cache register 10 and an address comparator 11 thus avoids that the memory interface 8 has direct access to the shared memory 7 to save time. For example, it is observed that, in this case with 16-bit coded instructions and 8-bit coded data, a 25% gain in cycle time is achieved. This gain can increase to 38% if the instructions are coded under 32 bits and the data is coded under 8 bits.
- the cache register 10 is not limited to a size equivalent to that of a memory cell DATA_X. Indeed, it can be provided that the cache register 10 has a larger storage capacity allowing, for example, to save several consecutive DATA_X memory boxes. This is to improve the reading of a data table.
- the shared memory 7 is a non-volatile memory or ROM, this possibility of not having to have direct access to the memory to read data allows a reduction in the power consumption.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CH01178/08A CH699208B1 (fr) | 2008-07-25 | 2008-07-25 | Circuit processeur à mémoire partagée et système tampon. |
| PCT/EP2009/059523 WO2010010163A1 (fr) | 2008-07-25 | 2009-07-23 | Circuit processeur à mémoire partagée et système tampon |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP2307965A1 true EP2307965A1 (fr) | 2011-04-13 |
Family
ID=41066080
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP09781003A Ceased EP2307965A1 (fr) | 2008-07-25 | 2009-07-23 | Circuit processeur à mémoire partagée et système tampon |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9063865B2 (fr) |
| EP (1) | EP2307965A1 (fr) |
| CH (1) | CH699208B1 (fr) |
| WO (1) | WO2010010163A1 (fr) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR3045864B1 (fr) * | 2015-12-21 | 2018-02-02 | Oberthur Technologies | Procede d'ecriture d'une donnee a stocker dans une memoire de microcircuit, procede de lecture et memoire de microcircuit associes |
| FR3075431B1 (fr) * | 2017-12-14 | 2020-01-10 | Bull Sas | Dispositif, chaine de traitement de donnees et procede de commutation de contexte |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6247084B1 (en) * | 1997-10-08 | 2001-06-12 | Lsi Logic Corporation | Integrated circuit with unified memory system and dual bus architecture |
| GB2345770B (en) * | 1999-01-15 | 2003-06-25 | Advanced Risc Mach Ltd | Data processing memory system |
| JP2001043180A (ja) * | 1999-08-03 | 2001-02-16 | Mitsubishi Electric Corp | マイクロプロセッサおよびそのための記憶装置 |
| JP2001202285A (ja) * | 2000-01-18 | 2001-07-27 | Nec Ic Microcomput Syst Ltd | マイクロプロセッサ及びそのプログラム命令とデータの格納方法 |
| US6769046B2 (en) * | 2000-02-14 | 2004-07-27 | Palmchip Corporation | System-resource router |
| US7007172B2 (en) * | 2001-06-01 | 2006-02-28 | Microchip Technology Incorporated | Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection |
| US7181572B2 (en) * | 2002-12-02 | 2007-02-20 | Silverbrook Research Pty Ltd | Cache updating method and apparatus |
| JP2004192021A (ja) * | 2002-12-06 | 2004-07-08 | Renesas Technology Corp | マイクロプロセッサ |
| US20050010726A1 (en) | 2003-07-10 | 2005-01-13 | Rai Barinder Singh | Low overhead read buffer |
| JP2008009591A (ja) | 2006-06-28 | 2008-01-17 | Matsushita Electric Ind Co Ltd | キャッシュメモリシステム |
| JP5157424B2 (ja) * | 2007-12-26 | 2013-03-06 | 富士通セミコンダクター株式会社 | キャッシュメモリシステム及びキャッシュメモリの制御方法 |
-
2008
- 2008-07-25 CH CH01178/08A patent/CH699208B1/fr unknown
-
2009
- 2009-07-23 US US13/055,635 patent/US9063865B2/en active Active
- 2009-07-23 EP EP09781003A patent/EP2307965A1/fr not_active Ceased
- 2009-07-23 WO PCT/EP2009/059523 patent/WO2010010163A1/fr not_active Ceased
Non-Patent Citations (1)
| Title |
|---|
| See references of WO2010010163A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2010010163A1 (fr) | 2010-01-28 |
| US9063865B2 (en) | 2015-06-23 |
| CH699208B1 (fr) | 2019-03-29 |
| CH699208A1 (fr) | 2010-01-29 |
| US20110185127A1 (en) | 2011-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| FR2881540A1 (fr) | Procede et systeme destines a empecher que des lignes de memoire cache soient videes jusqu'a ce que les donnees stockees dans celles-ci ne soient utilisees. | |
| EP1510925A2 (fr) | Mémoire cache à lecture asynchrone et dispositif de controle de l'accès à une mémoire de données comprenant une telle mémoire cache | |
| EP2088511A1 (fr) | Système informatique multiprocesseur | |
| FR2707774A1 (fr) | Procédé de gestion cohérente des échanges entre des niveaux d'une hiérarchie de mémoires à au moins trois niveaux. | |
| EP2307965A1 (fr) | Circuit processeur à mémoire partagée et système tampon | |
| EP0718769B1 (fr) | Dispositif de protection de l'accès à des mots mémoires | |
| FR2723794A1 (fr) | Micro-ordinateur comprenant une memoire eprom et procede de fabrication de celui-ci | |
| WO2015086845A1 (fr) | Systeme d'ecriture de donnees dans une mémoire | |
| WO2009071791A2 (fr) | Verification de donnees lues en memoire | |
| WO2013104875A1 (fr) | Systeme et procede de gestion de correspondance entre une memoire cache et une memoire principale | |
| EP1607878A1 (fr) | Procédé et programme d'ordinateur de traitement d'une adresse virtuelle pour la programmation d'un contrôleur de DMA et système sur puce associé | |
| WO2010010164A2 (fr) | Circuit processeur à mémoire partagée | |
| EP4435615A1 (fr) | Procédé de gestion d'une mémoire cache | |
| EP3611623A1 (fr) | Contrôleur mémoire comprenant deux buffers et un selecteur d'un mode de remplissage desdits buffers | |
| FR2627298A1 (fr) | Systeme informatique a antememoire et procede pour acceder a des donnees dans un tel systeme | |
| EP1109089B1 (fr) | Procédé non déterministe de transfert sécurisé de données | |
| FR3136100A1 (fr) | Emulation de mémoire de données dans une mémoire Flash | |
| EP1544724B1 (fr) | Nouvelle architecture de mémoire FIFO et procédé de gestion d'une telle mémoire | |
| EP0557197B1 (fr) | Système de partage de temps d'accès à une mémoire partagée entre un processeur et d'autres applications | |
| EP1256880B1 (fr) | Système de traitement de données et procédé de distribution d'accès à des mémoires | |
| FR3084178A1 (fr) | Acces direct en memoire | |
| EP3598315B1 (fr) | Accès direct en mémoire | |
| CA2566067C (fr) | Procede et dispositif de gestion d'un bus | |
| FR2922037A1 (fr) | Procede de securisation de donnees en memoire vive | |
| EP4036916A1 (fr) | Dispositif comportant un circuit mémoire non volatil |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20110225 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR |
|
| AX | Request for extension of the european patent |
Extension state: AL BA RS |
|
| DAX | Request for extension of the european patent (deleted) | ||
| 17Q | First examination report despatched |
Effective date: 20140227 |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
| 18R | Application refused |
Effective date: 20160420 |