GB2257550A - Monitoring program execution. - Google Patents
Monitoring program execution. Download PDFInfo
- Publication number
- GB2257550A GB2257550A GB9207531A GB9207531A GB2257550A GB 2257550 A GB2257550 A GB 2257550A GB 9207531 A GB9207531 A GB 9207531A GB 9207531 A GB9207531 A GB 9207531A GB 2257550 A GB2257550 A GB 2257550A
- Authority
- GB
- United Kingdom
- Prior art keywords
- port
- monitoring
- computer system
- bits
- reset
- 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.)
- Granted
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/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/321—Display for diagnostics, e.g. diagnostic result display, self-test user interface
- G06F11/322—Display of waveforms, e.g. of logic analysers
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/25—Testing of logic operation, e.g. by logic analysers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
A computer system has a dedicated I/O port for connection to a multi-channel logic analyser. Software components of interest are caused to set and clear bits of the I/O port on entry and exit. The I/O port, and other signals such as interrupts, are monitored by the logic analyser to produce a graphic representation of the behaviour of the system and the interaction between the components. <IMAGE>
Description
MONITORING A COMPUTER SYSTEM
Background to the Invention
This invention relates to computer systems and, more particularly, is concerned with an apparatus and method for monitoring a computer system.
In complex computer systems, functions are generally carried out by a mixture of independent and interdependent software subsystems. Monitoring such a system can be very complex.
In particular, it is extremely difficult to assess which subsystems are participating at any given time and, more importantly, to determine the chronology of the interactions between the various subsystems. This complexity is increased if it is also desired to associate these interactions with observed phenomena in the hardware of the computer, such as interrupt signals, or other types of control signals.
The object of the present invention is to provide a way of identifying the chronological and causal relationships between the functional behaviour of such computer systems hardware and the code being executed within them.
Summary of the Invention
According the invention there is provided a method of monitoring a computer system comprising: causing the system to set and reset bits of an I/O port at predetermined points in its internal operation, and monitoring said I/O port by means of a multi-channel logic analyser to display a graphical representation of the behaviour of the computer system
Brief Description of the Drawings
Figure 1 is a block diagram of a computer system embodying the invention.
Figure 2 is a block diagram illustrating various software components in the computer system.
Figure 3 is a timing diagram illustrating the operation of the system.
Description of an Embodiment of the Invention
One computer system embodying the invention will now be described by way of example with reference to the accompanying drawings.
Referring to Figure 1, the system comprises a microprocessor 10, connected to an interrupt controller 12 which receives interrupt signals INT1, INT2 etc. from other parts of the system.
The microprocessor is also connected to an 8-bit input/output (I/O) port 14. This port is dedicated for use in monitoring the internal behaviour of the system, as will be described, and is not used for conventional I/O operations.
The microprocessor 10, under software control, can independently set or reset individual bits of the I/O port 14. The port is connected to a set of eight external test points 16.
The operation of the computer system is analysed using a conventional multi-channel logic analyser 18. Some of the channels of the logic analyser may be connected to selected bits of the I/O port 14, while other inputs may be connected to other test points of interest, such as the interrupt lines.
Referring now to Figure 2, this shows, by way of example, some of the software components in the system
In this example, it is assumed that it is desired to monitor the way the system responds to a particular interrupt signal (INT2). It is also assumed that, in response to this interrupt, an interrupt service routine (ISR) 20 is activated. This ISR calls and passes information to a task manager routine 22. The task manager, in turn, causes a lower level task 24 to run a number of times. Meanwhile, the operating system may receive and respond to a higher priority interrupt (INT1).
In order to monitor the behaviour of this system, the first two channels (channels 1 and 2) of the logic analyser 18 are connected to receive the interrupt signals INT1 and INT2, and channels 3-5 are connected to receive bits 0-2 from the I/O port 14.
The ISR 20 associated with INT2 is modified, by including extra code which causes it to set bit 0 of the I/O port to logic 1 on entry, and to reset this bit to logic 0 on exit.
Similarly, the task manager 22 is modified so as to cause it to set bit 1 of the I/O port to logic 1 on entry and to reset this bit to logic 0 on exit.
Similarly, the sub-task 24 is modified so as to cause it to set bit 2 of the I/O port to logic 1 on entry and to reset this bit to logic 0 on exit.
Referring now to Figure 3, this shows a typical display which might be obtained from the logic analyser in this example.
It can be seen that channels 1 and 2 display a short pulse whenever an interrupt INT1 or INT2 occurs. Channel 3 displays a signal which rises on entry to the ISR, and falls on exit. Channel 4 displays a signal which rises on entry to the task manager, and falls on exit. Channel 5 displays a series of signals which coincide with the individual activations of the sub-task.
From this display, it is possible in this example to deduce that INT1 is apparently interfering with the handling of INT2 in some way, as can be seen from the gap in channel 5whenever a pulse occurs in channel 1. Thus, the monitoring arrangement has provided useful information about the interactions between different subsystems.
In summary , it can be seen that small additions are made to the software, to cause it to turn specific I/O bits on or off at key points in the code. For example, a particular bit may be turned on at the start of a particular activity which it is desired to "highlight" and to be turned off at the end of this activity. Then, by observing the states of these bits by means of a logic analyser, a graphical representation of the activities of interest can be viewed and directly associated with any other signals which may be monitored by the logic analyser.
Claims (6)
1. A method of monitoring a computer system comprising: causing the system to set and reset bits of an I/O port at predetermined points in its internal operation, and monitoring said I/O port by means of a multi-channel logic analyser to display a graphical representation of the behaviour of the computer system.
2. A method according to claim 1 wherein the bits are set and reset at predetermined points of particular software components.
3. A method according to Claim 2 wherein the bits are set and reset on entry and exit from particular software components.
4. A method according to any preceding claim wherein the logic analyser simultaneously monitors other signals in the system, such as interrupt signals.
5. A method according to any preceding claim wherein said
I/O port is dedicated to monitoring the system.
6. A method of monitoring a computer system substantially as hereinbefore described with reference to the accompanying drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB919114975A GB9114975D0 (en) | 1991-07-11 | 1991-07-11 | Monitoring a computer system |
Publications (3)
Publication Number | Publication Date |
---|---|
GB9207531D0 GB9207531D0 (en) | 1992-05-20 |
GB2257550A true GB2257550A (en) | 1993-01-13 |
GB2257550B GB2257550B (en) | 1994-12-14 |
Family
ID=10698193
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB919114975A Pending GB9114975D0 (en) | 1991-07-11 | 1991-07-11 | Monitoring a computer system |
GB9207531A Expired - Fee Related GB2257550B (en) | 1991-07-11 | 1992-04-07 | Monitoring a computer system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB919114975A Pending GB9114975D0 (en) | 1991-07-11 | 1991-07-11 | Monitoring a computer system |
Country Status (1)
Country | Link |
---|---|
GB (2) | GB9114975D0 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1039386A1 (en) * | 1999-03-19 | 2000-09-27 | Motorola, Inc. | Computer system with trace unit, and method therefor |
WO2002025444A1 (en) * | 2000-09-19 | 2002-03-28 | Stmicroelectronics Limited | Monitoring interrupts |
GB2463048A (en) * | 2008-08-29 | 2010-03-03 | Symbian Software Ltd | A diagnostic tool for displaying interrupt activity against a time line |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2200482A (en) * | 1987-01-22 | 1988-08-03 | Nat Semiconductor Corp | Monitoring control flow in a microprocessor |
EP0445936A2 (en) * | 1990-03-08 | 1991-09-11 | Sony Corporation | Supervision of microprocessors |
-
1991
- 1991-07-11 GB GB919114975A patent/GB9114975D0/en active Pending
-
1992
- 1992-04-07 GB GB9207531A patent/GB2257550B/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2200482A (en) * | 1987-01-22 | 1988-08-03 | Nat Semiconductor Corp | Monitoring control flow in a microprocessor |
EP0445936A2 (en) * | 1990-03-08 | 1991-09-11 | Sony Corporation | Supervision of microprocessors |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1039386A1 (en) * | 1999-03-19 | 2000-09-27 | Motorola, Inc. | Computer system with trace unit, and method therefor |
WO2002025444A1 (en) * | 2000-09-19 | 2002-03-28 | Stmicroelectronics Limited | Monitoring interrupts |
US7143311B2 (en) | 2000-09-19 | 2006-11-28 | Stmicroelectronics Limited | Interrupt handler for a data processor |
GB2463048A (en) * | 2008-08-29 | 2010-03-03 | Symbian Software Ltd | A diagnostic tool for displaying interrupt activity against a time line |
Also Published As
Publication number | Publication date |
---|---|
GB2257550B (en) | 1994-12-14 |
GB9207531D0 (en) | 1992-05-20 |
GB9114975D0 (en) | 1991-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5202976A (en) | Method and apparatus for coordinating measurement activity upon a plurality of emulators | |
GB2257550A (en) | Monitoring program execution. | |
US5280626A (en) | Multi-process emulator suitable for testing software under multi-process environments | |
Bell | Computer performance analysis-Measurement objectives and tools | |
JPH10133914A (en) | Computer system and device input/output simulator | |
JPH05274178A (en) | Display processing system for debug result of parallel computer | |
Mclean | Using personal computers for experimental control | |
US6131175A (en) | Automatic selection of a special mode of operation in multi-channel test equipment | |
KR950015191B1 (en) | Multi-processor debugging apparatus and method | |
JPS59128652A (en) | Program testing method using display device | |
JPS6358568A (en) | Monitor system for execution of decentralized computer | |
SU744682A1 (en) | Device for monitoring industrial equipment operation | |
KR0174866B1 (en) | Performance Management Method of T-X Performance Management System | |
JPH08328897A (en) | Analysis method and device for operation of parallel program | |
CN115935868A (en) | Automatic system for integrated circuit design and verification process management | |
JPH03294934A (en) | Debugger for high level program lenguage | |
SU1030804A1 (en) | Device for checking signal passing sequence | |
KR19990063187A (en) | Program control unit | |
JPH0830481A (en) | Race operation test system | |
RU6251U1 (en) | IR-60 SIMULATOR FOR DEBUGGING SHIP DIGITAL CONTROL SYSTEMS | |
SU1280415A1 (en) | Device for checking and accounting production processes | |
MIMechE | NEI-Control Systems Limited Rolls-Royce Industrial Power Group | |
WO1990001734A1 (en) | Trace control method for pc | |
Parkinson | Classification of Programmable Electronic Systems Operation for Testability | |
Lee et al. | Prediction of Plant Operator Error Mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20030407 |