[发明专利]Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法有效
申请号: | 201310140907.3 | 申请日: | 2013-04-22 |
公开(公告)号: | CN103197971B | 公开(公告)日: | 2016-11-23 |
发明(设计)人: | 魏长安;杨京礼;李龙华;李骥;姜守达 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F13/24 |
代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 杨立超 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | Windows操作系统Pentium IV架构下高精度低CPU占用率定时器的实现方法,涉及Windows操作系统的定时器软件开发技术领域。本发明的目的是设计一种高精度、同时CPU占用的资源又很少的定时器,以解决现在Windows多任务分时工作时很难达到高精度低CPU资源占用率的技术问题。利用Pentium IV架构PC机的芯片组内的8254芯片,通过编写8254中断定时器驱动程序、APIC驱动程序,在Windows下实现一个基于中断的硬时钟定时器;定义中断处理函数,改变中断描述符表中的中断门结构,并将自定义的中断处理函数的指针赋给门结构的值,实现对用户自定义中断处理函数的调用,实现了可应用的定时器;经测试,定时精度可达到亚毫米级,在定时为100us时,定时偏移小于7us,且CPU占用率极低,满足大多数windows系统定时应用要求。 | ||
搜索关键词: | windows 操作系统 pentium 架构 高精度 cpu 占用率 定时器 实现 方法 | ||
【主权项】:
一种Windows操作系统PentiumⅣ架构下高精度低CPU占用率定时器的实现方法,其特征在于:所述方法的具体实现过程为:步骤一、利用PentiumⅣ架构PC机芯片组内的8254芯片,通过编写8254中断定时器的驱动程序,对8254内部寄存器进行配置,使能了8254芯片的内部计数功能;所述的8254中断定时器驱动程序包含下列功能函数:按控制字初始化定时器的函数;设定计数值的函数;读取计数值的函数;步骤二、通过编写的可编程中断控制器APIC驱动程序,在可编程中断控制器APIC中为8254PIT设定对应的中断向量;所述的可编程中断控制器APIC由本地高级中断控制器和I/O高级中断控制器两部分组成,本地高级中断控制器位于CPU中,I/O高级中断控制器位于南桥芯片上,用于连接各个产生中断的设备;可编程中断控制器APIC的工作过程为:收到来自IOAPIC的中断消息后,LAPIC及对应CPU通过中断请求寄存器IRR、当前中断服务寄存器ISR、任务优先级寄存器TPR、处理器优先级寄存器PPR以及中断结束寄存器EOI处理该中断;LAPIC的ISR、IRR均为256bit寄存器,对应PentiumⅣ平台上的256个中断向量;IRR中相应位置1,代表LAPIC已接收中断,但还未交CPU处理;ISR中相应位置1,代表CPU已开始处理中断,但还未完成;当CPU正在处理某中断时,同类型中断如果发生,相应的IRR bit会再次置1;如果某中断被挂起在IRR中,同类型的中断发生,则ISR中相应的bit被置1,在可编程中断控制器APIC中,同一类型中断最多可以被计数两次,对于PentiumⅣ系列CPU,如果目前已经有两个未处理完的同类型中断,再次产生同类型的中断消息被LAPIC拒绝;LAPIC需要软件写中断结束寄存器EOI来通知中断处理的完成,LAPIC中的中断结束寄存器EOI是一个32bit寄存器,对中断结束寄存器EOI写0表示中断处理完成;步骤三、修改Windows IDT,定义中断处理函数,改变中断描述符表中的中断门结构,并将自定义的中断处理函数的指针赋给门结构的值,对用户自定义中断处理函数的调用,实现了一个基于中断的硬时钟定时器;定时器的中断处理过程为:中断是通过中断描述符表IDT处理的,IOAPIC上有24个中断号引脚,每个中断号对应的设备发出中断后,IOAPIC都会向CPU发送一个中断消息,消息内部包括一个重要的值,就是中断向量,指定中断号的中断向量由RTE表中的0‑7位确定,中断向量对应的中断门信息在IDT表中存储;改变中断描述符表中的中断门结构,将用户自定义中断处理函数的指针赋给门结构的值,在8254的每一个中断到来时,CPU便会执行用户自定义的中断服务程序,实现了基于8254PIT的高精度定时器。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310140907.3/,转载请声明来源钻瓜专利网。