CN1503943A - 用于在个人计算机系统中提供实时操作的方法和设备 - Google Patents

用于在个人计算机系统中提供实时操作的方法和设备 Download PDF

Info

Publication number
CN1503943A
CN1503943A CNA018118399A CN01811839A CN1503943A CN 1503943 A CN1503943 A CN 1503943A CN A018118399 A CNA018118399 A CN A018118399A CN 01811839 A CN01811839 A CN 01811839A CN 1503943 A CN1503943 A CN 1503943A
Authority
CN
China
Prior art keywords
real
incident
time
cpu
computer system
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
CNA018118399A
Other languages
English (en)
Other versions
CN100476743C (zh
Inventor
J・卡达克
J·卡达克
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1503943A publication Critical patent/CN1503943A/zh
Application granted granted Critical
Publication of CN100476743C publication Critical patent/CN100476743C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Abstract

公开了一种方法,该方法包括在实施一种通用操作系统的个人计算机上接收实时数据,在所述个人计算机生成一实时事件并在所述个人计算机确定所述实时事件是否具有比正在处理的一第一事件更高的优先级。如果所述实时事件具有比所述正在处理的第一事件更高的优先级,则处理所述实时事件。

Description

用于在个人计算机系统中提供实时操作的方法和设备
发明领域
本发明涉及计算机系统,更准确地说,本发明涉及在一计算机系统执行实时应用。
背景
近来,个人计算机被用于各种应用以便简化将由一用户执行的任务。然而,常规的个人计算机不能执行实时应用。一实时应用是其中由一计算机执行的计算的正确性不仅由该计算的逻辑正确性,而且由产生该结果的时间而定的一种应用。如果不满足定时限制,该系统失败。例如,在一爱国者导弹应用中,一爱国者必须在一雷达检测系统上定位一袭来的导弹并且在该袭来的导弹能破坏其目标前发射一防御导弹。
在用通用的操作系统如Window98或WindowNT操作的常规计算机系统上执行实时操作是很困难的,因为通用的操作系统核心不具有响应在一给定延时约束(time restriction)内的事件的能力。另外,典型的计算机系统的硬件也不能产生执行所要求的时间分解的事件。
在象Window98的一种操作系统中,没有规则如应用驱动程序如何处理事件。例如,在某些实例中,驱动程序可能关闭一所接收的事件达5秒之久,在该事件被处理前。很显然,这种延迟对一实时操作来说是不可接受的。因此,需要向一通用操作系统提供实时功能。
附图的简单说明
从下面给出的详细的说明以及本发明的各个实施例的附图将更全面地理解本发明。然而,附图并不是将本发明限定到特定的实施例,仅用于解释和理解。
图1是一计算机系统的一个实施例的框图;
图2是一处理器的一个实施例的框图;
图3是一事件处理程序的操作的一个实施例的流程图。
详细说明
描述用于在个人计算机系统中担任实时操作的一种方法和设备。在本发明的下面的详细说明中,阐述了许多特定的详细情况以便提供本发明的全面理解。然而,显然对本领域的技术人员来说,可在没有这些特定的详细情况下实施本发明。在其他实例中,用框图形式示出了公知的结构和设备,而不是详细说明,以便避免难以理解本发明。
图1是一计算机系统100的一个实施例的框图。计算机系统100包括一中央处理单元(处理器)105,连接到处理器总线110上。在一个实施例中,处理器105是可从Intel Corporation of SantaClara,California获得的包括PentiumII系列和mobile Pentium和PentiumII处理器的Pentium系列处理器中的一种Intel结构处理器。另外,可使用其他处理器。处理器105可包括一第一级(L1)高速缓冲存储器(在图1中未示出)。
在一个实施例中,处理器105可经专门的高速缓冲总线102被连接到高速缓冲存储器107,该高速缓冲存储器是一第二级(L2)高速缓冲存储器。该L1和L2高速缓冲存储器也可被集成到一单个的设备中。另外,高速缓冲存储器107可通过一共享总线被连接到处理器105。高速缓冲存储器107是可选的,并不是计算机系统100所要求的。
芯片组120也被连接到处理器总线110上。在一个实施例中,芯片组是可从Intel Corporation获得的440BX芯片组;然而,也可使用其他芯片组。芯片组120可包括一存储器控制器,用于控制一主存储器113。另外,芯片组220也可包括由Intel Corporation of SantaClara,California开发的一种加速图形接口(AGP)规格修订版本(specification revision)2.0接口320。AGP接口320被连接到一视频设备125上并且处理视频数据请求以访问主存储器113。
主存储器113通过芯片组120被连接到处理器总线110上。主存储器113以及高速缓冲存储器107存储由处理器105执行的指令序列。由处理器105执行的指令序列可从主存储器113、高速缓冲存储器107或任何其他存储设备中检索出。另外的设备也可被连接到处理器总线110上,如多处理器和/或多主存储设备。按一单个处理器来描述计算机系统100;然而,多个处理器可被连接到处理器总线110上。视频设备125也被连接到芯片组120。在一个实施例中,视频设备包括一视频监视器如一阴极射线管(CRT)或液晶显示器(LCD)以及必要的支持电路。
处理器总线110通过芯片组120被连接到系统总线130上。在一个实施例中,系统总线130是支持由PCI Special Interest Group ofPortland,Oregon开发的一规格修订版本2.1总线的一外设部件互连(PCI)总线;然而,也可使用其他总线标准。多个设备,如音频设备127,可被连接到系统总线130上。根据一个实施例,一无线电收发机129可被用来实现计算机系统100和一远程设备(未示出)间的一通信接口。
总线桥140将系统总线130连接到辅助总线150上。在一个实施例中,辅助总线150是由Armonk,New York的International BusinessMachines开发的一种工业标准结构(ISA)规格修订版本1.0a总线。然而,也可使用其他总线标准,例如,由Compaq Computer,et al开发的扩展工业标准结构(EISA)规格修订版本3.12。多个设备,如硬盘153以及盘驱动器154可被连接到辅助总线150上。其他设备,如光标控制设备(图1中未示出),可被连接到辅助总线150上。
根据一个实施例,计算机系统100包括与一通用操作系统集成的一实时操作系统。例如,计算机系统100使处理器105执行使用由Microsoft Corporation of Redmond,Washington开发的Window98操作系统的实时应用(如无线通信系统)。然而,本领域的普通技术人员将理解计算机系统100可使用其他通用操作系统来实现。实时应用是在它们的行为方面具有时间限制的应用。如果不满足该限制,该应用要么失败要么需要适当地修改操作条件。
图2是处理器105的一个实施例的框图。处理器105包括一模数转换器(ADC)210、一定时器220、寄存器230、事件机构240以及事件处理器250。ADC210采样计算机系统100接收的实时模拟数据并将该数据转换成一种数字格式。根据一个实施例,ADC210被连接到无线收发机129(图1)并从该收发机接收模拟数据。
定时器220被用作在事件机构240生成定时中断的一种机构。根据一个实施例,定时器220以预定间隔将一信号传送到事件机构240。该信号表示机构240打算生成一定时中断。根据一个实施例,定时中断每隔5毫秒被生成。然而,本领域的一个普通技术人员将理解可使用其他时间间隔来生成定时中断。
寄存器230被连接到ADC210。寄存器230存储从ADC210接收的其后将在CPU105处理的数据。事件机构240被连接到定时器220和寄存器230。如上所述,事件机构240生成实时定时中断。由事件处理器250检查定时中断。定时中断指示事件处理器250有可能需要处理实时数据。
事件处理器250处理从事件机构240接收的实时中断。基于检测的一定时中断,事件处理器250验证在寄存器230中是否存储有需要处理的数据。然而,先于处理寄存器230中的数据,事件处理器250必须确定相对于处理器105接收的其他中断来说该定时中断的优先级。
典型地,响应一硬件中断或软件事件,调用中断。请求服务或实际上正在被服务的一应用或设备被整个处理,提供具有一更高优先级请求服务的另一中断。根据一个实施例,如果具有一更高优先级的一中断服务,该较高优先级请求将先于较低优先级中断。较低优先级中断将在完成该较高优先级中断后继续。用相同方式的一定时中断功能如普通中断,除它们是响应定时器220被调用外。
根据一个实施例,定时中断(如实时事件)相对于处理器105请求服务的其他事件来说被指定一高优先级。例如,定时中断具有非关键中断(如系统管理中断)高的优先级,并具有比关键中断(如非屏蔽中断)低的优先级。
图3是基于接收一实时事件,事件处理器250的操作的一个实施例的流程图。在处理块310,事件处理器250接收来自事件机构240的一定时中断。在处理块320,事件处理器250判断由处理器105执行的该实时事件是否具有比当前操作更高的优先级。如果由处理器105执行的当前操作具有比该实时事件低的优先级,在块330,处理器1045的当前状态被保存。因此,由处理器105执行的当前操作闲置以便以后处理。
在处理块340,处理器105处理(S)实时事件。在处理块350,完成由处理器105处理的实时事件。在处理块360,处理器105被返回到接收该定时中断前的状态。如果由处理器105执行的当前操作具有比该实时事件更高的优先级,在处理块370,处理器105继续处理当前操作。
本发明使处理器105处理在一可接受的等待时间周期中的实时事件。因此,处理器105能模拟典型地由数字信号处理器执行的应用协议。
毫无疑问,对本领域的普通人员来说在阅读上述说明后对本发明做出许多改变和修改是显而易见的,应当理解通过图解说明所示出的和描述的任何特定的实施例决不能当作是限定。因此,参考各种实施例的详细情况并不是用于限定权利要求的范围。

Claims (16)

1、一种方法,包括:
在实施通用操作系统的个人计算机上接收实时数据;
在所述个人计算机生成一实时事件;
在所述个人计算机确定所述实时事件是否具有比正在处理的一第一事件更高的优先级;以及
如果是,处理所述实时事件。
2、如权利要求1所述的方法,进一步包括如果所述实时事件不具有比所述第一事件更高的优先级,则继续处理所述第一事件。
3、如权利要求1所述的方法,进一步包括:
在先于处理所述实时事件前,在所述个人计算机保存所述第一事件的状态;以及
在完成所述实时事件的处理后,处理在前事件。
4、如权利要求1所述的方法,进一步包括:
接收一第二事件同时处理所述实时事件;以及
确定所述第二事件是否具有比所述实时事件更高的优先级。
5、如权利要求4所述的方法,进一步包括:
如果所述第二事件不具有比所述第二事件更高的优先级,则继续处理所述实时事件。
6、如权利要求4所述的方法,进一步包括:
如果所述第二事件具有较高的优先级,则终止执行所述实时事件;以及
处理所述第二事件。
7、一种计算机系统,包括一中央处理单元(CPU),其中所述CPU根据适用于执行实时指令的通用操作系统来操作。
8、如权利要求7所述的计算机系统,其中所述CPU包括:
一定时器,以预定时间间隔生成定时信号;以及
一事件机构,连接到所述定时器以生成实时事件。
9、如权利要求8所述的计算机系统,其中所述CPU进一步包括一事件处理器,连接到所述事件机构以处理实时事件。
10、如权利要求9所述的计算机系统,其中所述CPU进一步包括一寄存器,连接到所述事件机构以存储实时数据。
11、如权利要求9所述的计算机系统,其中所述事件机构确定实时事件和非实时事件间的相对优先级。
12、如权利要求11所述的计算机系统,其中CPU进一步包括连接到所述寄存器的模数转换器。
13、一中央处理单元(CPU),包括:
一定时器,以预定时间间隔生成定时信号;以及
一事件机构,连接到所述定时器以生成实时事件,其中CPU根据适用于执行实时指令的通用操作系统来操作。
14、如权利要求13所述的计算机系统,其中所述CPU进一步包括一事件处理器,连接到所述事件机构以处理实时事件。
15、如权利要求14所述的计算机系统,其中所述CPU进一步包括一寄存器,连接到所述事件机构以存储实时数据。
16、如权利要求15所述的计算机系统,其中CPU进一步包括连接到所述寄存器的模数转换器。
CNB018118399A 2000-06-28 2001-06-07 用于在个人计算机系统中提供实时操作的方法和设备 Expired - Fee Related CN100476743C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/606,839 2000-06-28
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

Publications (2)

Publication Number Publication Date
CN1503943A true CN1503943A (zh) 2004-06-09
CN100476743C CN100476743C (zh) 2009-04-08

Family

ID=24429678

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018118399A Expired - Fee Related CN100476743C (zh) 2000-06-28 2001-06-07 用于在个人计算机系统中提供实时操作的方法和设备

Country Status (7)

Country Link
US (1) US7165134B1 (zh)
EP (1) EP1330712A2 (zh)
CN (1) CN100476743C (zh)
AU (1) AU2001269776A1 (zh)
BR (1) BR0111950A (zh)
TW (1) TWI284840B (zh)
WO (1) WO2002001348A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105573935A (zh) * 2014-09-30 2016-05-11 伊姆西公司 调平io
CN112616192A (zh) * 2020-12-04 2021-04-06 展讯通信(上海)有限公司 事件处理方法和装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4112511B2 (ja) * 2004-02-17 2008-07-02 富士通株式会社 タスク管理プログラムおよびタスク管理装置
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
US7917784B2 (en) 2007-01-07 2011-03-29 Apple Inc. Methods and systems for power management in a data processing system
US8667198B2 (en) * 2007-01-07 2014-03-04 Apple Inc. Methods and systems for time keeping 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 (ko) * 2011-12-07 2013-06-17 삼성전자주식회사 운영체제에서 동적으로 선점 구간을 조정하는 장치 및 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3877021A (en) * 1971-04-23 1975-04-08 Western Electric Co Digital-to-analog converter
FR2680591B1 (fr) 1991-08-22 1996-01-26 Telemecanique Controleur d'interruption programmable, systeme interruptif et procede de controle d'interruption.
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
GB9509626D0 (en) 1995-05-12 1995-07-05 Sgs Thomson Microelectronics Processor interrupt control
US5774701A (en) * 1995-07-10 1998-06-30 Hitachi, Ltd. Microprocessor operating at high and low clok frequencies
WO1998009225A1 (en) 1996-08-29 1998-03-05 Nematron Corporation Real time software system
US5968159A (en) 1997-09-12 1999-10-19 Infineon Technologies Corporation Interrupt system with fast response time
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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105573935A (zh) * 2014-09-30 2016-05-11 伊姆西公司 调平io
CN105573935B (zh) * 2014-09-30 2019-01-18 伊姆西公司 调平io
CN112616192A (zh) * 2020-12-04 2021-04-06 展讯通信(上海)有限公司 事件处理方法和装置

Also Published As

Publication number Publication date
US7165134B1 (en) 2007-01-16
WO2002001348A3 (en) 2003-05-22
EP1330712A2 (en) 2003-07-30
BR0111950A (pt) 2005-10-18
TWI284840B (en) 2007-08-01
AU2001269776A1 (en) 2002-01-08
CN100476743C (zh) 2009-04-08
WO2002001348A2 (en) 2002-01-03

Similar Documents

Publication Publication Date Title
CN1503943A (zh) 用于在个人计算机系统中提供实时操作的方法和设备
EP1215577B1 (en) Fault management and recovery based on task-ID
US6499090B1 (en) Prioritized bus request scheduling mechanism for processing devices
US6629157B1 (en) System and method for virtualizing the configuration space of PCI devices in a processing system
US5717926A (en) Efficient forking of a process
EP1612638B1 (en) Method and system of verifying proper execution of a secure mode entry sequence
US6553487B1 (en) Device and method for performing high-speed low overhead context switch
JP2743233B2 (ja) マイクロプロセッサ装置及び自動化停止状態再始動を実行させる方法
EP1628235A1 (en) Method and system of ensuring integrity of a secure mode entry sequence
US6324684B1 (en) Processor having real-time execution control for debug functions without a debug monitor
US20070283146A1 (en) Enhanced Exception Handling
EP1199641B1 (en) Data processing device used in serial communication system
EP1040417B1 (en) System for analyzing graphics controller performance
WO1998038565A9 (en) System and method for generating high resolution clockticks in a computer system
WO1998038565A2 (en) System and method for generating high resolution clockticks in a computer system
US5953535A (en) Using intelligent bus bridges with pico-code to service interrupts and improve interrupt response
EP1387258A2 (en) Processor-processor synchronization
US20040215847A1 (en) Autonomic I/O adapter response performance optimization using polling
US6675238B1 (en) Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor
US20040111549A1 (en) Method, system, and program for improved interrupt processing
US6195715B1 (en) Interrupt control for multiple programs communicating with a common interrupt by associating programs to GP registers, defining interrupt register, polling GP registers, and invoking callback routine associated with defined interrupt register
Leyva-del-Foyo et al. Predictable interrupt scheduling with low overhead for real-time kernels
EP0669582A2 (en) Immediate system management interrupt source with associated reason register
JP3101023B2 (ja) バス使用権制御方法
EP1341092A1 (en) Method and arrangement for virtual direct memory access

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090408

Termination date: 20160607