在微处理器内指示异常触发页面的方法和系统的制作方法

文档序号:6455473阅读:140来源:国知局
专利名称:在微处理器内指示异常触发页面的方法和系统的制作方法
技术领域
本发明大体上涉及微处理器,且更具体来说涉及在微处理器(例如,数字信号处理 器)内指示异常触发页面的方法和系统。
背景技术
通常,计算机系统包括一个或一个以上微处理器装置,每一微处理器装置经配置以 对存储于计算机系统的存储器内的值执行操作且管理计算机系统的总体操作。这些计算 机系统也可包括各种多媒体装置,例如声卡和/或视频卡,每一多媒体装置进一步包含一 个或一个以'上处理器,例如数字信号处理器(DSP),所述处理器在每一相应多媒体装置 内执行复杂的数学计算。
数字信号处理器(DSP)通常包括经特别配置以执行此类数学计算的硬件执行单元, 例如一个或一个以上算术逻辑单元(ALU)、 一个或一个以上乘法和累加单元(MAC), 和其他经配置以执行由DSP内的一组指令指定的操作的功能单元。此类操作可包括(例 如)算术操作、逻辑操作,和其他数据处理操作,其每一者由一组相关联的指令界定。
大体来说,DSP内的执行单元从耦合到存储器和执行单元的寄存器堆读取数据和操 作数,执行指令操作且将结果存储于寄存器堆中。

发明内容
描述在微处理器(例如,数字信号处理器(DSP))内指示软件管理式页面表内的哪 一页面触发异常的方法和系统。在一个实施例中,软件管理式转译后备缓冲器(TLB) 模块接收由超长指令字(VLIW)包内的指令(例如,取指令)产生的虚拟地址,且进 一步将所述虚拟地址与每一已存储的TLB条目进行比较。如果存在匹配,那么所述TLB 模块输出所述指令的对应的经映射物理地址。
否则,如果所述VLIW包跨越两个页面,其中第一页面作为TLB条目存在于所述 TLB模块内且第二页面从已存储的TLB条目遗漏,那么在控制寄存器的数据字段内设 定指示位以向软件管理单元识别TLB遗漏异常。如果所述TLB遗漏异常起始于对应于 由所述系统内的程序计数器识别的VLIW包的页面,那么将所述指示位设定为0值且将所述数据字段设定为0x00。或者,如果所述TLB遗漏异常起始于在对应于所述VLIW 包的所述页面之后的页面,那么将所述指示位设定为l值且将所述数据字段设定为0x01。 在一个实施例中,软件管理单元从寄存器检索指示位信息且使用指示位信息在软件 管理式页面表内进一步执行页面表查找以便检索遗漏页面信息。随后,将遗漏页面信息 写入到所述TLB模块内的新TLB条目中以用于随后的虚拟地址转译和指令包的执行。


