GB2415799A - Independent processor resetting in a multiprocessor system - Google Patents

Independent processor resetting in a multiprocessor system Download PDF

Info

Publication number
GB2415799A
GB2415799A GB0414679A GB0414679A GB2415799A GB 2415799 A GB2415799 A GB 2415799A GB 0414679 A GB0414679 A GB 0414679A GB 0414679 A GB0414679 A GB 0414679A GB 2415799 A GB2415799 A GB 2415799A
Authority
GB
United Kingdom
Prior art keywords
processor
reset
processors
resetting
processors according
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
Application number
GB0414679A
Other versions
GB0414679D0 (en
Inventor
Andrew Wilkes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Technologies UK Ltd
Original Assignee
NEC Technologies UK Ltd
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 NEC Technologies UK Ltd filed Critical NEC Technologies UK Ltd
Priority to GB0414679A priority Critical patent/GB2415799A/en
Publication of GB0414679D0 publication Critical patent/GB0414679D0/en
Publication of GB2415799A publication Critical patent/GB2415799A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A method for resetting a processor in a multiprocessor system comprises issuing a request reset signal from a first processor to an interrupt request input on at least one other processor. The request reset signal notifies the other processor or processors that the first processor has requested a reset. A reset signal is then applied to a reset input of the first processor. An acknowledgement could be sent back to the first processor before the reset is initiated. This method could be used in a mobile communications system where one processor could be an applications processor and a second processor could be a communications processor.

Description

Software reset in dual processor mobile phone This invention relates to a
system and method for controlling the software initiated reset of a multi processor electronic device, preferably a mobile communications device.
It is common for both the hardware and software on mobile telephones to be partitioned into more than one part, for example an applications part and a modem part.
The application part runs any user application such as a web browser, telephone index book, or camera software. The modem part controls the connection of the device with the radio network. In this case each part may have its own processor, for example an Applications CPU (ACPU) and a Communications CPU (CCPU). Each of these processors may encounter situations in which a reset of the processor is required in order to achieve stable operation of the system. For example, the applications CPU may be running a browser which is stuck in a software loop. A watchdog timer is then used to recover the central processing unit (CPU) from the software loop by providing a reset signal to the CPU upon expiry of the timer.
Additionally the communications CPU may encounter a problem when synchronizing the local oscillator to the base station which may cause it to freeze. Similarly, the expiry of a watchdog timer triggers a reset of the CPU.
Conventional systems provide a reset control line to overcome this problem, which is a common signal linked to all devices that may require a reset such as the ACPU or the CCPU. If any one of the devices requires a reset, then a signal is sent via the common signal, and all the devices will be reset. This means that the processor will be restarted from a known good state, such as one with the program counter at zero, for example. This is known as a system reset. Another form of reset is the software reset, which may be triggered by a software related event, such as the expiry of a watchdog timer caused by software stuck in a loop. In conventional systems, this also triggers a system reset so that all devices are reset even if only one of them requires it.
The problem with the conventional reset system in a dual-CPU mobile telephone is that the whole system is reset even when only one part has experienced a problem. This means that all software processes have to restart and the previous state of the mobile phone is then lost. For example a bug in a web browser running on the ACPU could cause the modem to disconnect from the radio network. This is annoying for the user and it is time consuming to have to re-establish a connection with the radio network.
Similarly, a problem in the modem could cause an application to be reset, possibly losing valuable data such as a captured camera images.
Independent resetting of partitions within a computer system is also known. US patent no. 5717942 describes a system in which each partition contains one or more data processing resources such as processors and storage structures. A system controller manages the allocation of the processing resources to each partition. The allocation of resources to each partition is based on the task each partition is required to perform. For example, if the current task being performed by a partition requires more memory, and the system as a whole has free available memory, the system controller will allocate more memory to that partition. Since the resources are shared so that two partitions contain interconnected hardware, an interface to connect these resources is required. Each of the partitions can then send a reset signal to the interface block which will reset the input and output logic associated with that partition without affecting the other partitions. Since each partition has variable resources depending upon the current task, the system controller has to track which resources are allocated to which partition in order to know which resources should be reset if that partition requests it.
A problem with this type of system as applied to mobile communications devices is that the full flexibility of allocateable resources adds additional hardware (e.g. a system controller and interconnecting hardware), increasing the size and power consumption of the device, which is highly undesirable. Furthermore, since the range of tasks being performed on a portable communication device is much more restricted than those performed on a personal computer, full flexibility to be able to allocate resources to individual partitions is not required Preferred embodiments of the present invention overcome these problems.
The inventors have appreciated that dedicated data processing resources may be provided for specific processing tasks so as to improve performance. In this way, a system controller to allocate resources is not required, reducing size, weight and power drain of the device. An independent reset of these resources is provided so that only the device requiring a reset is affected, and the remaining processing resources can continue to operate unaffected, improving the performance of the system as a whole.
An embodiment of the present invention can advantageously be applied to mobile communications devices using the common analogue or digital standards such as the second generation Global System Mobile (GSM) communications standard or the Digital American Mobile Phone System (DAMPS). Alternatively, the system can be applied to devices using the third generation Universal Mobile telecommunications standard (GETS). It may even be applied - 4 - to mobile communications devices of the dual band type that are able to communicate both on GSM and UMTS networks.
In accordance with the present invention there is provided a method and system for resetting one or more processors in a multi-processor system comprising the steps of issuing a request reset signal from an output of a first data processor, applying the reset request to an interrupt request input on at least one other processor to notify the lo other processor that a first processor has requested a reset, and applying a reset signal to a reset input of the first processor.
Preferably, the electronic device is a mobile communications device.
An embodiment of the invention will now be described in detail by way of reference to the accompanying drawing, in which: Figure 1 shows a block diagram of apparatus showing the reset architecture of a dual CPU electronic device embodying the invention.
Fig. 2 shows the circuitry for monitoring activity of the software and processor; and Fig. 3 shows the wave forms generated in operation of that circuitry.
Referring to figure l, there is shown a two-processor system comprising a camera l connected to an associated applications central processing unit (ACPU). There is also provided an antenna 5 which provides remote radio communication with a network using a modem 3. The modem 3 is in turn connected to a communications central processing unit (CCPU). The ACPU and CCPU are interconnected with reset circuitry which allows one of the processors to be reset while the remaining processor can continue to operate undisturbed. The reset output of the ACPU is connected to the interrupt request input of the CCPU. Similarly, the reset output of the CCPU is connected to the to the interrupt request input of the ACPU. Each of the reset lines is then connected to a logical OR gate and the output of the gate is connected to the reset input of each processor. A reset line is also provided from the power supply unit (PSU) 15 which provides the other input to both OR gates, so that both processors may be reset when the device is powered-up. In this example, the reset signals are active "high" to aid understanding, whereas they would normally be active "low" when the invention is implemented.
If, for example, the CCPU is not responding due to problems maintaining contact with the radio network the CCPU will request a reset via the CCPU reset line. The reset line is used both to notify the other processors via the interrupt request input (IRQ) that the CCPU has requested a reset, and to act as the reset input to the CCPU. Interrupt service routines are provided in the software to allow the recovery from a known good state.
A similar procedure occurs if the ACPU is not responding, perhaps due to the software running the camera facility being stuck in a loop.
Preferably, the data processing resources are those located in a mobile communications device.
In a further embodiment, a watchdog timer is provided to monitor any period of unresponsiveness of the processors. If the timer expires after a predetermined length of time, the timer prompts the unresponsive processor to send an interrupt request signal to all other processors and then to send a reset signal to the reset input of that processor.
The watchdog timer is a hardware block containing a count register and counter logical. The account register is regularly reloaded with a value that represents the watchdog timeout period. The clock signal is applied to the counter causing it to count down to zero. If it reaches zero then a re-set request is issued to the processor to indicate that a watchdog timeout has occurred.
In yet a further embodiment, an acknowledgment signal is also provided in addition to each reset line for each processor. As in the previous embodiment, if the software running on the CCPU takes longer to execute than expected, and the watchdog timer expires, a reset signal will be sent to the interrupt request (IRQ) of the other processor. The other processor then acknowledges the reset of the CCPU by sending a reset acknowledgment signal back to the CCPU.
Only on receipt of this signal will the CCPU actually be reset, which ensures data is not lost if the two processors are communicating with each other.
In a further embodiment, each CPU may be provided with its own dedicated memory structure such as RAM or ROM memory, so that if the CCPU has to be reset, the software running on the ACPU and its associated memory can continue to run without losing data stored on the storage structure.
Furthermore each memory structure can also store the current state and recent states of the processor, which will allow the processor to recover from a known good start-up state or the most recent state rather the start-up state, thereby avoiding further loss of data.
Then on page 6 at the end: A further embodiment, for monitoring correct operation of the software can be implemented using the circuitry shown in figure 2. In this, a capacitor 20 is connected between an input of a comparator 22 and ground.
The capacitor is charged by a resistor 24 connected between capacitor 20 and the supply voltage Vdd. When the capacitor voltage exceeds a threshold of e.g. 0.7 x Vdd after a time t, a reset request is generated. To stop the reset request occurring the software regularly instructs an open drain output port of 26 of the - 7 - processor to discharge the capacitor. The open drain port is connected to the capacitor.
With 1 Mega Ohm resister and 1 microfarad capacitor, the time taken for the capacitor to charge to 0.7 x Vdd is 1.2 seconds. Thus in normal operation the software would discharge the capacitor repeatedly at intervals within 1.2 seconds. If the software got stuck in a loop then the capacitor would carry on charging up to the reset threshold.
The wave forms generated by the circuitry of fig. 2 are shown in fig. 3.

Claims (26)

1. A method for resetting one or more processors in a multi-processor system comprising: issuing a request reset signal from an output of a first data processor; applying the reset request to an interrupt request input on at least one other processor to notify the other processor that a first processor has requested a reset; and applying a reset signal to a reset input of the first processor.
2. A method for resetting one or more processors according to claim 1 in which each processor performs a set processing task or tasks.
3. A method for resetting one or more processors according to claims 1 or 2 in which the reset signal is issued after the expiry of a watchdog timer.
4. A method for resetting one or more processors according to claims 2 or 3 in which the other processor or processors acknowledge the request of the processor requesting the reset.
5. A method for resetting one or more processors according to claim 4 in which the processor requesting the reset is only reset once the other processors have acknowledged the request.
6. A method for resetting one or more processors resources according to claims 1 - 5 in which one or more of the processors is an applications processor. 9 -
7. A method for resetting one or more processors according to claims 1 - 6 in which one or more of the processors is a communications processor.
8. A method for resetting one or more processors according to any proceeding claim in which the processor requesting a reset re-establishes communication with the other processor or processors once the reset signal has been applied to the reset input of the processor.
9. A method for resetting one or more processors according to claims 1 - 8 in which each processor has its own memory.
10. A method for resetting one or more processors according to claim 9 in which both the processor and its associated memory are reset upon receipt of a reset signal to the reset input of the processor.
11. A method for resetting one or more processors according to any proceeding claims in which the processor is reset with the program counter at zero.
12. A method for resetting one or more processors according to claim 9 in which the state of the processors are periodically recorded in the memory.
13. A method for resetting one or more processors according to claim 12 in which the processor that has requested a reset is reset and the most recently recorded state is loaded from the memory unit.
14. A system for resetting one or more processors in a multi-processor system comprising: means for issuing a reset request signal from an output of a first data processor means for applying the reset request to an interrupt request input on at least one other processor to notify the other processor that the first processor has requested a reset; and means for applying a reset signal to a reset input of the first processor.
15. A system for resetting one or more processors according to claim 14 further comprising a watchdog timer.
16. A system for resetting one or more processors according to claim 15 further comprising means for the other processor or processors to acknowledge the request of the processor requesting the reset.
17. A system for resetting one or more processors according claims 14-16 in which the multi processor system is a multi processor mobile communications device.
18. A system for resetting one or more processors according to claim 17 in which the mobile communication devices uses one of the plurality of second-generation mobile communications standards.
19. A system for resetting one or more processors according to claim 18 in which the second-generation mobile communication standard is the Global System Mobile (GSM) communications standard.
20. A system for resetting one or more processors according to claim 17 in which the mobile communication device uses the third-generation Universal Mobile Telecommunications System (UMTS).
21. A system for resetting one or more processors resources according to claims 14 - 20 in which one of the processors is an applications processor.
22. A system for resetting one or more processors according to claims 14 21 in which one of the processors is a communications processor.
23. A system for resetting one or more processors according to claims 14 22 in which each processor has its own memory.
24. A system for resetting one or more processors according to any proceeding claim in which each timer is integrated into each processor.
25. A system for controlling the reset procedure of one or more processors substantially as herein described with reference to the drawing.
26. A method for controlling the reset procedure of one or more processors substantially as herein described with reference to the drawing.
GB0414679A 2004-06-30 2004-06-30 Independent processor resetting in a multiprocessor system Withdrawn GB2415799A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0414679A GB2415799A (en) 2004-06-30 2004-06-30 Independent processor resetting in a multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0414679A GB2415799A (en) 2004-06-30 2004-06-30 Independent processor resetting in a multiprocessor system

Publications (2)

Publication Number Publication Date
GB0414679D0 GB0414679D0 (en) 2004-08-04
GB2415799A true GB2415799A (en) 2006-01-04

Family

ID=32843338

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0414679A Withdrawn GB2415799A (en) 2004-06-30 2004-06-30 Independent processor resetting in a multiprocessor system

Country Status (1)

Country Link
GB (1) GB2415799A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2012217A1 (en) * 2007-06-25 2009-01-07 Hitachi Industrial Equipment Systems Co. Ltd. Multi-component system
EP2362295A1 (en) * 2010-02-12 2011-08-31 Research In Motion Limited Method and system for resetting a subsystem of a communication device
US20180253127A1 (en) * 2017-03-01 2018-09-06 Renesas Electronics Corporation Signal processing system, signal processing circuit, and reset control method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756874A (en) * 1993-08-20 1995-03-03 Kokusai Electric Co Ltd Multiple processor system and restarting method for fault occurring time
US6467007B1 (en) * 1999-05-19 2002-10-15 International Business Machines Corporation Processor reset generated via memory access interrupt
GB2384333A (en) * 2002-05-27 2003-07-23 Sendo Int Ltd Processor restart control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756874A (en) * 1993-08-20 1995-03-03 Kokusai Electric Co Ltd Multiple processor system and restarting method for fault occurring time
US6467007B1 (en) * 1999-05-19 2002-10-15 International Business Machines Corporation Processor reset generated via memory access interrupt
GB2384333A (en) * 2002-05-27 2003-07-23 Sendo Int Ltd Processor restart control

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2012217A1 (en) * 2007-06-25 2009-01-07 Hitachi Industrial Equipment Systems Co. Ltd. Multi-component system
JP2009003862A (en) * 2007-06-25 2009-01-08 Hitachi Industrial Equipment Systems Co Ltd A plurality of component systems
US7861115B2 (en) 2007-06-25 2010-12-28 Hitachi Industrial Equipment Systems Co., Ltd. Multi-component system
EP2362295A1 (en) * 2010-02-12 2011-08-31 Research In Motion Limited Method and system for resetting a subsystem of a communication device
US8495422B2 (en) 2010-02-12 2013-07-23 Research In Motion Limited Method and system for resetting a subsystem of a communication device
US20180253127A1 (en) * 2017-03-01 2018-09-06 Renesas Electronics Corporation Signal processing system, signal processing circuit, and reset control method
US10725512B2 (en) * 2017-03-01 2020-07-28 Renesas Electronics Corporation Signal processing system, signal processing circuit, and reset control method
US11360529B2 (en) 2017-03-01 2022-06-14 Renesas Electronics Corporation Signal processing system, signal processing circuit, and reset control method

Also Published As

Publication number Publication date
GB0414679D0 (en) 2004-08-04

Similar Documents

Publication Publication Date Title
KR102460380B1 (en) Method and device for handling timeout of system service
US8286014B2 (en) Power management for a system on a chip (SoC)
US9652338B2 (en) Dynamic checkpointing systems and methods
JP2974950B2 (en) Information processing system
US8307367B2 (en) Smart scheduling of automatic partition migration by the use of timers
WO2015074393A1 (en) Cpu scheduling method, apparatus and system based on heterogeneous multi-core system
CN106383570A (en) Dynamically switching a workload between heterogeneous cores of a processor
CN107577508B (en) Application processing method and device, readable storage medium and mobile terminal
US7412621B2 (en) Processor duplexing apparatus based on RTOS in mobile communication system and method thereof
EP3812930A1 (en) Distributed transaction processing method and related device
CN110837343B (en) Snapshot processing method and device and terminal
CN109413164A (en) A kind of access service recovery method, device, equipment and readable storage medium storing program for executing
CN117461026A (en) System and method for coordinating persistent cache flushes
CN104067597A (en) Network application proxy system and method
GB2415799A (en) Independent processor resetting in a multiprocessor system
WO2022022442A1 (en) Data processing method and apparatus, and intelligent network card and server
EP1387258A2 (en) Processor-processor synchronization
WO2022204873A1 (en) Electronic apparatus, system on chip, and physical core allocation method
CN116348858A (en) System and method for stabilizing modems while waiting for AP-driven link recovery
US10936197B2 (en) Performing memory copy operations by a processor by employing a compression hardware device
CN117441144A (en) System and method for handling asynchronous reset events while maintaining persistent memory state
CN113434336A (en) Starting method and device, electronic equipment and readable storage medium
CN115550004A (en) Data processing method and device, electronic equipment and computer readable storage medium
WO2022212364A9 (en) Systems and methods for processing asynchronous reset events while maintaining persistent memory state
CN118860491A (en) PSDMA-based register data saving and recovering method and PSDMA-based register data saving and recovering device

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)