[发明专利]存储器存取装置及其方法有效
申请号: | 200710108719.7 | 申请日: | 2007-05-31 |
公开(公告)号: | CN101055550A | 公开(公告)日: | 2007-10-17 |
发明(设计)人: | 黄文俊;黄宗庆;钟健平 | 申请(专利权)人: | 威盛电子股份有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16 |
代理公司: | 北京市柳沈律师事务所 | 代理人: | 蒲迈文;黄小临 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储器 存取 装置 及其 方法 | ||
技术领域
本发明涉及一种存储器存取装置,特别是涉及一种用以存取南桥的存储器的存储器存取装置。
背景技术
当计算机系统内部的VGA软件需存取南桥中的存储器模块内的数据,例如是画面缓冲器大小(frame buffer size)时,VGA软件需呼叫一回调程序(call-back function)。回调程序由此存储器模块取得所需的信息,将所需信息传回VGA软件。
南桥的存储器模块仅有一索引寄存器(index register)与一数据寄存器(data register)。在软件应用上,以成对的索引端口(index port)指令与数据端口(data port)指令来存取此索引寄存器与数据寄存器,进而存取存储器模块的存储器。成对的索引指令与数据指令例如通过索引端口70h端口与数据端口71h端口、或索引端口74h端口与数据端口75h端口来存取索引寄存器与数据寄存器。亦即,索引端口70h端口与74h端口对应至同一个索引寄存器,而数据端口71h端口与75h端口对应至同一个数据寄存器。
然而,回调程序在存取此存储器时,若一中断(interrupt)发生,其中断处理程序(interrupt handler)可能意外地改变原本所要存取的存储器的地址。如此将导致中断结束后,回调程序存取到存储器中的错误地址的数据,使计算机系统产生非预期的结果。
以中断处理程序使用对应70h端口与71h端口的索引指令与数据指令,回调程序使用对应74h端口与75h端口的索引指令与数据指令来存取存储器为例,说明上述错误如何发生。图1示出了当回调程序存取存储器时发生中断导致错误的一事例的示意图。方块110、120与130分别为在VGA软件、回调程序与中断处理程序内的指令。在方块110中,VGA软件呼叫回调程序。之后,在方块120中,回调程序发出索引指令,将索引值A0h传送至索引端口74h端口,将索引值A0h存储于地址寄存器a1中(mov a1,A0h;out 74h,a1),即现在寄存器a1中存储着索引值A0h。之后,不幸地发生一高优先权的中断。在方块130中,中断处理程序发出索引指令,通过索引端口70h将位于地址寄存器a1的索引值A0h改为一错误索引值0ch(mov a1,0ch;out70h,a1;in a1,71h),即现在寄存器a1中存储着索引值0ch。当中断结束后,回到方块120,回调程序发出数据指令,依据地址寄存器的索引值,通过南桥的数据端口75h端口,来存取存储器时,参考到的不是原来的索引值A0h,而是中断处理程序的索引指令所改为的错误索引值0ch。因此存取到0ch所对应的存储器的错误地址中的数据,而非A0h所所对应的存储器地址中的数据。
发明内容
本发明有关于存储器存取装置用以存取一计算机系统的一存储器模块的一存储器。本发明的存储器存取装置以寄存器存储所要存取的索引值。直到接收数据指令时,存储器存取逻辑单元才依据索引值对存储器模块的存储器进行对应数据指令的存取操作。如此一来,即使在存储器存取逻辑单元收到数据指令之前发生一中断,且存取到存储器模块的索引寄存器,存储器存取逻辑单元仍能依据正确的索引值对存储器模块的存储器进行存取,而不受中断的影响。
根据本发明提出一种存储器存取装置,用以依据一第一索引指令与一第一数据指令存取一计算机系统的一存储器模块的一存储器。本发明的存储器存取装置包括一第一寄存器与一存储器存取逻辑单元。第一寄存器用以接收第一索引指令,并存储第一索引指令所对应的一第一索引值。存储器存取逻辑单元用以于接收到第一数据指令时,依据存储于第一寄存器的第一索引值,对存储器进行对应第一数据指令的存取操作。其中,计算机系统的中断处理程序通过一第二索引指令与一第二数据指令存取存储器,以执行一中断。
根据本发明还提出一种存储器存取方法,用以依据一第一索引指令与一第一数据指令存取一计算机系统的一存储器模块的一存储器。本发明的存储器存取方法包括:首先,接收第一索引指令,并存储第一索引指令的一第一索引值于一第一寄存器。之后,接收第一数据指令。然后,依据存于第一寄存器的第一索引值对存储器进行对应第一数据指令的存取操作。其中,计算机系统的中断处理程序通过一第二索引指令与一第二数据指令存取存储器,以执行一中断。
为使本发明的上述内容能更明显易懂,下文特举一较佳实施例,并结合附图详细说明如下。
附图说明
图1示出了当回调程序存取存储器时发生中断导致错误的一例的示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710108719.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种测定冰晶石中元素的方法
- 下一篇:采用钝化与活化技术的三乙胺法冷芯盒树脂