图l为数字信号处理系统的方框图,在所述系统内可执行一组指令; 图2为说明所述数字信号处理系统内的存储器管理单元的一个实施例的方框图3为说明存储于所述数字信号处理系统内的软件管理式页面表中的虚拟地址与物
理地址的映射的一个实施例的方框图4为说明所述数字信号处理系统内的控制寄存器堆结构的一个实施例的方框图5为说明所述数字信号处理系统内的系统状态寄存器的一个实施例的方框图6为说明用以指示软件管理式页面表内的哪一页面在数字信号处理系统内触发异
常的系统的一 个实施例的方框图7为说明用以指示软件管理式页面表内的哪一页面在数字信号处理系统内触发异
常的方法的一个实施例的流程图。
具体实施例方式
描述用以指示软件管理式页面表内的哪一页面在微处理器(例如,数字信号处理器 (DSP))内触发异常的方法和系统。尽管下文结合DSP详细描述所述系统,但应理解, 可使用微处理器装置或任何其他经配置以接收指令的处理单元来实施所述系统,所述指 令用以从存储器模块检索数据、指示软件管理式页面表内的异常触发页面以及将信息插 入到微处理器装置内的转译后备缓冲器(TLB)模块中以用于随后执行指令包。
软件管理式TLB模块接收由超长指令字(VLIW)包内的指令(例如,取指令)产 生的虚拟地址,且进一步将此虚拟地址与每一已存储的TLB条目进行比较。如果存在匹 配,那么TLB模块输出所述指令的对应的经映射物理地址。
否则,如果VLIW包跨越两个页面,其中第一页面作为TLB条目存在于TLB模块 内且第二页面从己存储的TLB条目中遗漏,那么在控制寄存器的数据字段内设定一指示 位以向软件管理单元识别TLB遗漏异常。如果TLB遗漏异常起始于一对应于由系统内 的程序计数器识别的VLIW包的页面,那么将指示位设定为0值且将数据字段设定为0x00。或者,如果TLB遗漏异常起始于在对应于所述VLIW包的所述页面之后的一页 面,那么将指示位460设定为1值且将数据字段设定为0x01。
在一个实施例中,软件管理单元从寄存器检索指示位信息且使用指示位信息在软件 管理式页面表内进一步执行页面表查找以便检索遗漏页面信息。随后,将遗漏页面信息 写入到TLB模块内的新TLB条目中以用于随后的虚拟地址转译和指令包的执行。
图1是数字信号处理系统的方框图,在所述系统内可执行一组指令。如图1中所说 明,数字信号处理系统IOO包括处理单元110、存储器模块120,和将所述处理单元IIO 耦合到所述存储器模块120的一个或一个以上总线130。
存储器模块120以(例如)由VLIW编译器产生的超长指令字(VLIW)包的形式 存储数据和指令,每一 VLIW包包含一个或一个以上指令。包的每一指令通常为预定宽 度,且在存储器模块120中具有特定地址,以使得包中的第一指令通常具有低于所述包 的最后一个指令的存储器地址。经由总线130 (例如,指令载入总线、数据载入总线, 和/或数据载入/存储总线)将存储于存储器模块120内的指令载入处理单元110中。处 理单元110内的存储器管理单元MMU 190为硬件和/或软件模块,其经配置以处置由单 元UO请求的存储器存取且进一步耦合到中央处理单元核心140。
中央处理单元核心140经由一个或一个以上管线160进一步耦合到一个或一个以上 通用寄存器堆结构150。处理单元110可进一步包含一个或一个以上微处理器、数字信 号处理器,或其类似物。
通用寄存器堆结构150进一步包含一组通用寄存器单元(例如,三十二个32位宽 的寄存器单元),每一寄存器单元可作为单一寄存器或作为两个邻近寄存器单元的对齐 的若干对被存取。通用寄存器单元通常用于普通计算目的(例如,地址产生、标量算术, 和向量算术),且通常提供指令的所有操作数,包括载入/存储指令的地址、数字指令的 数据操作数,和向量指令的向量操作数。
处理单元IIO进一步包括控制寄存器堆结构170,其含有支持特殊目的功能性(例 如,硬件回路、谓词,和/或其他特殊操作数)的一组控制寄存器单元;以及多个系统控 制寄存器180,其执行存储器管理活动,且其进一步包括系统状态寄存器(SSR)单元 200 (下文将结合图5对其进行进一步详细描述)。
图2为说明所述数字信号处理系统内的存储器管理单元的一个实施例的方框图。如 图2中所说明,存储器管理单元190进一步包括耦合到一个或一个以上页面表195的转 译后备缓冲器(TLB)模块192。
在一个实施例中,处理单元IIO实施虚拟存储器系统,且页面表195是由所述虚拟
9存储器系统用来存储由程序产生的虚拟地址191与主存储器120内所含有的物理地址 193之间的映射的数据结构。图3为说明存储于数字信号处理系统内的页面表195中的 虚拟地址与物理地址的映射300的一个实施例的方框图。如图3中所说明,虚拟地址映 射310包括多个虚拟地址191,每一虚拟地址191包含一地址空间识别符(ASID),例 如在一虚拟地址(VA)主体(例如,具有虚拟页面编号(VPN)和页面偏移量的32位 地址)前面的专用的6位识别标签,从而形成38位的附有标签的虚拟地址。可将每一 虚拟地址映射到存储于页面表195内的物理地址映射320内的任何物理地址193。
再参看图2, TLB模块192将地址映射300的高速缓存(cache)存储于多个经编程 的TLB条目内。TLB模块192接收由VLIW包内的指令(例如,取指令、载入指令和/ 或存储指令)产生的虚拟地址191,且进一步将虚拟地址191与每一经编程的TLB条目 进行平行比较。如果存在匹配,那么TLB模块192输出对应的经映射物理地址193。否 则,如果不存在匹配,那么TLB模块192将TLB遗漏异常194输出到CPU核心140。
如果TLB模块192为硬件管理式缓冲器,且页面表195也是硬件管理式,那么CPU 核心140存取页面表195,以检索指定的虚拟存储器地址191的条目。如果CPU核心 140定位所述条目和其相关联的数据,那么将所述条目作为新TLB条目写入到TLB模 块192中,以用于在TLB模块192内进一步匹配虚拟地址191与物理地址193。
如果TLB模块192和页面表195均为软件管理式实体,那么在触发TLB遗漏异常 后,软件程序必须存取页面表195,经由迭代搜寻过程识别遗漏页面信息,且在软件中 执行转译。然而,如果软件程序不知道页面信息的位置,那么整个程序可能会耗时且效 率低下。因此,需要一种方法来使得软件程序能够识别遗漏页面信息在软件管理式页面 表内的位置。
图4为说明数字信号处理系统内的控制寄存器堆结构的一个实施例的方框图。控制 寄存器堆结构nO包括多个控制寄存器单元,例如回路寄存器171、程序计数器172、 用户状态寄存器173、变址寄存器174、谓词寄存器175和用户通用指针176,所述控制 寄存器单元经配置以提供对特殊目的特征(例如,硬件回路、谓词、禾B/或其他特殊操作 数)的存取。在一个实施例中,程序计数器(PC) 172为32位的寄存器单元,其将数 据指针存储到下一含有待在系统100内执行的指令的VLIW包。
图5为说明数字信号处理系统内的系统状态寄存器的一个实施例的方框图。如图5 中所说明,在一个实施例中,系统或监督状态寄存器(SSR) 200含有多个数据字段, 例如CAUSE数据字段210,其可为含有各种异常条件的原因的8位只读字段(如下文 结合图6和图7进一步详细描述)。SSR200可进一步包括(例如)ASID数据字段220,其含有用作虚拟寻址中的标签扩展的6位地址空间识别符(ASID)。
SSR 200也可包括(例如)用户模式(UM)数据字段240,其含有指示用户模式 (在位被设定时)或监督模式(在位被清除时)的单一读/写位;以及异常(EX)数据字 段250,其含有指示何时异常被接受且当前正在被处理的单一读/写位,所述单一位经设 定用于对此异常的当前处理且在执行指令完成后被清除。
SSR200可进一步包括(例如)中断启用/停用(正)数据字段260、线程编号(TNUM) 数据字段270和一个或一个以上保留的数据字段230和280,所述保留的数据字段230 和280被保留用于未来的处理且传回0值(如果被读取)。
图6为说明用以指示软件管理式页面表内的哪一页面在数字信号处理系统内触发异 常的系统的一个实施例的方框图。如图6中所说明,软件管理式TLB模块420接收由 VLIW包内的指令(例如,取指令)产生的虚拟地址410,且进一步将此虚拟地址410 与每一已存储的TLB条目进行比较。如果存在匹配,那么TLB模块420输出对应的经 映射物理地址430。否则,如果不存在匹配,那么TLB模块420将TLB遗漏异常440 输出到CPU核心450。
如果V'LIW包跨越两个页面,其中第一页面作为TLB条目存储于TLB模块420内 且第二页面从已存储的TLB条目中遗漏,那么CPU核心450在系统状态寄存器(SSR) 470的数据字段内设定指示位460以识别所述TLB遗漏异常(例如,图5中所展示的 SSR 200的CAUSE数据字段210),且进一步将所述设定传送到在CPU核心450上运行 的软件管理单元(未展示)。此外,CPU核心450在第二数据字段(例如,SSR 200的 EX数据字段250)内设定一异常位以指示所述异常被接受且当前正被处理。
如果TLB遗漏异常起始于对应于由程序计数器172内的数据指针识别的包的页面, 那么CPU核心450将指示位460设定为O值并将CAUSE数据字段设定为0x00。或者, 如果TLB遗漏异常起始于在对应于由程序计数器172内的数据指针识别的包的页面之后 的页面,那么CPU核心450将指示位460设定为1值并将CAUSE数据字段设定为0x01。
在一个实施例中,软件管理单元从SSR 470的CAUSE数据字段检索指示位信息, 且使用指示位信息在软件管理式页面表490内进一步执行页面表查找480,以便检索遗 漏页面信息。随后,将遗漏页面信息写入到TLB模块420内的新TLB条目中。
在一个实施例中,在TLB遗漏异常440产生后所执行的动作可用如下的伪码进行说

