GB2257550A - Monitoring program execution. - Google Patents

Monitoring program execution. Download PDF

Info

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
Application number
GB9207531A
Other versions
GB2257550B (en
GB9207531D0 (en
Inventor
David Paul Meare
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.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services 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 Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Publication of GB9207531D0 publication Critical patent/GB9207531D0/en
Publication of GB2257550A publication Critical patent/GB2257550A/en
Application granted granted Critical
Publication of GB2257550B publication Critical patent/GB2257550B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/321Display for diagnostics, e.g. diagnostic result display, self-test user interface
    • G06F11/322Display of waveforms, e.g. of logic analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/25Testing 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.
GB9207531A 1991-07-11 1992-04-07 Monitoring a computer system Expired - Fee Related GB2257550B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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