WO2002001348A2 - Method and apparatus for providing real-time operation in a personal computer system - Google Patents
Method and apparatus for providing real-time operation in a personal computer system Download PDFInfo
- Publication number
- WO2002001348A2 WO2002001348A2 PCT/US2001/018679 US0118679W WO0201348A2 WO 2002001348 A2 WO2002001348 A2 WO 2002001348A2 US 0118679 W US0118679 W US 0118679W WO 0201348 A2 WO0201348 A2 WO 0201348A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- event
- real
- time
- computer system
- cpu
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Definitions
- the present invention relates to computer systems; more particularly, the
- present invention relates to executing real-time applications at a computer system.
- a real-time application is one in which the correctness of computations performed by a computer not only depends upon logical correctness of the computation, but also upon the time at which the result is produced. If the timing constraints are not met, the system fails. For example, in a patriot missile application, a patriot must locate an incoming missile on a radar detection system and fire a defense missile before the incoming missile can destroy its target.
- Figure 1 is a block diagram of one embodiment of a computer system
- Figure 2 is a block diagram of one embodiment of a processor
- Figure 3 is a flow diagram for one embodiment of the operation of an event
- FIG. 1 is a block diagram of one embodiment of a computer system 100.
- Computer system 100 includes a central processing unit (processor) 105 coupled to processor 105.
- processor central processing unit
- processor 105 is an Intel architecture processor in the Pentium® family of processors including the Pentium® II family
- Pentium® and Pentium® II processors available from Intel Corporation of Santa Clara, California.
- Intel Corporation of Santa Clara, California.
- other processors may be
- Processor 105 may include a first level (LI) cache memory (not shown in Figure 1).
- LI first level cache memory
- processor 105 is also coupled to cache memory 107, which is a second level (L2) cache memory, via dedicated cache bus 102.
- L2 second level cache memory
- L2 cache memories can also be integrated into a single device.
- L2 cache memories can also be integrated into a single device.
- cache memory 107 may be coupled to processor 105 by a shared bus. Cache memory 107 is optional and is not required for computer system 100.
- Chip set 120 is also coupled to processor bus 110.
- chip set 120 is the 440BX chip set available from Intel Corporation; however, other chip
- Chip set 120 may include a memory controller for
- chipset 220 may also include an
- AGP interface 320 is coupled to a video device 125 and handles video data requests to access main
- Main memory 113 is coupled to processor bus 110 through chip set 120.
- Main memory 113 and cache memory 107 store sequences of instructions that are executed by processor 105.
- the sequences of instructions executed by processor 105 may be retrieved from main memory 113, cache memory 107, or any other
- Additional devices may also be coupled to processor bus 110,
- Computer system 100 is described in terms of a single processor; however, multiple processors and/ or multiple main memory devices.
- Computer system 100 is described in terms of a single processor; however, multiple processors and/ or multiple main memory devices.
- Video device 125 is also coupled to chip set 120.
- video device includes a video monitor such as a cathode ray tube (CRT) or liquid crystal display (LCD) and necessary support circuitry.
- CTR cathode ray tube
- LCD liquid crystal display
- Processor bus 110 is coupled to system bus 130 by chip set 120.
- system bus 130 is a Peripheral Component Interconnect (PCI) bus
- a radio transceiver 129 is coupled to system bus
- Radio transceiver 129 may be used to implement a communication interface between computer system 100 and a remote device (not shown).
- Bus bridge 140 couples system bus 130 to secondary bus 150. In one embodiment
- secondary bus 150 is an Industry Standard Architecture (ISA)
- disk drive 154 may be coupled to secondary bus 150.
- Other devices such as cursor control devices (not shown in Figure 1), may be coupled to secondary bus 150.
- computer system 100 includes as a real ⁇
- time operating system integrated with a general-purpose operating system.
- computer system 100 enables processor 105 to execute real-time
- Real-time applications are applications that have time constraints on aspects of their
- FIG. 2 is a block diagram of one embodiment of processor 105.
- ADC analog to digital converter
- ADC 210 samples real time analog data received at computer system 100 and converts the data into a digital format. According to one embodiment, ADC 210 is coupled to and receives the analog
- Timer 220 is used as a mechanism to generate timer interrupts at event
- timer 220 transmits a signal to event mechanism 240 at predetermined intervals. The signal indicates that
- mechanism 240 is to generate a timer interrupt. According to one embodiment,
- timer interrupts are generated every 5 milliseconds. However, one of ordinary skill in the art will appreciate that other time intervals may be used to generate timer interrupts.
- Register 230 is coupled to ADC 210. Register 230 stores data received from ADC 210 that is to later be processed at CPU 105. Event mechanism 240 is
- event mechanism 240 generates real-time timer interrupts. The timer interrupts are examined by event
- timer interrupts indicate to event handler 250 when there is likely a need for real-time data too be serviced.
- Event handler 250 processes real-time interrupts received from event mechanism 240. Upon detecting a timer interrupt, event handler 250 verifies whether there is data stored in register 230 that needs to be serviced. However,
- event handler 250 must determine
- interrupts are called in response to a hardware interrupt or
- a timer interrupt functions in the same manner as ordinary interrupts, except that they are called in response to timer 220.
- timer interrupts e.g., real-time events
- timer interrupts are given a high priority with respect to other events that request service at processor
- timer interrupts have a higher priority than non-critical interrupts (e.g., system management interrupts), and a lower priority than critical interrupts (e.g., non-maskable interrupts).
- non-critical interrupts e.g., system management interrupts
- critical interrupts e.g., non-maskable interrupts
- Figure 3 is a flow diagram of one embodiment of the operation of event
- event handler 250 upon receiving a real-time event.
- event handler 250 upon receiving a real-time event.
- event handler 250 determines whether the real-time event performed by processor
- processor 105 does not have a higher priority than the real-time event, the current state of processor 105 is saved, process block 330. Therefore, the current operations being executed by processor 105 is set-aside for later execution.
- processor 105 services the real-time event.
- processor 105 is returned to its state prior to receiving the timer
- processor 105 continues servicing the current
- process block 370 process block 370.
- the present invention enables processor 105 to process real-time events within an acceptable latency period.
- processor 105 is capable of emulating application protocols that are typically carried out by digital signal
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
- Bus Control (AREA)
- Communication Control (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2001269776A AU2001269776A1 (en) | 2000-06-28 | 2001-06-07 | Method and apparatus for providing real-time operation in a personal computer system |
BR0111950-8A BR0111950A (en) | 2000-06-28 | 2001-06-07 | Method and apparatus for providing real time operation on a personal computer system |
EP01948309A EP1330712A2 (en) | 2000-06-28 | 2001-06-07 | Method and apparatus for providing real-time operation in a personal computer system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/606,839 US7165134B1 (en) | 2000-06-28 | 2000-06-28 | System for selectively generating real-time interrupts and selectively processing associated data when it has higher priority than currently executing non-real-time operation |
US09/606,839 | 2000-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2002001348A2 true WO2002001348A2 (en) | 2002-01-03 |
WO2002001348A3 WO2002001348A3 (en) | 2003-05-22 |
Family
ID=24429678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/018679 WO2002001348A2 (en) | 2000-06-28 | 2001-06-07 | Method and apparatus for providing real-time operation in a personal computer system |
Country Status (7)
Country | Link |
---|---|
US (1) | US7165134B1 (en) |
EP (1) | EP1330712A2 (en) |
CN (1) | CN100476743C (en) |
AU (1) | AU2001269776A1 (en) |
BR (1) | BR0111950A (en) |
TW (1) | TWI284840B (en) |
WO (1) | WO2002001348A2 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4112511B2 (en) * | 2004-02-17 | 2008-07-02 | 富士通株式会社 | Task management program and task management device |
GB0423094D0 (en) * | 2004-10-18 | 2004-11-17 | Ttp Communications Ltd | Interrupt control |
US20070226795A1 (en) * | 2006-02-09 | 2007-09-27 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
US9032127B2 (en) * | 2006-09-14 | 2015-05-12 | Hewlett-Packard Development Company, L.P. | Method of balancing I/O device interrupt service loading in a computer system |
US8667198B2 (en) * | 2007-01-07 | 2014-03-04 | Apple Inc. | Methods and systems for time keeping in a data processing system |
US7917784B2 (en) | 2007-01-07 | 2011-03-29 | Apple Inc. | Methods and systems for power management in a data processing system |
EP2075696A3 (en) * | 2007-05-10 | 2010-01-27 | Texas Instruments Incorporated | Interrupt- related circuits, systems and processes |
US8645740B2 (en) * | 2007-06-08 | 2014-02-04 | Apple Inc. | Methods and systems to dynamically manage performance states in a data processing system |
US7711864B2 (en) | 2007-08-31 | 2010-05-04 | Apple Inc. | Methods and systems to dynamically manage performance states in a data processing system |
US7730248B2 (en) * | 2007-12-13 | 2010-06-01 | Texas Instruments Incorporated | Interrupt morphing and configuration, circuits, systems and processes |
US8255602B2 (en) * | 2008-09-09 | 2012-08-28 | Texas Instruments Incorporated | Effective mixing real-time software with a non-real-time operating system |
KR20130063825A (en) * | 2011-12-07 | 2013-06-17 | 삼성전자주식회사 | Apparatus and method for dynamically controlling preemptive section in operating system |
US10585823B2 (en) * | 2014-09-30 | 2020-03-10 | EMC IP Holding Company LLC | Leveling IO |
CN112616192B (en) * | 2020-12-04 | 2023-06-30 | 展讯通信(上海)有限公司 | Event processing method and device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0742522A1 (en) * | 1995-05-12 | 1996-11-13 | STMicroelectronics Limited | Processor interrupt control |
US5603035A (en) * | 1991-08-22 | 1997-02-11 | Telemecanique | Programmable interrupt controller, interrupt system and interrupt control process |
WO1998009225A1 (en) * | 1996-08-29 | 1998-03-05 | Nematron Corporation | Real time software system |
WO1999014679A1 (en) * | 1997-09-12 | 1999-03-25 | Siemens Microelectronics, Inc. | Interrupt system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3877021A (en) * | 1971-04-23 | 1975-04-08 | Western Electric Co | Digital-to-analog converter |
IL112660A (en) * | 1994-03-31 | 1998-01-04 | Minnesota Mining & Mfg | System integrating active and simulated decision- making processes |
US6035321A (en) * | 1994-06-29 | 2000-03-07 | Acis, Inc. | Method for enforcing a hierarchical invocation structure in real time asynchronous software applications |
US5764852A (en) * | 1994-08-16 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for speech recognition for distinguishing non-speech audio input events from speech audio input events |
US5774701A (en) * | 1995-07-10 | 1998-06-30 | Hitachi, Ltd. | Microprocessor operating at high and low clok frequencies |
US6044430A (en) * | 1997-12-17 | 2000-03-28 | Advanced Micro Devices Inc. | Real time interrupt handling for superscalar processors |
US6154832A (en) * | 1998-12-04 | 2000-11-28 | Advanced Micro Devices, Inc. | Processor employing multiple register sets to eliminate interrupts |
US6490611B1 (en) * | 1999-01-28 | 2002-12-03 | Mitsubishi Electric Research Laboratories, Inc. | User level scheduling of inter-communicating real-time tasks |
-
2000
- 2000-06-28 US US09/606,839 patent/US7165134B1/en not_active Expired - Fee Related
-
2001
- 2001-03-09 TW TW090105566A patent/TWI284840B/en not_active IP Right Cessation
- 2001-06-07 BR BR0111950-8A patent/BR0111950A/en not_active IP Right Cessation
- 2001-06-07 EP EP01948309A patent/EP1330712A2/en not_active Ceased
- 2001-06-07 WO PCT/US2001/018679 patent/WO2002001348A2/en active Application Filing
- 2001-06-07 AU AU2001269776A patent/AU2001269776A1/en not_active Abandoned
- 2001-06-07 CN CNB018118399A patent/CN100476743C/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5603035A (en) * | 1991-08-22 | 1997-02-11 | Telemecanique | Programmable interrupt controller, interrupt system and interrupt control process |
EP0742522A1 (en) * | 1995-05-12 | 1996-11-13 | STMicroelectronics Limited | Processor interrupt control |
WO1998009225A1 (en) * | 1996-08-29 | 1998-03-05 | Nematron Corporation | Real time software system |
WO1999014679A1 (en) * | 1997-09-12 | 1999-03-25 | Siemens Microelectronics, Inc. | Interrupt system |
Also Published As
Publication number | Publication date |
---|---|
CN1503943A (en) | 2004-06-09 |
EP1330712A2 (en) | 2003-07-30 |
US7165134B1 (en) | 2007-01-16 |
CN100476743C (en) | 2009-04-08 |
WO2002001348A3 (en) | 2003-05-22 |
TWI284840B (en) | 2007-08-01 |
BR0111950A (en) | 2005-10-18 |
AU2001269776A1 (en) | 2002-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7165134B1 (en) | System for selectively generating real-time interrupts and selectively processing associated data when it has higher priority than currently executing non-real-time operation | |
US6823414B2 (en) | Interrupt disabling apparatus, system, and method | |
US6629157B1 (en) | System and method for virtualizing the configuration space of PCI devices in a processing system | |
US6704806B1 (en) | Method and device for monitoring the creation and destruction of child processes within an application executing in a computer system | |
US6499078B1 (en) | Interrupt handler with prioritized interrupt vector generator | |
US6938103B2 (en) | Universal serial bus transaction processing tasks scheduling method for computer system, involves assigning transaction to periodic queue head list with faster polling interval | |
US7694164B2 (en) | Operating system-independent method and system of determining CPU utilization | |
WO1999027434A1 (en) | Using firmware to enhance the functionality of a controller | |
US6658515B1 (en) | Background execution of universal serial bus transactions | |
WO2006124905A2 (en) | Method for delivering interrupts to user mode drivers | |
GB2408119A (en) | Dynamic Switching between Polling and Interrupt in Handling Network Traffic | |
US20070186022A1 (en) | Interrupt control system and method for reducing interrupt latency | |
WO2019204101A1 (en) | Providing interrupt service routine (isr) prefetching in multicore processor-based systems | |
US6629178B1 (en) | System and method for controlling bus access for bus agents having varying priorities | |
US6215703B1 (en) | In order queue inactivity timer to improve DRAM arbiter operation | |
US7779411B2 (en) | System, method and medium for providing asynchronous input and output with less system calls to and from an operating system | |
WO2005064465A2 (en) | Method and apparatus for processing hot key input using operating system visible interrupt handling | |
WO2004023288A2 (en) | Preemption of interrupts having the same priority | |
US20050144346A1 (en) | Message based transport mechanism for level sensitive interrupts | |
EP1387258A2 (en) | Processor-processor synchronization | |
US20040111549A1 (en) | Method, system, and program for improved interrupt processing | |
US20010021967A1 (en) | Method and apparatus for arbitrating deferred read requests | |
US6766461B1 (en) | Status switching method of an information apparatus to ensure an operating status when the apparatus is liable to receive vibration or shock | |
US6112272A (en) | Non-invasive bus master back-off circuit and method for systems having a plurality of bus masters | |
US20060282589A1 (en) | System and method of processing system management interrupts (SMI) in a multi-processor environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: IN/PCT/2002/01698/MU Country of ref document: IN |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 018118399 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2001948309 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2001948309 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
ENP | Entry into the national phase |
Ref document number: PI0111950 Country of ref document: BR |