ELR-PC〃保存在TLB中遗漏的包的PC SSR[EX]-1〃在SSR中设定异常位
11SSR[CAUSE]=(由于PC页面而遗漏)?0x00:0x01 PC= (EVB) , (4《2)
图7为说明用以指示软件管理式页面表内的哪一页面在数字信号处理系统内触发异 常的方法的一个实施例的流程图。如图7中所说明,在处理区块510中接收指令。在一 个实施例中,存储器管理单元190接收指令(例如,取指令)且起始虚拟地址转译程序。
在处理区块520中,检索虚拟地址页面信息。在一个实施例中,从VLIW包内的指 令检索虚拟地址页面信息且将所述信息转发到TLB模块420。
在处理区块530中,将虚拟地址页面信息与已存储的虚拟页面条目进行比较。在一 个实施例中,TLB模块420将所检索的虚拟地址页面信息与存储于相应TLB条目内的 虚拟页面条目进行比较以找到匹配。
在处理区块540中,判定是否存在可获得的匹配。在一个实施例中,如果TLB模块 420在其已存储的TLB条目内找到匹配,那么在处理区块570中,用来自匹配的已存储 的TLB条目的物理地址页面信息替换虚拟地址页面信息。在一个实施例中,TLB模块 420执行虚拟地址转译ft用存储于TLB条目内的物理地址页面信息替换来自所接收的指
令的虚拟地址页面信息。
在一个实施例中,如果TLB模块420在其己存储的TLB条目中未找到匹配,那么 TLB模块420产生TLB遗漏异常,且促使CPU核心450在SSR 470的CAUSE数据字 段内设定指示位460。
然后,在处理区块550中,从寄存器470检索识别位信息。在一个实施例中,软件 管理单元从SSR 470的CAUSE数据字段检索识别位信息。
在处理区块560中,存取页面表以检索对应的虚拟页面条目信息。在一个实施例中, 软件管理单元存取页面表490目.使用所检索的识别位信息来执行页面表查找,以便检索 对应的虚拟页面条目信息,随后将其输入到TLB模块420内的相应TLB条目中。
最终,程序跳回到处理区块570,在所述处理区块中,TLB模块420执行虚拟地址 转译且用存储于新TLB条目内的物理地址页面信息替换来自所接收的指令的虚拟地址 页面H息。
所属领域的技术人员将了解,可使用多种不同技术和工艺中的任一者来表示信息和 信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何 组合来表示在上文描述中可能始终提到的数据、指令、命令、信息、信号、位、符号和 码片。
所属领域的技术人员将进一步了解,结合本文中所揭示的实施例描述的各种说明性
12逻辑区块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为清 晰地说明硬件与软件的此可互换性,上文已大体上对各种说明性组件、区块、模块、电 路和步骤的功能性进行描述。所述功能性实施为硬件还是软件取决于特定应用和强加于 整个系统上的设计约束条件。所属领域的技术人员可对于每一特定应用以各种方式实施 所描述的功能性,但此实施决策不应被解释为会导致脱离本发明的范围。
可使用经设计以执行本文中所描述的功能的通用处理器、数字信号处理器(DSP)、 专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑装置、离散门或 晶体管逻辑、离散硬件组件或其任一组合来实施或执行结合本文所揭示的实施例描述的 各种说明性逻辑区块、模块和电路。通用处理器可为微处理器,但在替代方案中,所述 处理器可为任何常规的处理器、控制器、微控制器或状态机。处理器也可实施为计算装 置的组合,例如DSP与微处理器的组合、多个微处理器的组合、 一个或一个以上微处理 器和一DSP核心的组合,或任何其他此种配置。
结合本文中所揭示的实施例描述的方法或算法的步骤可直接实施于硬件中、由处理 器执行的软件中,或两者的组合中。应了解,这些实施例可用作软件程序或用来支持软 件程序,所述软件程序在某种形式的处理器或处理核心(例如计算机的CPU)上被执行, 或以其他方式实施或实现于机器或计算机可读媒体上或其内。机器可读媒体包括任何用 于以机器(例如,计算机)可读取的形式存储或传输信息的机制。举例来说,机器可读 媒体包括RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、 寄存器、硬磁盘、可移除式磁盘、CD-ROM,或此项技术中已知的存储媒体的任一其他 形式。将示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息或将信息写 入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器与存储媒体可驻 存于ASIC中。ASIC可驻存于用户终端中。或者,处理器与存储媒体可作为离散组件驻 存于用户终端中。
提供对所揭示实施例的先前描述以使得任何所属领域的技术人员能够制作或使用 本发明。对这些实施例的各种修改对于所属领域的技术人员来说将容易显而易见,且可 在不偏离本发明的精神或范围的情况下将本文中所界定的一般原理应用于其他实施例。 因此,本发明并不希望限于本文中所展示的实施例,而是应符合与本文中所揭示的原理 和新颖特征一致的最广泛范围。
权利要求
1. 一种方法,其包含将指示位设定为预定值,以识别由缓冲器模块内的遗漏地址信息起始的异常,所述遗漏地址信息对应于可执行指令包;以及使用所述指示位从至少一个页面表检索所述地址信息以启用所述缓冲器模块内的地址转译。
2. 根据权利要求l所述的方法,其中所述设定进一步包含如果所述异常起始于对应于所述可执行指令包的已存储页面,那么将所述指示位设定为o值。
3. 根据权利要求1所述的方法,其中所述设定进一步包含如果所述异常起始于在对应于所述可执行指令包的已存储页面之后的页面,那么 将所述指示位设定为1值。
4. 根据权利要求1所述的方法,其中在寄存器的数据字段内设定所述指示位。
5. 根据权利要求1所述的方法,其中所述缓冲器模块和所述至少一个页面表为软件管 理式实体。
6. 根据权利要求1所述的方法,其进一步包含接收所述包内的可执行指令,所述可执行指令含有虚拟地址;将所述虚拟地址与所述缓冲器模块内的每一已存储的条目进行比较以获得匹配地址信息;以及如果所述匹配地址信息从所述缓冲器模块遗漏,那么起始所述异常。
7. 根据权利要求6所述的方法,其中所述可执行指令是取指令。
8. 根据权利要求l所述的方法,其中所述包跨越至少两个页面,第一页面作为条目存 储于所述缓冲器模块内,且第二页面含有所述遗漏地址信息。
9. 根据权利要求4所述的方法,其进一步包含-在所述寄存器的第二数据字段内设定异常位以指示所述异常当前正被处理。
10. 根据权利要求1所述的方法,其中所述缓冲器模块为转译后备缓冲器(TLB)模块。
11. 一种集成电路,其包含存储器管理单元,其进一步包含耦合到至少一个页面表的缓冲器模块; 中央处理单元,其耦合到所述存储器管理单元内的所述缓冲器模块;以及 软件管理单元,其在所述中央处理单元顶上运行;所述中央处理单元将指示位设定为预定值,以识别由所述缓冲器模块内的遗漏地 址信息起始的异常,所述遗漏地址信息对应于可执行指令包,且所述软件管理单元 使用所述指示位从所述至少一个页面表检索所述地址信息,以启用所述缓冲器模块 内的地址转译。
12. 根据权利要求11所述的集成电路,其中如果所述异常起始于对应于所述可执行指 令包的已存储页面,那么所述中央处理单元进一步将所述指示位设定为0值。
13. 根据权利要求11所述的集成电路,其中如果所述异常起始于在对应于所述可执行 指令包的已存储页面之后的页面,那么所述中央处理单元进一步将所述指示位设定 为l值。
14. 根据权利要求ll所述的集成电路,其中所述指示位被设定在寄存器的数据字段中。
15. 根据权利要求11所述的集成电路,其中所述缓冲器模块和所述至少一个页面表为 软件管理式实体。
16. 根据权利要求11所述的集成电路,其中所述缓冲器模块进一步接收所述包内的 可执行指令,所述可执行指令含有虚拟地址;将所述虚拟地址与所述缓冲器模块内 的每一已存储的条目进行比较以获得匹配地址信息;且如果所述匹配地址信息从所 述缓冲器模块遗漏,那么起始所述异常。
17. 根据权利要求16所述的集成电路,其中所述可执行指令为取指令。
18. 根据权利要求11所述的集成电路,其中所述包跨越至少两个页面,第一页面作为 条目存储于所述缓冲器模块内,且第二页面含有所述遗漏地址信息。
19. 根据权利要求11所述的集成电路,其中所述中央处理单元进一步在所述寄存器的第二数据字段内设定异常位以指示所述异常当前正被处理。
20. 根据权利要求11所述的集成电路,其中所述缓冲器模块为转译后备缓冲器(TLB) 模块。
21. —种系统,其包含用于将指示位设定为预定值以识别由缓冲器模块内的遗漏地址信息起始的异常 的装置,所述遗漏地址信息对应于可执行指令包;以及用于使用所述指示位从至少一个页面表检索所述地址信息以启用所述缓冲器模 块内的地址转译的装置。
22. 根据权利要求21所述的系统,其进一步包含用于在所述异常起始于对应于所述可执行指令包的已存储页面的情况下将所述 指示位设定为0值的装置。
23. 根据权利要求21所述的系统,其进一步包含用于在所述异常起始于在对应于所述可执行指令包的已存储页面之后的页面的 情况下将所述指示位设定为1值的装置。
24. 根据权利要求21所述的系统,其中所述指示位被设定在寄存器的数据字段内。
25. 根据权利要求21所述的系统,其中所述缓冲器模块和所述至少一个页面表为软件 管理式实体。
26. 根据权利要求21所述的系统,其进一步包含用于接收所述包内的可执行指令的装置,所述可执行指令含有虚拟地址; 用于将所述虚拟地址与所述缓冲器模块内的每一已存储的条目进行比较以获得 匹配地址信息的装置;以及用于在所述匹配地址信息从所述缓冲器模块遗漏的情况下起始所述异常的装置。
27. 根据权利要求26所述的系统,其中所述可执行指令为取指令。
28. 根据权利要求21所述的系统,其中所述包跨越至少两个页面,第一页面作为条目 存储于所述缓冲器模块内,且第二页面含有所述遗漏地址信息。
29. 根据权利要求24所述的系统,其进一步包含用于在所述寄存器的第二数据字段中设定异常位以指示所述异常当前正被处理 的装置。
30. 根据权利要求21所述的系统,其中所述缓冲器模块为转译后备缓冲器(TLB)模 块。
31. —种含有可执行指令的计算机可读媒体,当在处理系统中执行所述可执行指令时, 所述可执行指令促使所述处理系统执行包含以下步骤的方法将指示位设定为预定值,以识别由缓冲器模块内的遗漏地址信息起始的异常,所 述遗漏地址信息对应于可执行指令包;以及使用所述指示位从至少一个页面表检索所述地址信息以启用所述缓冲器模块内 的地址转译。
32. 根据权利要求31所述的计算机可读媒体,其中所述设定进一步包含如果所述异常起始于对应于所述可执行指令包的已存储页面,那么将所述指示位 设定为0值。
33. 根据权利要求31所述的计算机可读媒体,其中所述设定进一步包含如果所述异常起始于在对应于所述可执行指令包的己存储页面之后的页面,那么 将所述指示位设定为1值。
34. 根据权利要求31所述的计算机可读媒体,其中所述指示位被设定在寄存器的数据 字段中。
35. 根据权利要求31所述的计算机可读媒体,其中所述缓冲器模块和所述至少一个页 面表为软件管理式实体。
36. 根据权利要求31所述的计算机可读媒体,其中所述方法进一步包含接收所述包内的可执行指令,所述可执行指令含有虚拟地址; 将所述虚拟地址与所述缓冲器模块中的每一已存储的条目进行比较以获得匹配 地址信息;以及如果所述匹配地址信息从所述缓冲器模块遗漏,那么起始所述异常。
37. 根据权利要求36所述的计算机可读媒体,其中所述可执行指令为取指令。
38. 根据权利要求31所述的计算机可读媒体,其中所述包跨越至少两个页面,第一页 面作为条目存储于所述缓冲器模块内,且第二页面含有所述遗漏地址信息。
39. 根据权利要求4所述的计算机可读媒体,其中所述方法进一步包含在所述寄存器的第二数据字段中设定异常位以指示所述异常当前正被处理。
40. 根据权利要求31所述的计算机可读媒体,其中所述缓冲器模块为转译后备缓冲器 (TLB)模块。
全文摘要
本发明提供一种指示软件管理式页面表内的哪一页面在例如数字信号处理器等微处理器内触发异常的方法和系统,其中软件管理式转译后备缓冲器(TLB)模块接收由超长指令字(VLIW)包中的例如取指令等指令产生的虚拟地址,且进一步将所述虚拟地址与每一已存储的TLB条目进行比较。如果存在匹配,那么所述TLB模块输出所述指令的对应的经映射物理地址。否则,如果所述VLIW包跨越两个页面,其中第一页面作为TLB条目存在于所述TLB模块内且第二页面从已存储的TLB条目遗漏,那么在控制寄存器的数据字段内设定指示位,以向软件管理单元识别TLB遗漏异常。所述软件管理单元从所述寄存器检索指示位信息,且使用所述指示位信息在所述软件管理式页面表内进一步执行页面表查找以便检索遗漏页面信息。随后,将所述遗漏页面信息写入到所述TLB模块内的新TLB条目中,以用于随后的虚拟地址转译和指令包的执行。
文档编号G06F12/10GK101490655SQ200780026696
公开日2009年7月22日 申请日期2007年7月13日 优先权日2006年7月14日
发明者卢奇安·科德雷斯库, 埃里克·普隆德克, 穆罕默德·艾哈迈德, 维贾雅·库马尔·亚尼亚南 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1