【技术实现步骤摘要】
本专利技术涉及一种具有外部指令集和内部指令集的数据处理系统,例如,涉及到这样一种具有指令高速缓冲存储器的系统,所述系统特别地使用与软件或者硬件翻译器相组合的存储器来把处理器的外部可见指令集与在内部实现的指令集相分开。从美国专利US-A-6,332,215可以获知,该专利提供了这样一种系统,在该系统之中,由指令翻译硬件把外部Java字节码翻译成内部的本机处理器指令。从Intel公司生产的奔腾IV处理器的跟踪高速缓冲存储器机制可知,所述机制通过计算机代码的一组基本块来存储表示先前执行路径的数据,这样就使得可以容易地获知推测性跟踪,而不必单个地取出所组成的基本块并将其作为测量结果,从而增加了强流水线系统中的处理速度。将所述跟踪信息使用大小固定的行存储在常规的高速缓冲存储器中,所述行具有用于规定推测性跟踪结构的标记中的指针。正如将要看到的那样,本专利技术不是在传统的高速缓冲存储器结构之上构造的;它在标准的随机存取存储器结构上实现了一种瞬态高速缓冲存储器,所述瞬态高速缓冲存储器包括大小可变的块,这样就有助于更大的空间效率和更快的操作。在Transmeta生产的微处理器中已知的是,提供了这样一种系统,在所述系统之中,软件用于把指令集从非本机指令集翻译成本机指令集,然后管理所述翻译以便在处理器上执行。提供用于支持多个外部指令集的微处理器是众所周知的。这些微处理器的一个例子是ARM体系结构的微处理器,这种微处理器目前支持三种外部指令集,也就是ARM、Thumb和Java指令集。尽管希望能够扩展由特定微处理器所支持的不同指令集的数目,但是多种指令集趋向于把额外的复杂性 ...
【技术保护点】
用于处理数据的设备,所述设备包括:执行核心,可操作来执行内部指令;翻译缓冲器,可操作来存储一个或多个内部指令的多个内部指令块,所述内部指令块是一个或多个外部指令的各自外部指令块的动态翻译;再映射器,响应于对处于所述外部指令块之一内的外部指令的执行请求,来识别在所述翻译缓冲器内存储的相应内部指令块,以致使得将来自于所述相应内部指令块的一个或多个内部指令提供给所述执行核心。
【技术特征摘要】
GB 2002-9-20 0221916.01.用于处理数据的设备,所述设备包括执行核心,可操作来执行内部指令;翻译缓冲器,可操作来存储一个或多个内部指令的多个内部指令块,所述内部指令块是一个或多个外部指令的各自外部指令块的动态翻译;再映射器,响应于对处于所述外部指令块之一内的外部指令的执行请求,来识别在所述翻译缓冲器内存储的相应内部指令块,以致使得将来自于所述相应内部指令块的一个或多个内部指令提供给所述执行核心。2.如权利要求1所述的设备,其中所述执行请求是外部指令块内的第一外部指令,并且把来自于所述相应内部指令块的内部指令提供给所述执行核心,所述执行核心起始于来自于所述相应内部指令块的第一内部指令。3.如权利要求1和2任一项所述的设备,其中内部指令块在功能上等效于各个相应的外部指令块。4.如权利要求1、2和3的任一项所述的设备,其中所述外部指令块的长度可变。5.如前述权利要求中任一项所述的设备,其中所述内部指令块的长度可变。6.如前述权利要求中任一项所述的设备,其中所述内部指令是可外部访问的指令集的一部分。7.如前述权利要求中任一项所述的设备,其中外部指令块用分支外部指令加以终止。8.如前述权利要求中任一项所述的设备,其中内部指令块用分支内部指令加以终止。9.如前述权利要求中任一项所述的设备,其中所述再映射器存储映射数据,所述映射数据用于识别外部指令块的地址和在所述翻译缓冲器内相应内部指令块地址之间的映射。10.如权利要求9所述的设备,其中所述映射数据被存储在所述再映射器内的再映射器存储器中。11.如权利要求10所述的设备,其中所述再映射器存储器被划分为多个再映射器存储器部分,每个再映射器存储器部分均与所述翻译缓冲器中各自翻译缓冲器部分相关联,所述再映射器可以操作这种所述再映射器存储器部分之一,所述再映射器存储器部分之一用于接收新生成的映射数据,直到所述相关联的翻译缓冲器部分不再具有空闲空间来接受新生成的映射数据,于是另一所述重新映射存储器部分被选择并且被清空,并且把新生成的映射数据存储在其中,新生成的内部指令块存储在相关联的翻译缓冲器部分中。12.如权利要求11所述的设备,其中使用循环算法来选择所述另一再映射器存储器部分。13.如前述权利要求中任一项所述的设备,其中所述翻译缓冲器还存储内部指令块内每个内部指令的外部指令边界控制数据,用于规定所述内部指令是否对应于外部指令之间的边界。14.如前述权利要求中任一项所述的设备,其中所述翻译缓冲器还存储内部指令块内每个内部指令的指令独立性控制数据,用于规定在不依赖于所述内部指令块内先前指令的情况下是否执行所述内部指令。15.如前述权利要求中任一项所述的设备,其中所述翻译缓冲器还存储内部指令块内每个内部指令的提前终止控制数据,用于规定在不破坏系统状态的情况下并在结束之前是否终止所述内部指令。16.如前述权利要求中任一项所述的设备,其中所述翻译缓冲器还存储每个内部指令块的分支预测数据,用于规定在完成所述内部指令块的执行之时要获得的预测分支目标。17.如前述权利要求中任一项所述的设备,其中所述翻译缓冲器还存储每个内部指令块的下一块数据,用于规定要加以执行的已预测的下一内部指令块在所述翻译缓冲器中的位置。18.如前述权利要求中任一项所述的设备,其中所述翻译缓冲器还存储每个内部指令块的代码剖析数据,用于规定涉及所述内部指令块执行的统计量。19.如权利要求16、17和18任一项所述的设备,包括更新器,可操作来响应于检测到的执行行为,更新在所述翻译缓冲器内存储的数据,所述数据与所存储的内部指令块相关。20.如前述权利要求中任一项所述的设备,包括指令翻译器,可操作来将外部指令块翻译为内部指令块。21.如权利要求20所述的设备,其中所述指令翻译器是以下翻译器之一基于硬件的指令翻译器;和基于软件的指令翻译器。22.如前述权利要求中任一项所述的设备,其中所述翻译缓冲器包括锁定区域,其中可以将内部指令块放置在锁定存储器中。23.如前述权利要求中任一项所述的设备,包括挽救存储器,在所述挽救存储器中至少临时存储在所述翻译缓冲器中先前存储的内部指令块,并且当在所述翻译缓冲器内查找所述内部指令块时,如果发生未命中,所述挽救存储器可用来访问。24.如前述权利要求中任一项所述的设备,其中至少某一内部指令或者内部指令块是在程序执行流程中它们的位置前被推测性地执行的。25.如权利要求20和21任一项所述的设备,其中当所述指令翻译器将外部指令块翻译为内部指令块时,所述指令翻译器对关于所述外部指令块的可用的运行时间信息做出响应。26.如权利要求25所述的设备,其中所述指令翻译器可操作来进行以下一个或多个操作解析存储器地址;解析内联异常处理器;去除模式转变;和简化依赖于在运行时间上恒定或者基本上恒定的信息的计算。27.如前述权利要求中任一项所述的设备,包括异常处理器,可操作来在执行内部指令块的内部指令时发生异常的情况下,触发对异常处理指令的执行并且存储异常返回指针,以便使得对所述内部指令块的执行能够在发生所述异常的点处恢复。28.如前述权利要求中任一项所述的设备,包括中断处理器,可操作来在执行内部指令块的内部指令时发生中断的情况下,触发对中断处理指令的执行并且存储中断返回指针,以便使得对所述内部指令块的执行能够在发生所述异常的点处恢复。29.如前述权利要求中任一项所述的设备,其中所述再映射器和翻译缓冲器具有多个部分,这些部分被分配来存储对应于不同类型的外部指令块的内部指令块。下一权利要求也涉及再映射器,但它们可以联合。30.如权利要求10所述的设备,其中所述再映射器存储器具有多个部分,这些部分被分配来存储对应于不同类型的外部指令块的映射数据。31.如权利要求22所述的设备,其中在锁定存储器中所放置的内部指令块被预处理,以便减少在所述再映射器中查找。32.如前述权利要求中任一项所述的设备,其中所述翻译缓冲器被地址映射到物理存储器区域,所述物理存储器区域可以在程序控制下加以访问。33.如前述权利要求中任一项所述的设备,其中绕过再映射器的分支内部指令可操作来执行分支操作,所述操作绕过所述再...
【专利技术属性】
技术研发人员:K弗劳特纳,AC罗斯,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:GB[英国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。