EP1723525A2 - SURVEILLANCE DE L’EXECUTION D’UN PROGRAMME PAR UN PROCESSEUR D’UN CIRCUIT ELECTRONIQUE - Google Patents
SURVEILLANCE DE L’EXECUTION D’UN PROGRAMME PAR UN PROCESSEUR D’UN CIRCUIT ELECTRONIQUEInfo
- Publication number
- EP1723525A2 EP1723525A2 EP05729301A EP05729301A EP1723525A2 EP 1723525 A2 EP1723525 A2 EP 1723525A2 EP 05729301 A EP05729301 A EP 05729301A EP 05729301 A EP05729301 A EP 05729301A EP 1723525 A2 EP1723525 A2 EP 1723525A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- circuit
- monitoring data
- program
- unit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
Definitions
- the present invention relates to a method of monitoring a program execution by a processor of an electronic circuit. It also relates to an electronic circuit comprising a programmable processor, adapted to implement such a method.
- Many devices incorporate an electronic card specifically designed for a particular application, which corresponds to the use of the device or to an additional function linked to this use.
- Such a card is presented as a printed electronic circuit (or PCB of the English “Printed Circuit Board”) which carries discrete and / or integrated electronic components, among which is a processor.
- Such a processor is commonly integrated into an ASIC (from the English “Application Specifies Integrated Circuit”). So that card functions can be customized by the device manufacturer, the processor is usually programmable. Thus, different functions can be offered by identical cards, but programmed differently.
- the same card model can then be used in devices of different customers, which considerably reduces the unit price of the cards.
- devices which incorporate an electronic card mention may be made, for example, of hard disk drives, modems, mobile telephones, washing machines, alarm clocks, etc.
- Different devices of the same type for example different hard disk drives, operate differently depending on the model of the device.
- These operating variants are obtained, in particular, by different programming of the processors of the cards incorporated in these devices, depending on the model of these devices.
- the programming of the processor is carried out by the manufacturer of the device (ie the customer), and not by the card manufacturer.
- the client uses a debugging tool, which makes it possible to find and correct any errors that may be present in the program.
- the debugging tool is connected to the programmed processor, and makes it possible to control the execution of parts of the program by the processor. It identifies the programmed commands which are successively executed, and gives access to states of certain elements of the processor such as the content of registers, the state of certain buses, values of pointed addresses, etc. Knowledge of these states allows the programmer to modify the program, to correct errors present in the initial version.
- the electronic circuit comprises, in addition to the processor, a data collection module for monitoring the execution of the program. Among the monitoring data collected are the states of processor elements at different times during the execution of the program, mentioned above.
- the IEEE 5001 standard known to those skilled in the art under the name “Nexus”, establishes a selection of monitoring data.
- the transmission rate of the monitoring data to the debugging tool depends on the operating speed of the processor, the transmission speed of the monitoring data and the size of the connection bus between the card which carries the processor and the debugging tool. For example, for a transmission operating at 150 megahertz and a two-byte bus, the transmission rate is 300 megabytes per second. However, it is expected that processors will present in the coming years an ever increasing complexity and speed of operation. Processors operating at approximately 1 GigaHertz are envisaged.
- the throughput of monitoring data passed to a debugging tool necessary to effectively monitor execution in real time of a program, is intended to increase considerably.
- this speed is currently limited to around 400 Megabytes per second, for the 16-bit transmission modes currently used between the card carrying the processor and the debugging tool.
- Such a solution requires providing a large memory capacity in the circuit. However, such memory capacities are expensive. This would result in a high price for each device, while the added memory would otherwise be useless during normal operation of each device.
- An object of the present invention is therefore to propose a method for developing a program which is compatible with a high speed of execution of the program, and which limits the increase in the price of each circuit.
- the invention provides a method of monitoring the execution of a program by a processor of an electronic circuit, according to which monitoring data are transmitted in serialized form between a circuit which incorporates the processor and a device for development of the program, and according to which a unit for clocking serialized data is shared between several serialization units. So the same timing unit is common to several serialization units, which avoids duplicating certain components within the circuit. This results in a decrease in the complexity of the circuit, a reduction in the number of pins of the circuit, as well as a reduction in the size of the silicon substrate from which the circuit is made. The level of integration of the circuit can thus be higher, and its cost price is reduced accordingly.
- the monitoring data is transmitted in serial form between the circuit which incorporates the processor and the debugging tool.
- a first advantage of a method according to the invention results from the mastery of serialization devices attained to date, which make serial transmission a safe, efficient and inexpensive mode of transmission.
- a second advantage of a method according to the invention lies in the reduced number of transmission wires that a serial connection comprises. Indeed, a serial connection can comprise only five wires, while a 16-byte bus comprising 20 wires is currently used for the connection between a programmable processor circuit and a debugging tool. For this reason, the cost of connecting the circuit to the debugging device is reduced by using a serial connection.
- the timing unit is common between, on the one hand, a first serialization unit intended to process data for monitoring the execution of the program, and, on the other hand, a second serialization unit intended to process data produced by the execution of the program.
- the process for monitoring the execution of the program by the processor of the electronic circuit then comprises the following steps: - connecting the circuit to a device for debugging the program by an external connection to the circuit and comprising at least one serial connection; - execute at least part of the program; - collect, within the circuit, data for monitoring the execution of said part of the program; and - transmit the monitoring data to the program development device via the external connection.
- the step of transmitting the monitoring data itself comprises the following sub-steps: - serializing the monitoring data within the circuit; - transmit serialized monitoring data; and - restore the monitoring data within the program development device.
- the same timing unit used to clock the serialized monitoring data is also used to clock another serialization of data produced by the execution of said part of the program. This dual use of the timing unit avoids having to provide a separate timing unit for each type of serialized data.
- the invention also provides an electronic circuit which is adapted to allow the use of a method for monitoring the execution of a program in accordance with the first embodiment of the invention.
- Such an electronic circuit includes: - a programmable processor; a unit for collecting data for monitoring the execution of part of a program by the processor; - a serial connector arranged to transmit collected monitoring data; and a unit for serializing the collected surveillance data, connected at the input to the collection unit and at the output at the connector, and is characterized in that it further comprises a timing unit arranged to clock the serialized surveillance data and to time another serialization of data produced by the execution of at least part of the program.
- the timing unit is common between several serialization units intended to process each of the respective parts of the data for monitoring the execution of the program.
- the process for monitoring the execution of a program by a processor of an electronic circuit then comprises the following steps: - connecting the circuit to a device for debugging the program by an external connection to the circuit and comprising several serial connections ; - execute at least part of the program; - collect, within the circuit, data for monitoring the execution of said part of the program; and - transmit the monitoring data to the program development device via the external connection.
- the step of transmitting the monitoring data then itself comprises the following sub-steps: - serializing the monitoring data within the circuit by using several serialization units in parallel with each other to serialize respective parts of the monitoring data, a common timing unit being used to clock said respective portions of the monitoring data serialized by the serialization units; - transmit the serialized monitoring data simultaneously via several of the serial connections included in the external connection and connected respectively to said serialization units; and - restore the monitoring data within the program development device by using several playback units in parallel with each other to restore said respective parts of the monitoring data.
- the transmission of the serialized monitoring data is carried out simultaneously via several serial connections included in the external connection and connected respectively to the serialization.
- An electronic circuit adapted for a monitoring method comprises: - a programmable processor; a unit for collecting data for monitoring the execution of part of a program by the processor; - a connector comprising several serial connection terminals arranged to transmit respective parts of the collected monitoring data; and - several monitoring data serialization units connected in parallel with each other each between the collection unit and a respective serial connection terminal of the connector, and is characterized in that it further comprises a common unit for timing of serialized monitoring data arranged to simultaneously time said serialization units of monitoring data.
- the invention finally relates to a hard disk controller which comprises an electronic circuit adapted to allow the use of a monitoring method in accordance with the first and / or the second embodiment of the invention.
- a mass storage device 10 comprises a data recording unit 11, for example a hard disk, denoted HD.
- the storage device 10 further comprises an electronic circuit 13, which can be produced in the form of a PCB card.
- the circuit 13 is the hard drive controller 11. It includes a programmable processor 14, denoted CPU, and which can be carried by the PCB.
- the processor 14 is connected by a first connection 12 to the recording unit 11.
- connection 12 transmits control instructions from the recording unit 11, as well as data read or intended to be recorded in the unit 11.
- a second connection, referenced 19, connects the processor 14 to an external device, not shown, which uses the data read in the recording unit 11, or which supplies data intended to be recorded in the unit 11.
- the circuit 13 further comprises the following circu it blocks: - a collection unit 15 connected as an input to an output of the processor 14 so as to collect data for monitoring the execution of a program by the processor 14.
- the collection unit 15 can comply with the “Nexus” standard introduced above; a unit 17 for serializing the collected data, denoted SER. on the face.
- the serialization unit 17 is connected at the input to an output of the collection unit 15; and - a serial connector 18, marked CONN.
- the serialization unit 17 can be connected to the collection unit 15 via a protocol adapter 16, denoted ADAPT. on the face.
- the adapter 16 converts data exchange protocols between the output interface of the collection unit 15 and the input interface of the serialization unit 17.
- the processor 14, the collection unit 15, the serialization unit 17 and, if necessary, the adapter 16 can be produced in a single integrated circuit. The connections between these circuit blocks are then made in integrated form.
- a program development device 30, called a debugging tool comprises a PCB 31 and a computer unit 36.
- the card 31 carries a serial connector 32, also denoted CONN., A serialized data restitution unit 33, denoted DESER., And a logic unit 34, denoted CPLD (for “Complex Programmable Logic Device” in English).
- the rendering unit 33 is connected at the input to the connector 32 and at the output at an input of the logic unit 34.
- the logic unit 34 is connected at the output to a port of the computer unit 36 by a connection 35. E In addition, it can optionally incorporate an adapter at the input which performs a function opposite to that of the adapter 16.
- the computer unit 36 hosts program development software, of a type known to those skilled in the art. job. It allows a programmer to follow an execution of a program by the processor 14, from monitoring data of this execution of the program, and possibly modify the program itself.
- the mass storage device 10 and the debugging tool 30 are connected to each other by a serial connection 20, disposed between the connectors 18 and 32.
- the connection 20 transmits signals corresponding to monitoring data from the execution of the program collected by the module 14 and transmitted to the debugging tool 30.
- the serial connection 20 is of one of the types known to those skilled in the art. For example, according to the SATA standard (for “Sériai Advanced Technology Attachment”, in English), 1 byte in serial form corresponds to 10 bits. For a processor 14 and a logic unit 34 clocked at 150 MegaHertz, and for monitoring data produced on two bytes, the bit rate necessary for the transmission of the serialized data by the connection 20 is at least 3 Gigabits per second.
- Serial connections, serialization units and serialized data restitution units which allow such a speed are available today. Some of these serial connections have five wires: two differential signal wires, two power supply wires and one electrical ground wire. Furthermore, a serialization unit adapted for such a transmission rate occupies a portion of substrate with a surface area of approximately 0.25 millimeter-square. It is therefore smaller than the set of pads required to connect an integrated circuit to a two-byte bus.
- the transmission of the surveillance data by the connection 20 can then be carried out in real time during the execution of the program by the processor 14.
- a programmer who uses the debugging tool 31 can have a quantity of surveillance data. as much as the transmission rate is high between the circuit 13 and the debugging tool 31.
- Figure 2 illustrates a combination of the first and second modes of implementation of the invention previously introduced. It incorporates the main elements of Figure 1: the electronic circuit 13 consisting of a PCB, which incorporates a programmable processor 14, a collection module 15, a protocol adapter 16 and a connector 18, as well as the debugging tool 30 which comprises a PCB 31, with a logic unit 34 and a connector 32.
- the connection 20 is replaced by several serial connections, for example four serial connections referenced 20a-20d.
- the circuit 13 then comprises several serialization units of monitoring data 17a-17d.
- the processor 14, the collection unit 15 and the serialization units 17a-17d are preferably produced in the same single integrated circuit.
- the serialization units 17a-17d are connected in parallel with each other between the collection unit 15, or the protocol adapter 16 if necessary, and respective serial connection terminals 18a-18d of the connector 18.
- the circuit 13 further comprises a unit 1 70 for timing the serialized monitoring data.
- the timing unit 170 is common for timing the serialization units 17a-17d.
- the timing unit 170 is denoted CLK in FIG. 2.
- the debugging tool 30 then comprises several units for restitution of serialized data, referenced 33a-33d, connected in parallel; with each other between respective serial connection terminals 32a-32d of the connector 32 and the logic unit 34.
- the rendering units 33a-33d can be grouped together within a data rendering module 33. Such grouping allows to use certain components in a manner shared between the rendering units 33a-33d.
- the data restitution module 33 can be carried by the card 31.
- the restitution units 33a-33d are arranged within the module 33 to transmit to the logical unit 34 restored data in the form of a stream of recombined data.
- the timing unit 170 used for timing the serialization units 17a-17d is also used for timing a serialization of data produced by the execution of part of the program by the processor 14.
- an additional serialization unit, referenced 17e is connected at the input to a data output bus of the processor 14, referenced 19a.
- a logic unit 190, denoted LOG., May possibly be placed on the bus 19a.
- the data produced by the execution of the program part by the processor 14 are then transmitted by a serial connection 19b to an external device not shown.
- the timing unit 170 and the serialization units 17a-17e are advantageously grouped within the serialization module 17.
- the serialization module 17 can also include a data restitution unit 17f, in order to restore the data transmitted in serial form by the connection 19b to the processor 14 to be used during the execution of the part of the program.
- a serialization module 17, comprising the units 17a-17f and 170 was produced on a silicon substrate. It occupies a portion of substrate of about 2 square millimeter. In general, for a transmission operating for example at
- the data transmission rate of surveillance data between PCBs 13 and 31 is nx 300 Megabytes per second, n being the number of serial connections used to connect cards 13 and 31
- n being the number of serial connections used to connect cards 13 and 31
- Each of the n serial connections operates at 3 Gigabits per second, so that the overall data transmission rate for surveillance data is equal to nx 3 Gigabits per second.
- a set of program execution monitoring data can then be transmitted in real time, during the execution of the program part by the processor 14. It is understood that the invention can be implemented for a circuit electric comprising a processor operating at any speed, in particular greater than 150 MegaHertz.
- other data serialization standards than the SATA-PHY standard can be used in an equivalent manner.
- the timing unit 170 is used to clock both several monitoring data serialization units and a serialization unit of data produced by program execution.
- the timing unit 170 can also be devoted only to the timing of the serialization units of the monitoring data, or else be devoted to the timing of the serialization unit of the data produced by the execution of the program. and a single serialization unit for surveillance data.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0401790 | 2004-02-23 | ||
PCT/FR2005/000358 WO2005091144A2 (fr) | 2004-02-23 | 2005-02-16 | Surveillance de l’execution d’un programme par un processeur d’un circuit electronique |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1723525A2 true EP1723525A2 (fr) | 2006-11-22 |
Family
ID=34944903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP05729301A Withdrawn EP1723525A2 (fr) | 2004-02-23 | 2005-02-16 | SURVEILLANCE DE L’EXECUTION D’UN PROGRAMME PAR UN PROCESSEUR D’UN CIRCUIT ELECTRONIQUE |
Country Status (3)
Country | Link |
---|---|
US (1) | US7607044B2 (fr) |
EP (1) | EP1723525A2 (fr) |
WO (1) | WO2005091144A2 (fr) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100255026B1 (ko) * | 1994-12-28 | 2000-05-01 | 디. 크레이그 노룬드 | 마이크로프로세서 및 디버그 시스템 |
GB9622684D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit device and method of communication therwith |
WO1999048001A1 (fr) * | 1998-03-18 | 1999-09-23 | Lsi Logic Corporation | Ameliorations apportees a des systemes de developpement a microprocesseur |
SE9801678L (sv) * | 1998-05-13 | 1999-11-14 | Axis Ab | Datorchip och datoranordning med förbättrad avlusningsförmåga |
JP4190114B2 (ja) * | 1999-11-10 | 2008-12-03 | 株式会社ルネサステクノロジ | マイクロコンピュータ |
US6687779B1 (en) * | 2000-07-14 | 2004-02-03 | Texas Instruments Incorporated | Method and apparatus for transmitting control information across a serialized bus interface |
US7565576B2 (en) | 2003-04-17 | 2009-07-21 | Seagate Technology Llc | Method and apparatus for obtaining trace data of a high speed embedded processor |
-
2005
- 2005-02-16 EP EP05729301A patent/EP1723525A2/fr not_active Withdrawn
- 2005-02-16 WO PCT/FR2005/000358 patent/WO2005091144A2/fr active Application Filing
-
2006
- 2006-08-23 US US11/509,304 patent/US7607044B2/en active Active
Non-Patent Citations (1)
Title |
---|
See references of WO2005091144A2 * |
Also Published As
Publication number | Publication date |
---|---|
WO2005091144A3 (fr) | 2006-12-07 |
WO2005091144A2 (fr) | 2005-09-29 |
US7607044B2 (en) | 2009-10-20 |
US20070043979A1 (en) | 2007-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6845027B2 (en) | Semiconductor chip | |
EP1110173A1 (fr) | Procede de transmission de donnees et carte pour une telle transmission | |
TWI382306B (zh) | 具自測試能力之記憶體系統及測試記憶體系統之方法 | |
FR2862147A1 (fr) | Reconfiguration dynamique de liaisons de type pci-express | |
FR2612313A1 (fr) | Selecteur programmable d'options | |
EP0819283B1 (fr) | Systeme de collecte d'informations pour lecteurs de cartes | |
TW201133008A (en) | On-die logic analyzer for semiconductor die | |
FR2868647A1 (fr) | Interface de transmission | |
EP1310847A1 (fr) | Système de téléchargement et de télémaintenance d'une carte électronique | |
EP0540427A1 (fr) | Circuit d'interface pour carte à circuit intégré | |
EP0656591B1 (fr) | Simulateur de bus numérique intégré dans un système de test automatique | |
FR3089322A1 (fr) | Gestion des restrictions d’accès au sein d’un système sur puce | |
EP1723525A2 (fr) | SURVEILLANCE DE L’EXECUTION D’UN PROGRAMME PAR UN PROCESSEUR D’UN CIRCUIT ELECTRONIQUE | |
WO2007113025A1 (fr) | Module électronique de radiocommunication sans mémoires internes pour le stockage et l'exécution d'un programme de radiocommunication, et dispositif de radiocommunication correspondant | |
WO2003107185A1 (fr) | Procede et systeme de gestion des evenements____________________ | |
FR2948473A1 (fr) | Circuit d'interface comportant une memoire de type fifo | |
FR2611052A1 (fr) | Dispositif de test de circuit electrique et circuit comportant ledit dispositif | |
EP1556765A1 (fr) | Transmission de messages numeriques generiques par un circuit de surveillance d'un microprocesseur | |
WO2012052080A1 (fr) | Procede de controle d'un circuit integre | |
FR3113761A1 (fr) | Module d'aquisition et de restitution audio integre sous forme de composant electronique | |
FR2872944A1 (fr) | Support de donnees a mode de test | |
FR2648588A1 (fr) | Systeme de couplage avec interface entre au moins deux appareils electroniques ayant des bus d'acces de format different | |
EP4187383A1 (fr) | Procédé de gestion d'événements et circuit intégré correspondant | |
FR2823579A1 (fr) | Dispositif de traitement de donnees par plusieurs processeurs | |
WO2004042579A1 (fr) | Surveillance d'un programme de microprocesseur par envoi de messages reperables dans le temps |
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: 20060830 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU MC NL PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA HR LV MK YU |
|
PUAK | Availability of information related to the publication of the international search report |
Free format text: ORIGINAL CODE: 0009015 |
|
DAX | Request for extension of the european patent (deleted) | ||
RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB IT |
|
17Q | First examination report despatched |
Effective date: 20080107 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20130903 |