[go: up one dir, main page]

CN1779662A - Improved virtual address translation method and device - Google Patents

Improved virtual address translation method and device Download PDF

Info

Publication number
CN1779662A
CN1779662A CNA2004100913779A CN200410091377A CN1779662A CN 1779662 A CN1779662 A CN 1779662A CN A2004100913779 A CNA2004100913779 A CN A2004100913779A CN 200410091377 A CN200410091377 A CN 200410091377A CN 1779662 A CN1779662 A CN 1779662A
Authority
CN
China
Prior art keywords
address
circuit
translation
virtual address
data
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
CNA2004100913779A
Other languages
Chinese (zh)
Other versions
CN100414518C (en
Inventor
范东睿
唐志敏
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.)
Loongson Technology Corp Ltd
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2004100913779A priority Critical patent/CN100414518C/en
Publication of CN1779662A publication Critical patent/CN1779662A/en
Application granted granted Critical
Publication of CN100414518C publication Critical patent/CN100414518C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种改进的虚拟地址变换方法及其装置,该方法包括利用数据局部性,将需要变换成物理地址的虚拟地址同上次变换的虚拟地址相比较,如果同属一个虚拟页表,则不访问翻译后援缓冲器(TLB)的随机存储器(RAM)部分,而直接利用上次变换得到的物理页表地址,以减少对翻译后援缓冲器中随机存储器的访问次数;而且指令翻译后援缓冲器(ITLB)和数据翻译后援缓冲器(DTLB)共用一个单读端口随机存储器;并且推迟随机存储器输出的物理页表地址和保存的上次使用的物理页表地址的选择操作,这样可以达到降低翻译后援缓冲器部分的功耗和面积的效果,同时又不会降低处理器的性能和增加电路的延迟。

Figure 200410091377

The invention discloses an improved virtual address transformation method and its device. The method includes using data locality to compare the virtual address that needs to be transformed into a physical address with the last transformed virtual address. If they belong to the same virtual page table, then The random memory (RAM) part of the translation lookaside buffer (TLB) is not accessed, but the physical page table address obtained by the last conversion is directly used to reduce the number of accesses to the random memory in the translation lookaside buffer; and the instruction translation lookaside buffer (ITLB) and data translation look-aside buffer (DTLB) share a single-read port random access memory; and postpone the physical page table address output by random access memory and the selection operation of the last used physical page table address saved, which can reduce translation The power and area effects of the backing buffer section without reducing the performance of the processor and increasing the delay of the circuit.

Figure 200410091377

Description

改进的虚拟地址变换方法及其装置Improved virtual address translation method and device

技术领域technical field

本发明涉及微处理器体系结构技术领域,特别涉及处理器中负责将虚拟地址转换为物理地址的翻译后援缓冲器(TLB,Translation Lookaside Buffer)的设计方法。The invention relates to the technical field of microprocessor architecture, in particular to a design method of a translation lookaside buffer (TLB, Translation Lookaside Buffer) responsible for converting a virtual address into a physical address in a processor.

背景技术Background technique

在虚拟存储系统中,必须将虚拟地址转换为物理地址,处理器的存储器管理部件中的翻译后援缓冲器就是为了加速这种地址转换而设计的,翻译后援缓冲器中存储各个逻辑页地址和物理页地址的表项,并且建立起两者的映射关系,这样在处理器内部就可以完成从虚拟地址到物理地址的映射过程,加速从虚拟地址到物理地址的变换。In the virtual storage system, the virtual address must be converted into a physical address. The translation lookaside buffer in the memory management part of the processor is designed to speed up this address conversion. The translation lookaside buffer stores each logical page address and physical address. The table entry of the page address, and the mapping relationship between the two is established, so that the mapping process from the virtual address to the physical address can be completed inside the processor, and the conversion from the virtual address to the physical address can be accelerated.

翻译后援缓冲器通常由两部分组成,一部分是存储虚拟地址页表项,用于同访问的虚拟地址进行全相连比较的内容比较器(CAM),另一部分是存储物理地址页表项,通过索引查找的随机存储器(RAM)。当一个访存地址访问翻译后援缓冲器时,先并行地在内容比较器中查找与访存地址匹配的虚拟页表项,查到后,根据查到位置的索引访问随机存储器,得到访问地址对应的物理地址所处的物理页表项。The translation look-aside buffer is usually composed of two parts, one is to store the virtual address page table entry, which is used for the content comparator (CAM) of the fully connected comparison with the accessed virtual address, and the other is to store the physical address page table entry, through the index Random access memory (RAM) for lookups. When a memory access address accesses the translation lookaside buffer, the virtual page table entry that matches the memory access address is first searched in parallel in the content comparator, and after finding it, accesses the random access memory according to the index of the found location to obtain the corresponding address of the access address The physical page table entry where the physical address is located.

由于处理器有取指令和数据访存两个并行的过程,而无论取指令还是数据访存,都需要访问翻译后援缓冲器部件,进行将虚拟地址转换为物理地址的过程,传统的翻译后援缓冲器实现方法有两种:一种是使用两个翻译后援缓冲器,即:指令翻译后援缓冲器(ITLB,Instruction Translation Lookaside Buffer)和数据翻译后援缓冲器(DTLB,Data Translation Lookaside Buffer),分别处理取指令和数据访存操作;另一种是使用一个共用翻译后援缓冲器,即接受取指令的访问,又接受数据访存的访问。传统设计中第一个方法的缺点是电路面积很大,功耗也很高,而传统设计的第二个方法的缺点是处理器的性能会受到负面影响,因为同时出现取指令和数据访存时,无法同时处理,必须延迟其中一个访问的处理,如果第二种方法采用双端口的内容比较器和双端口的随机存储器的话,又会导致电路面积增大,功耗增加的缺点。Since the processor has two parallel processes of instruction fetching and data accessing, regardless of instruction fetching or data accessing, it is necessary to access the translation backup buffer component to perform the process of converting virtual addresses into physical addresses. The traditional translation backup buffer There are two ways to implement the buffer: one is to use two translation lookaside buffers, namely: Instruction Translation Lookaside Buffer (ITLB, Instruction Translation Lookaside Buffer) and Data Translation Lookaside Buffer (DTLB, Data Translation Lookaside Buffer), which are processed separately Instruction fetching and data memory access operations; the other is to use a shared translation lookaside buffer, which accepts both instruction fetching and data memory accessing. The disadvantage of the first method in the traditional design is that the circuit area is large and the power consumption is high, while the disadvantage of the second method in the traditional design is that the performance of the processor will be negatively affected because the instruction fetch and data memory access occur at the same time When the second method cannot be processed at the same time, the processing of one of the accesses must be delayed. If the second method uses a dual-port content comparator and a dual-port random access memory, it will cause the disadvantages of increased circuit area and increased power consumption.

发明内容Contents of the invention

本发明的目的是克服现有技术的缺陷;改进从虚拟地址到物理地址的变换过程,降低翻译后援缓冲器电路的面积和功耗,同时还不影响处理器的性能和电路时序,从而提供一种改进的虚拟地址交换方法以及实现该方法的装置。The purpose of the present invention is to overcome the defective of prior art; Improve the conversion process from virtual address to physical address, reduce the area and power consumption of translation look-aside buffer circuit, also do not affect the performance of processor and circuit sequence simultaneously, thereby provide a An improved virtual address exchange method and a device for realizing the method.

为了解决上述技术问题,本发明提供一种改进的虚拟地址变换方法,即从虚拟地址向物理地址变换的方法,包括以下步骤:In order to solve the above-mentioned technical problems, the present invention provides an improved virtual address conversion method, that is, a method for converting from a virtual address to a physical address, comprising the following steps:

a)指令翻译后援缓冲器和数据翻译后援缓冲器将此次取指/数据的虚地址同上一次取指的虚地址/数据虚地址相比较;a) The instruction translation backup buffer and the data translation backup buffer compare the virtual address of this fetch/data with the virtual address/data virtual address of the last fetch;

b)判断是否属相同页表或可直接映射空间,如果是,执行步骤g),如果否,执行下一步;b) judge whether they belong to the same page table or directly mappable space, if yes, perform step g), if not, perform the next step;

c)指令翻译后援缓冲器和数据翻译后援缓冲器共用一个单读端口随机存储器,接受对物理地址的查询;c) The instruction translation back buffer and the data translation back buffer share a single-read port random access memory, and accept queries to physical addresses;

d)指令翻译后援缓冲器和数据翻译后援缓冲器在寄存器中保存变换得到的物理地址,并分别推迟与随机存储器输出的物理页表地址做选择;d) The instruction translation back buffer and the data translation back buffer save the transformed physical address in the register, and respectively postpone the selection with the physical page table address output by the random access memory;

e)指令翻译后援缓冲器和/或数据翻译后援缓冲器使用时分别同时用这两个来源(本次变换和上次变换)的物理地址,分别产生两个目标信号;e) When the instruction translation back buffer and/or the data translation back buffer are used, the physical addresses of the two sources (this transformation and the last transformation) are used respectively to generate two target signals respectively;

f)分别对步骤e)产生的两个目标信号进行选择,输出需要的结果信号;f) respectively select the two target signals generated in step e), and output the required result signal;

g)不访问随机存储器,使用保存的上次变换的地址,执行步骤e)。g) Do not access the random access memory, use the saved last changed address, and execute step e).

在上述方案中,在所述步骤a)、b)和g)中,有下面两种情况,虚拟地址变换到物理地址时不访问翻译后援缓冲器的随机存储器,一种是将每次取指操作引发的需要进行变换的地址同上一次取指操作引发的已经完成变换的地址进行比较,如果同上一次的地址落在了同一个虚拟页表项中,则不再访问随机存储器,而直接利用上一次变换得到的物理页表地址结果,数据访存引发的地址变换也使用同取指引发的地址变换相同的处理过程,另一种情况是,对于取指令和数据访存操作引起的虚拟地址到物理地址的变换,如果虚拟地址所处的地址空间为直接映射空间,不需要查找翻译后援缓冲器的映射关系表项就能完成的地址映射,不访问翻译后援缓冲器的随机存储器。In the above scheme, in the steps a), b) and g), there are the following two situations. When the virtual address is transformed into a physical address, the random access memory of the translation look-aside buffer is not accessed. The address that needs to be transformed caused by the operation is compared with the address that has been transformed caused by the last instruction fetch operation. If the same address as the previous address falls in the same virtual page table entry, the random access memory is no longer accessed, and the previous address is used directly. The physical page table address result obtained by one transformation, the address transformation caused by data access also uses the same process as the address transformation caused by instruction fetching. Another case is that for the virtual address caused by instruction fetch and data memory access operations For physical address conversion, if the address space where the virtual address is located is a direct mapping space, the address mapping can be completed without looking up the mapping relationship table entry of the translation lookaside buffer, without accessing the random access memory of the translation lookaside buffer.

在上述方案中,在所述步骤d)和e)中,如果下一次地址变换时虚拟地址同此次的虚拟地址在同一页表内,则使用寄存器中保存的物理地址,否则查询翻译后援缓冲器的随机存储器,使用随机存储器输出的物理页表地址。In the above scheme, in the steps d) and e), if the virtual address is in the same page table as the virtual address during the next address translation, then use the physical address saved in the register, otherwise query the translation back buffer The random memory of the device uses the physical page table address output by the random memory.

本发明提供的一种实施改进的虚拟地址变换方法的装置,包括用于存放和比较虚拟页表地址的内容比较器电路和存放物理页表地址的随机存储器电路,取指令和数据访存拥有各自的内容比较器电路,即第一内容比较器电路和第二内容比较器电路,以及对这所述两个内容比较器电路比较输出的索引进行选择的第一二选一电路,并且取指令与数据访存共用一个只有一个读端口的随机存储器电路,还包括此次取指变换的虚拟地址和上次取指变换的虚拟地址之间进行比较判断取指虚地址是否属相同页表或可直接映射空间的第一比较电路和第一判断电路,此次数据访存变换的虚拟地址和上次数据访存变换的虚拟地址之间的第二比较电路和第二判断电路,保存取指上次变换后得到的物理页表地址的第一寄存器组和保存数据访存上次变换后得到的物理页表地址的第二寄存器组,以及所述第一寄存器组经第三比较电路输出1位结果信号与随机存储器电路输出的物理页表地址经第四比较电路输出1位结果信号之间的第二二选一电路,及所述第二寄存器组经第六比较电路输出1位结果信号与随机存储器电路输出的物理页表地址经第五比较电路输出1位结果信号之间的第三二选一电路,经过所述第二二选一电路和所述第三二选一电路输出需要的结果信号。A device for implementing an improved virtual address conversion method provided by the present invention includes a content comparator circuit for storing and comparing virtual page table addresses and a random access memory circuit for storing physical page table addresses, instruction fetching and data accessing have their own The content comparator circuit of the content comparator circuit, that is, the first content comparator circuit and the second content comparator circuit, and the first two alternative circuit for selecting the index of the comparison output of the two content comparator circuits, and the instruction fetch and Data access shares a random access memory circuit with only one read port, and also includes comparison between the virtual address of this instruction fetch transformation and the virtual address of the previous instruction fetch transformation to determine whether the fetch virtual address belongs to the same page table or can be directly accessed. The first comparing circuit and the first judging circuit of the mapping space, the second comparing circuit and the second judging circuit between the virtual address of this data access transformation and the virtual address of the last data access transformation, save the instruction fetch last time The first register group of the physical page table address obtained after the transformation and the second register group of the physical page table address obtained after the last transformation for storing data access, and the first register group outputs a 1-bit result through the third comparison circuit signal and the physical page table address output by the random access memory circuit through the fourth comparator circuit to output a second two-choice circuit between the result signal, and the second register group outputs the 1-bit result signal through the sixth compare circuit and the random The physical page table address output by the memory circuit is output through the third two-one selection circuit between the fifth comparison circuit and the 1-bit result signal, and the required result is output through the second two-one selection circuit and the third two-one selection circuit Signal.

在上述方案中,所述第三比较电路为指令高速缓存(CACHE)的标记(TAG)比较电路,用于比较指令高速缓存的标记值和所述第一寄存器组中的内容,输出1位结果信号。In the above scheme, the third comparison circuit is a tag (TAG) comparison circuit of the instruction cache (CACHE), which is used to compare the tag value of the instruction cache with the content in the first register group, and output a 1-bit result Signal.

在上述方案中,所述第四比较电路为指令高速缓存的标记比较电路,用于比较指令高速缓存的标记值和随机存储器输出的物理页表地址的内容,输出1位结果信号。In the above solution, the fourth comparison circuit is a tag comparison circuit of the instruction cache, which is used to compare the tag value of the instruction cache with the content of the physical page table address output by the random access memory, and output a 1-bit result signal.

在上述方案中,所述第五比较电路为数据高速缓存的标记比较电路,用于比较数据高速缓存的标记值和随机存储器输出的物理页表地址的内容,输出1位结果信号。In the above solution, the fifth comparison circuit is a tag comparison circuit of the data cache, which is used to compare the tag value of the data cache with the content of the physical page table address output by the random access memory, and output a 1-bit result signal.

在上述方案中,所述第六比较电路为数据高速缓存的标记比较电路,用于比较数据高速缓存的标记值和第二寄存器组中的内容,输出1位结果信号。In the above solution, the sixth comparison circuit is a tag comparison circuit of the data cache, used for comparing the tag value of the data cache with the content in the second register group, and outputting a 1-bit result signal.

在上述方案中,所述单读端口随机存储器电路,用于保持物理页表地址和相关控制信号的随机存储器,指令翻译后援缓冲器和数据翻译后援缓冲器共用所述单读端口随机存储器电路,所述单读端口随机存储器电路优先处理取指的地址变换访问。In the above scheme, the single-read port random access memory circuit is used to maintain the physical page table address and the random access memory of related control signals, and the instruction translation backup buffer and the data translation backup buffer share the single-read port random access memory circuit, The single-read port random access memory circuit preferentially handles the address conversion access of instruction fetching.

在上述方案中,所述单读端口随机存储器电路可替换为单读端口寄存器堆电路。In the above solution, the single-read port RAM circuit can be replaced by a single-read port register file circuit.

在上述方案中,所述第一比较电路和第一判断电路,用于生成访问随机存储器的使能信号,如果前后两次变换的地址不在同一页表,并且此次变换的地址不属于可直接映射空间,才访问随机存储器。In the above solution, the first comparing circuit and the first judging circuit are used to generate an enable signal for accessing random access memory. Mapping space before accessing random access memory.

在上述方案中,所述第二比较电路和第二判断电路,用于生成访问随机存储器的使能信号,如果前后两次变换的地址不在同一页表,并且此次变换的地址不属于可直接映射空间,才访问随机存储器。In the above solution, the second comparing circuit and the second judging circuit are used to generate an enable signal for accessing the random access memory, if the address converted twice before and after is not in the same page table, and the address converted this time does not belong to the directly accessible Mapping space before accessing random access memory.

在上述方案中,所述第二二选一电路在指令后援缓冲器访问随机存储器后,使用第四比较电路的1位输出结果,否则选择第三比较电路的1位输出结果;所述第三二选一电路在数据后援缓冲器访问随机存储器后,使用第五比较电路的1位输出结果,否则选择第六比较电路的1位输出结果。In the above solution, the second one-of-two selection circuit uses the 1-bit output result of the fourth comparison circuit after the instruction backup buffer accesses the random access memory, otherwise selects the 1-bit output result of the third comparison circuit; the third After the data back-up buffer accesses the RAM, the one-of-two selection circuit uses the 1-bit output result of the fifth comparison circuit, otherwise selects the 1-bit output result of the sixth comparison circuit.

由上可知,本发明通过创新设计,利用数据局部性,将需要变换成物理地址的虚拟地址同上次变换的虚拟地址相比较,如果同属一个虚拟页表,则不访问翻译后援缓冲器的随机存储器部分,而直接利用上次变换得到的物理页表地址,以减少对翻译后援缓冲器中随机存储器的访问次数;而且指令翻译后援缓冲器和数据翻译后援缓冲器共用一个单读端口随机存储器;并且推迟随机存储器输出的物理页表地址和保存的上次使用的物理页表地址的选择操作,这样可以达到降低翻译后援缓冲器部分的功耗和面积的效果,同时又不会降低处理器的性能和增加电路的延迟。As can be seen from the above, the present invention uses data locality through innovative design to compare the virtual address that needs to be transformed into a physical address with the virtual address that was transformed last time. If they belong to the same virtual page table, the RAM of the translation backup buffer will not be accessed. part, and directly use the physical page table address obtained by the last conversion to reduce the number of accesses to the random access memory in the translation lookaside buffer; and the instruction translation lookaside buffer and the data translation lookaside buffer share a single read port random access memory; and Postponing the selection operation of the physical page table address output by the random memory and the saved last used physical page table address, which can achieve the effect of reducing the power consumption and area of the translation lookaside buffer part without reducing the performance of the processor and increase the delay of the circuit.

附图说明Description of drawings

图1是本发明的从虚拟地址向物理地址变换的方法实施例的流程图;Fig. 1 is the flow chart of the method embodiment of converting from virtual address to physical address of the present invention;

图2是本发明改进的虚拟地址变换装置组成的实施例示意框图。Fig. 2 is a schematic block diagram of an embodiment of the composition of the improved virtual address conversion device of the present invention.

具体实施方式Detailed ways

下面参照附图详细说明本发明的技术方案,本申请人同日还申请了另一发明名称为:“一种从虚拟地址向物理地址变换的方法及其装置”的专利,在此一并作为参考。The technical scheme of the present invention will be described in detail below with reference to the accompanying drawings. The applicant also applied for another invention titled "A Method and Device for Converting from Virtual Address to Physical Address" on the same day, which is hereby taken as a reference .

本发明的目的是改进从虚拟地址到物理地址的变换过程,降低翻译后援缓冲器电路的面积和功耗,同时还不影响处理器的性能和电路时序。The object of the present invention is to improve the conversion process from virtual address to physical address, reduce the area and power consumption of the translation lookaside buffer circuit, and at the same time, do not affect the performance and circuit timing of the processor.

参见图1,一种改进的虚拟地址变换方法,包括以下步骤:Referring to Fig. 1, an improved virtual address translation method includes the following steps:

步骤100,指令翻译后援缓冲器和数据翻译后援缓冲器将此次取指/数据的虚地址同上一次取指的虚地址/数据虚拟地址进行判等比较;Step 100, the instruction translation backup buffer and the data translation backup buffer judge and compare the virtual address of the instruction fetch/data with the virtual address/data virtual address of the last instruction fetch;

步骤110,判断是否属相同页表或可直接映射空间?如果是,执行步骤160,如果否,执行下一步;Step 110, judging whether they belong to the same page table or directly mappable space? If yes, perform step 160, if not, perform the next step;

步骤100、110和160中,在下面两种情况下,虚拟地址变换到物理地址时不访问翻译后援缓冲器的随机存储器,一种是将每次取指操作引发的需要进行变换的地址同上一次取指操作引发的已经完成变换的地址进行比较,如果同上一次的地址落在了同一个虚拟页表项中,则不再访问随机存储器,而直接利用上一次变换得到的物理页表地址结果,数据访存引发的地址变换也使用同取指引发的地址变换相同的处理过程,由于处理器取指和访存都有很高的局部性,这样的设计可以很大程度减少对随机存储器的访问次数,起到降低功耗的目的;另一种情况是,对于取指令和数据访存操作引起的虚拟地址到物理地址的变换,如果虚拟地址所处的地址空间为直接映射空间(unmapped),不需要查找翻译后援缓冲器的映射关系表项就能完成的地址映射,不访问翻译后援缓冲器的随机存储器,这样通过减少访问翻译后援缓冲器的随机存储器的方法,可以使随机存储器更长时间处于低功耗状态;In steps 100, 110 and 160, in the following two cases, the random access memory of the translation look-aside buffer is not accessed when the virtual address is transformed into a physical address. Compare the converted address caused by the instruction fetch operation. If the last address falls in the same virtual page table entry, the random access memory is no longer accessed, and the physical page table address result obtained by the previous conversion is directly used. The address transformation caused by data access also uses the same process as the address transformation caused by instruction fetch. Since processor instruction fetch and memory access have high locality, this design can greatly reduce the access to random memory. times, to reduce power consumption; in another case, for the transformation from virtual address to physical address caused by fetching instructions and data access operations, if the address space where the virtual address is located is a direct mapped space (unmapped), The address mapping that can be completed without looking up the mapping relationship table items of the translation backup buffer does not access the random access memory of the translation backup buffer, so that the random access memory can be made longer by reducing the method of accessing the random access memory of the translation backup buffer in a low power state;

步骤120,指令翻译后援缓冲器和数据翻译后援缓冲器共用一个单读端口随机存储器,接受对物理地址的查询,由于采用步骤110的设计,地址变换时访问翻译后援缓冲器的随机存储器的次数会明显减少,所以在指令翻译后援缓冲器和数据翻译后援缓冲器共用一个随机存储器时,两者发生冲突的情况很少,并不会影响处理器的性能;Step 120, the command translation backup buffer and the data translation backup buffer share a single-read port random access memory, and accept the inquiry of the physical address. Due to the design of step 110, the number of times of accessing the translation backup buffer random access memory during address conversion will decrease Significantly reduced, so when the instruction translation back buffer and the data translation back buffer share the same random access memory, there are few conflicts between the two, and the performance of the processor will not be affected;

步骤130,指令翻译后援缓冲器和数据翻译后援缓冲器保存变换得到的物理地址,并分别推迟与随机存储器输出的物理页表地址做选择;In step 130, the instruction translation back buffer and the data translation back buffer save the transformed physical address, and respectively postpone the selection with the physical page table address output by the random access memory;

步骤140,指令翻译后援缓冲器和数据翻译后援缓冲器使用时分别同时用这两个来源(本次变换和上次变换)的物理地址,分别产生两个目标信号;Step 140, using the physical addresses of the two sources (this conversion and last conversion) respectively when the instruction translation backup buffer and the data translation backup buffer are in use, respectively generate two target signals;

步骤150,分别对这两个目标信号进行选择,输出需要的结果信号。Step 150, respectively select the two target signals, and output the required result signal.

在步骤130——步骤150中,指令翻译后援缓冲器和数据翻译后援缓冲器共用一个随机存储器后,指令翻译后援缓冲器和数据翻译后援缓冲器分别需要用寄存器将每次地址变换得到的各自的物理地址保存,如果下一次地址变换时虚拟地址同此次的虚拟地址在同一页表内,则使用寄存器中保存的物理地址,否则查询翻译后援缓冲器的随机存储器,使用随机存储器输出的物理页表地址,这就需要二选一电路对物理页表地址的来源进行选择,为了尽量避免增加电路的延迟,不直接对保存物理页表地址的寄存器和随机存储器的输出进行选择,而是在后面需要使用物理地址的电路中,同时使用这两个来源的物理地址,产生两个目标信号后,再对这两根目标信号进行选择,从而避免了,在对几十位宽的物理页表地址及相关控制信号进行选择时,增加的负载和强驱动。In step 130 - in step 150, after the instruction translation back buffer and the data translation back buffer share a random access memory, the instruction translation back buffer and the data translation back buffer need to use registers to convert the respective addresses obtained each time The physical address is saved. If the virtual address is in the same page table as the virtual address at the next address conversion, the physical address saved in the register is used. Otherwise, the random memory of the translation backup buffer is queried and the physical page output by the random memory is used. table address, which requires a two-choice circuit to select the source of the physical page table address. In order to avoid increasing the delay of the circuit as much as possible, it does not directly select the output of the register storing the physical page table address and the random access memory, but in the back In a circuit that needs to use physical addresses, use the physical addresses of these two sources at the same time, and after generating two target signals, select these two target signals, thereby avoiding and associated control signals for increased load and strong drive.

步骤160,不访问随机存储器,使用保存的上次变换的地址。Step 160, do not access the random access memory, and use the saved last converted address.

下面结合图2详细说明从虚拟地址向物理地址变换的装置。The device for converting from virtual address to physical address will be described in detail below in conjunction with FIG. 2 .

参考图2,制作一改进的虚拟地址变换的装置,包括第一比较电路10,第二比较电路13,第三比较电路20,第四比较电路21,第五比较电路22,第六比较电路23,第一内容比较器电路11,第二内容比较器电路12,第一判断电路14,第二判断电路15,第一二选一电路16,第二二选一电路24,第三二选一电路25,第一寄存器组18,第二寄存器组19和单读端口随机存储器电路17。With reference to Fig. 2, make the device of an improved virtual address transformation, comprise first comparing circuit 10, the second comparing circuit 13, the 3rd comparing circuit 20, the 4th comparing circuit 21, the 5th comparing circuit 22, the 6th comparing circuit 23 , the first content comparator circuit 11, the second content comparator circuit 12, the first judging circuit 14, the second judging circuit 15, the first two select one circuit 16, the second two select one circuit 24, the third two select one Circuit 25 , first register group 18 , second register group 19 and single read port random access memory circuit 17 .

第一比较电路10用于同上次取指虚地址进行比较,第一判断电路14用于判断取址虚地址是否属相同页表或可直接映射空间,第一内容比较器电路11,用于取指令虚拟地址的查询,第二内容比较器电路12,用于数据访存虚拟地址的查询,第二比较电路13用于同上一次数据访存虚地址进行比较,第二判断电路15用于判断数据访存虚拟地址是否属相同页表或可直接映射空间;第一二选一电路16用于指令翻译后援缓冲器和数据翻译后援缓冲器各自的内容比较器在比较后产生的两个索引进行选择,单读端口随机存储器电路17,用于保持物理页表地址和相关控制信号的随机存储器,指令翻译后援缓冲器和数据翻译后援缓冲器共用(也可以选择寄存器堆等替代电路),第一寄存器组18,用于存储上次取指地址变换后的物理页表地址,第二寄存器组19用于存储上次数据访存变换后的物理页表地址,第三比较电路20,使用物理页表地址处,如指令高速缓存的标记比较电路,用于比较指令高速缓存的标记值和第一寄存器组中的内容,输出1位结果信号,第四比较电路21,使用物理页表地址处,如指令高速缓存的标记比较电路,用于比较指令高速缓存的标记值和随机存储器输出的物理页表地址的内容,输出1位结果信号,第五比较电路22,使用物理页表地址处,如数据高速缓存的标记比较电路,用于比较数据高速缓存的标记值和随机存储器输出的物理页表地址的内容,输出1位结果信号,第六比较电路23,使用物理页表地址处,如数据高速缓存的标记比较电路,用于比较数据高速缓存的标记值和第二寄存器组中的内容,输出1位结果信号,第二二选一电路24用于选择同时使用指令翻译后援缓冲器输出的两个物理地址来源得到的两个结果,第三二选一电路25用于选择同时使用数据翻译后援缓冲器输出的两个物理地址来源得到的两个结果。The first comparison circuit 10 is used to compare with the virtual address fetched last time, the first judging circuit 14 is used to judge whether the virtual address fetched belongs to the same page table or directly mappable space, and the first content comparator circuit 11 is used to fetch The query of instruction virtual address, the second content comparator circuit 12 is used for the query of data access virtual address, the second comparison circuit 13 is used for comparing with the last data access virtual address, and the second judging circuit 15 is used for judging data Whether the memory access virtual address belongs to the same page table or directly mappable space; the first two selection circuit 16 is used to select two indexes generated by the respective content comparators of the instruction translation back buffer and the data translation back buffer after comparison , single-read port random access memory circuit 17, used to keep the random access memory of the physical page table address and related control signals, the instruction translation backup buffer and the data translation backup buffer are shared (alternative circuits such as register files can also be selected), the first register Group 18 is used to store the physical page table address after the last instruction fetch address conversion, the second register group 19 is used to store the physical page table address after the last data access conversion, and the third comparison circuit 20 uses the physical page table At the address, such as the tag comparison circuit of the instruction cache, it is used to compare the tag value of the instruction cache with the content in the first register group, and output a 1-bit result signal. The fourth comparison circuit 21 uses the address of the physical page table, such as The tag comparison circuit of the instruction cache is used to compare the tag value of the instruction cache with the content of the physical page table address output by the random access memory, and outputs a 1-bit result signal. The fifth comparison circuit 22 uses the physical page table address, such as data The tag comparison circuit of the cache is used to compare the tag value of the data cache with the content of the physical page table address output by the random access memory, and output a 1-bit result signal. The sixth comparison circuit 23 is used at the address of the physical page table, such as the data high speed The tag comparison circuit of the cache is used to compare the tag value of the data cache with the content in the second register group, and output a 1-bit result signal, and the second two-selection circuit 24 is used to select the two outputs output by the instruction translation back-up buffer simultaneously. The two results obtained from two physical address sources, the third two-one selection circuit 25 is used to select the two results obtained by using the two physical address sources output by the data translation lookaside buffer at the same time.

以取指为例,当一个取指地址请求访问指令翻译后援缓冲器时,首先将虚拟地址同保存虚拟页表地址项的内容比较器进行内容比较,同时与历史上上次经过翻译后援缓冲器变换的虚拟地址进行比较,并判断此虚拟地址是否属于直接映射地址空间,如果此次变换的虚拟地址同上次变换的虚拟地址同属一个虚拟页表,或此次变换的虚拟地址属于直接映射地址空间,则生成使能控制信号,不允许此次变换访问翻译后援缓冲器的随机存储器,否则,若此次变换与上次变换不属于同一虚拟页表,且此次变换的地址不属于直接映射空间,则使用查询内容比较器得到的索引访问翻译后援缓冲器的随机存储器,以得到相应的物理页表地址。翻译后援缓冲器只有一个单端口的用于保持物理页表地址和相关控制信号的随机存储器,当然,也可以选择寄存器堆等存储方式,如果指令翻译后援缓冲器和数据翻译后援缓冲器同时要访问这个随机存储器的话,就会产生访问冲突,这时可以根据对性能的影响情况,优先处理取指/或数据访存的地址变换访问。Taking instruction fetch as an example, when an instruction fetch address requests access to the instruction translation back buffer, the virtual address is first compared with the content comparator that holds the address entry of the virtual page table, and at the same time compared with the last time the translation back buffer in history Compare the transformed virtual address and determine whether the virtual address belongs to the direct-mapped address space. If the virtual address transformed this time belongs to the same virtual page table as the virtual address transformed last time, or the virtual address transformed this time belongs to the direct-mapped address space , an enable control signal is generated, and this conversion is not allowed to access the RAM of the translation lookaside buffer; otherwise, if this conversion does not belong to the same virtual page table as the last conversion, and the address of this conversion does not belong to the direct mapping space , then use the index obtained by the query content comparator to access the RAM of the translation lookaside buffer to obtain the corresponding physical page table address. The translation lookaside buffer has only one single-port random access memory for maintaining the physical page table address and related control signals. Of course, storage methods such as register files can also be selected. If the instruction translation lookaside buffer and the data translation lookaside buffer need to be accessed at the same time In the case of this random access memory, access conflicts will occur. At this time, address translation access for fetching/or data access can be prioritized according to the impact on performance.

指令翻译后援缓冲器和数据翻译后援缓冲器共用一个随机存储器,这要求指令翻译后援缓冲器和数据翻译后援缓冲器中各项存储的内容完全相同,或其中一个包含的页表地址映射项是另一个包含的页表地址映射项的子集,同时,由于共用单端口的随机存储器,也要求指令翻译后援缓冲器和数据翻译后援缓冲器各有一组寄存器来保持各自历史上上次变换时得到的物理页表地址内容,如果此次地址变换使用的是上次变换的物理页表地址,没有访问随机存储器,则选择使用寄存器中保持的物理页表地址内容,否则,如果访问了随机存储器,则使用随机存储器输出的物理页表地址。但需要注意的是,不是直接选择使用,而是将选择推迟,例如在高速缓存中会用物理页表地址同高速缓存的标记部分比较,以便确定是否高速缓存命中,则在本发明的实现中就让上面提到的两个来源的物理页表地址同时与高速缓存的标记比较,得到两个一位的表示是否命中的结果,再根据翻译后援缓冲器中是否访问了随机存储器来选择用哪一个结果。本装置所用到的电路都可以从各芯片代工厂(如“中芯国际”、“台积电”)公开提供的标准单元库中得到。The instruction translation lookaside buffer and the data translation lookaside buffer share the same random access memory, which requires that the contents stored in the instruction translation lookaside buffer and the data translation lookaside buffer are exactly the same, or one of them contains a page table address mapping item that is another A subset of the page table address mapping entries included. At the same time, due to the shared single-port random access memory, it is also required that the instruction translation back buffer and the data translation back buffer each have a set of registers to maintain the last conversion in their respective history. Physical page table address content, if this address transformation uses the last transformed physical page table address and does not access the random access memory, choose to use the physical page table address content held in the register, otherwise, if the random access memory is accessed, then Use the physical page table address of RAM output. But it should be noted that instead of directly selecting to use, the selection will be postponed. For example, in the cache, the physical page table address will be compared with the tag part of the cache, so as to determine whether the cache hits, then in the implementation of the present invention Let the physical page table address of the two sources mentioned above be compared with the tag of the cache at the same time, and get the result of whether the two bits indicate whether it is a hit, and then choose which one to use according to whether the RAM is accessed in the translation lookaside buffer. a result. All the circuits used in this device can be obtained from standard cell libraries publicly provided by various chip foundries (such as "SMIC" and "TSMC").

由上述可知,本发明的优点是有效降低了翻译后援缓冲器的功耗和面积,同时又避免了对处理器性能,以及实际电路延迟的影响。本发明中使用的方法可以明显减少指令翻译后援缓冲器和数据翻译后援缓冲器对随机存储器的访问量,从而大大减少了指令翻译后援缓冲器和数据翻译后援缓冲器同时访问随机存储器的冲突,这使得指令翻译后援缓冲器和数据翻译后援缓冲器共用一个单端口随机存储器也不会影响处理器的性能,同时又降低了翻译后援缓冲器的功耗和面积。另外,由此引入的对选择电路的特殊设计也避免了增加电路的延迟。From the above, it can be seen that the advantage of the present invention is that the power consumption and the area of the translation look-aside buffer are effectively reduced, and at the same time, the influence on the performance of the processor and the delay of the actual circuit is avoided. The method used in the present invention can obviously reduce the amount of visits to the random access memory of the instruction translation backup buffer and the data translation backup buffer, thereby greatly reducing the conflicts of the instruction translation backup buffer and the data translation backup buffer accessing the random access memory at the same time. The performance of the processor will not be affected if the instruction translation back buffer and the data translation back buffer share a single-port random access memory, and at the same time, the power consumption and area of the translation back buffer are reduced. In addition, the special design of the selection circuit introduced thereby avoids adding delays to the circuit.

最后应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。Finally, it should be noted that: the above embodiments are only used to illustrate and not limit the technical solutions of the present invention, although the present invention has been described in detail with reference to the above embodiments, those of ordinary skill in the art should understand that: the present invention can still be modified or Any modification or partial replacement without departing from the spirit and scope of the present invention shall fall within the scope of the claims of the present invention.

Claims (10)

1、一种改进的虚拟地址变换方法,其特征在于,包括以下步骤:1, an improved virtual address translation method, is characterized in that, comprises the following steps: a)指令翻译后援缓冲器和数据翻译后援缓冲器将此次取指/数据的虚地址同上一次取指的虚地址/数据虚地址相比较;a) The instruction translation backup buffer and the data translation backup buffer compare the virtual address of this fetch/data with the virtual address/data virtual address of the last fetch; b)判断是否属相同页表或可直接映射空间?如果是,执行步骤g),如果否,执行下一步;b) Determine whether they belong to the same page table or directly mappable space? If yes, perform step g), if not, perform the next step; c)指令翻译后援缓冲器和数据翻译后援缓冲器共用一个单读端口随机存储器,接受对物理地址的查询;c) The instruction translation back buffer and the data translation back buffer share a single-read port random access memory, and accept queries to physical addresses; d)指令翻译后援缓冲器和数据翻译后援缓冲器在寄存器中保存变换得到的物理地址,并分别推迟与随机存储器输出的物理页表地址做选择;d) The instruction translation back buffer and the data translation back buffer save the transformed physical address in the register, and respectively postpone the selection with the physical page table address output by the random access memory; e)指令翻译后援缓冲器和/或数据翻译后援缓冲器使用时分别同时用这两个来源(本次变换和上次变换)的物理地址,分别产生两个目标信号;e) When the instruction translation back buffer and/or the data translation back buffer are used, the physical addresses of the two sources (this transformation and the last transformation) are used respectively to generate two target signals respectively; f)分别对步骤e)产生的两个目标信号进行选择,输出需要的结果信号;f) respectively select the two target signals generated in step e), and output the required result signal; g)不访问随机存储器,使用保存的上次变换的地址,执行步骤e)。g) Do not access the random access memory, use the saved last changed address, and execute step e). 2、如权利要求1所述的改进的虚拟地址变换方法,其特征在于,在所述步骤a)、b)和g)中,有下面两种情况,虚拟地址变换到物理地址时不访问翻译后援缓冲器的随机存储器,一种是将每次取指操作引发的需要进行变换的地址同上一次取指操作引发的已经完成变换的地址进行比较,如果同上一次的地址落在了同一个虚拟页表项中,则不再访问随机存储器,而直接利用上一次变换得到的物理页表地址结果,数据访存引发的地址变换也使用同取指引发的地址变换相同的处理过程,另一种情况是,对于取指令和数据访存操作引起的虚拟地址到物理地址的变换,如果虚拟地址所处的地址空间为直接映射空间,不需要查找翻译后援缓冲器的映射关系表项就能完成的地址映射,不访问翻译后援缓冲器的随机存储器。2. The improved virtual address conversion method as claimed in claim 1, characterized in that, in said steps a), b) and g), there are the following two situations, when the virtual address is converted to the physical address, the translation is not accessed The random memory of the backup buffer, one is to compare the address that needs to be transformed caused by each instruction fetch operation with the address that has been transformed caused by the last instruction fetch operation, if the same address as the previous address falls on the same virtual page In the table entry, the random memory is no longer accessed, but the physical page table address result obtained by the previous conversion is directly used. The address conversion caused by data access also uses the same process as the address conversion caused by fetching. Another case Yes, for the conversion of virtual addresses to physical addresses caused by instruction fetching and data access operations, if the address space where the virtual address is located is a direct mapping space, it can be completed without looking up the mapping relationship table entry of the translation lookaside buffer Mapped without accessing the RAM of the translation lookaside buffer. 3、如权利要求1所述的改进的虚拟地址变换方法,其特征在于,在所述步骤d)和e)中,如果下一次地址变换时虚拟地址同此次要变换的虚拟地址在同一页表内,则使用寄存器中保存的物理地址,否则查询翻译后援缓冲器的随机存储器,使用随机存储器输出的物理页表地址。3. The improved virtual address translation method according to claim 1, wherein, in said steps d) and e), if the next address translation is performed, the virtual address is on the same page as the virtual address for this secondary translation In the table, the physical address saved in the register is used, otherwise, the random memory of the translation look-aside buffer is queried, and the physical page table address output by the random memory is used. 4、一种改进的虚拟地址变换的装置,包括用于存放和比较虚拟页表地址的内容比较器电路和存放物理页表地址的随机存储器电路,其特征在于取指令和数据访存拥有各自的内容比较器电路,即第一内容比较器电路和第二内容比较器电路,以及对这所述两个内容比较器电路比较输出的索引进行选择的第一二选一电路,并且取指令与数据访存共用一个只有一个读端口的随机存储器电路,还包括此次取指变换的虚拟地址和上次取指变换的虚拟地址之间进行比较判断取指虚地址是否属相同页表或可直接映射空间的第一比较电路和第一判断电路,此次数据访存变换的虚拟地址和上次数据访存变换的虚拟地址之间的第二比较电路和第二判断电路,保存取指上次变换后得到的物理页表地址的第一寄存器组和保存数据访存上次变换后得到的物理页表地址的第二寄存器组,以及所述第一寄存器组经第三比较电路输出1位结果信号与随机存储器电路输出的物理页表地址经第四比较电路输出1位结果信号之间的第二二选一电路,及所述第二寄存器组经第六比较电路输出1位结果信号与随机存储器电路输出的物理页表地址经第五比较电路输出1位结果信号之间的第三二选一电路,经过所述第二二选一电路和所述第三二选一电路输出需要的结果信号。4. An improved device for virtual address conversion, including a content comparator circuit for storing and comparing virtual page table addresses and a random access memory circuit for storing physical page table addresses, characterized in that instruction fetching and data accessing have their own The content comparator circuit, that is, the first content comparator circuit and the second content comparator circuit, and the first two alternative circuit for selecting the index of the comparison output of the two content comparator circuits, and fetching instructions and data Memory access shares a random access memory circuit with only one read port, and also includes comparison between the virtual address of this fetch transformation and the virtual address of the previous fetch transformation to determine whether the fetch virtual address belongs to the same page table or can be directly mapped The first comparison circuit and the first judgment circuit of the space, the second comparison circuit and the second judgment circuit between the virtual address of this data access transformation and the virtual address of the last data access transformation, save the last transformation of the index fetch The first register group of the physical page table address obtained after and the second register group of the physical page table address obtained after the last conversion for storing data access, and the first register group outputs a 1-bit result signal through the third comparison circuit and the physical page table address output by the random access memory circuit through the fourth comparison circuit to output a 1-bit result signal, and the second register group outputs a 1-bit result signal and the random access memory through the sixth comparison circuit The physical page table address output by the circuit passes through the third two-to-one circuit between the output 1-bit result signal of the fifth comparison circuit, and outputs the desired result signal through the second two-to-one circuit and the third two-to-one circuit . 5、如权利要求4所述的改进的虚拟地址变换的装置,其特征在于,所述第三比较电路为指令高速缓存的标记比较电路,用于比较指令高速缓存的标记值和所述第一寄存器组中的内容,输出1位结果信号;所述第四比较电路为指令高速缓存的标记比较电路,用于比较指令高速缓存的标记值和随机存储器输出的物理页表地址的内容,输出1位结果信号;所述第五比较电路为数据高速缓存的标记比较电路,用于比较数据高速缓存的标记值和随机存储器输出的物理页表地址的内容,输出1位结果信号;所述第六比较电路为数据高速缓存的标记比较电路,用于比较数据高速缓存的标记值和第二寄存器组中的内容,输出1位结果信号。5. The improved virtual address translation device according to claim 4, characterized in that the third comparison circuit is a tag comparison circuit of the instruction cache, and is used to compare the tag value of the instruction cache with the first The content in the register group outputs a 1-bit result signal; the fourth comparison circuit is a tag comparison circuit of the instruction cache, which is used to compare the tag value of the instruction cache with the content of the physical page table address output by the random access memory, and outputs 1 bit result signal; the fifth comparison circuit is a tag comparison circuit of the data cache, which is used to compare the tag value of the data cache with the content of the physical page table address output by the random access memory, and outputs a 1-bit result signal; the sixth The comparison circuit is a tag comparison circuit of the data cache, used for comparing the tag value of the data cache with the content in the second register group, and outputting a 1-bit result signal. 6、如权利要求4所述的改进的虚拟地址变换的装置,其特征在于,所述单读端口随机存储器电路,用于保持物理页表地址和相关控制信号的随机存储器,指令翻译后援缓冲器和数据翻译后援缓冲器共用所述单读端口随机存储器电路,所述单读端口随机存储器电路优先处理取指/或数据访存的地址变换访问。6. The device for improved virtual address translation according to claim 4, characterized in that, said single-read port random access memory circuit is used to keep physical page table addresses and related control signals in random access memory, and an instruction translation back-up buffer The single-read port random access memory circuit is shared with the data translation look-aside buffer, and the single-read port random access memory circuit preferentially handles address conversion access of instruction fetching and/or data accessing. 7、如权利要求6所述的改进的虚拟地址变换的装置,其特征在于,所述单读端口随机存储器电路可以替换为单读端口寄存器堆电路。7. The improved virtual address translation device according to claim 6, characterized in that the single-read port RAM circuit can be replaced by a single-read port register file circuit. 8、如权利要求4所述的一种从虚拟地址向物理地址变换的装置,其特征在于,所述第一比较电路和第一判断电路,用于生成访问随机存储器的使能信号,如果前后两次取指虚拟地址变换的地址不在同一页表,并且此次取指虚拟地址变换的地址不属于可直接映射空间,才访问随机存储器。8. A device for converting from a virtual address to a physical address according to claim 4, wherein the first comparing circuit and the first judging circuit are used to generate an enable signal for accessing random access memory, if the preceding and following The address of the virtual address translation of the two instruction fetches is not in the same page table, and the address of the virtual address translation of the instruction fetch this time does not belong to the directly mappable space, and the RAM is accessed. 9、如权利要求4所述的改进的虚拟地址变换的装置,其特征在于,所述第二比较电路和第二判断电路,用于生成访问随机存储器的使能信号,如果前后两次数据访存虚拟地址变换的地址不在同一页表,并且此次数据访存虚拟地址变换变换的地址不属于可直接映射空间,才访问随机存储器。9. The improved virtual address conversion device according to claim 4, characterized in that the second comparison circuit and the second judgment circuit are used to generate an enable signal for accessing random access memory, if two data accesses before and after The address transformed by the memory virtual address is not in the same page table, and the address transformed by the virtual address transformation of this data access does not belong to the space that can be directly mapped, and the RAM is accessed. 10、如权利要求4所述的改进的虚拟地址变换的装置,其特征在于,所述第二二选一电路在指令后援缓冲器访问随机存储器后,使用第四比较电路的1位输出结果,否则选择第三比较电路的1位输出结果;所述第三二选一电路在数据后援缓冲器访问随机存储器后,使用第五比较电路的1位输出结果,否则选择第六比较电路的1位输出结果。10. The improved virtual address conversion device according to claim 4, characterized in that, after the instruction look-aside buffer accesses the random access memory, the second two-selection circuit uses the 1-bit output result of the fourth comparison circuit, Otherwise select the 1-bit output result of the third comparison circuit; after the data back-up buffer accesses the random access memory, the third two-selection circuit uses the 1-bit output result of the fifth comparison circuit, otherwise selects the 1-bit output result of the sixth comparison circuit Output the result.
CNB2004100913779A 2004-11-24 2004-11-24 Improved virtual address transformation method and device Expired - Lifetime CN100414518C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100913779A CN100414518C (en) 2004-11-24 2004-11-24 Improved virtual address transformation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100913779A CN100414518C (en) 2004-11-24 2004-11-24 Improved virtual address transformation method and device

Publications (2)

Publication Number Publication Date
CN1779662A true CN1779662A (en) 2006-05-31
CN100414518C CN100414518C (en) 2008-08-27

Family

ID=36769997

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100913779A Expired - Lifetime CN100414518C (en) 2004-11-24 2004-11-24 Improved virtual address transformation method and device

Country Status (1)

Country Link
CN (1) CN100414518C (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102270181A (en) * 2010-06-01 2011-12-07 炬力集成电路设计有限公司 Memory access method and device
CN101490655B (en) * 2006-07-14 2012-01-11 高通股份有限公司 Method and system for indicating exception triggering page in microprocessor
CN101882113B (en) * 2009-05-05 2012-02-22 北京大学 A Memory Virtualization Method Based on Guest Operating System Kernel Code Replacement
CN104156324A (en) * 2014-08-11 2014-11-19 四川九成信息技术有限公司 Program run method for embedded system
CN107111455A (en) * 2014-12-26 2017-08-29 威斯康星校友研究基金会 Use the cache access of virtual address
CN107305532A (en) * 2016-04-25 2017-10-31 中兴通讯股份有限公司 A kind of list item replacement method, device and terminal
CN109144901A (en) * 2018-10-10 2019-01-04 古进 Formulate virtual address conversion
CN109828932A (en) * 2019-02-18 2019-05-31 华夏芯(北京)通用处理器技术有限公司 A kind of address fine tuning acceleration system
US10572387B2 (en) 2018-01-11 2020-02-25 International Business Machines Corporation Hardware control of CPU hold of a cache line in private cache where cache invalidate bit is reset upon expiration of timer
CN120066425A (en) * 2025-04-29 2025-05-30 苏州元脑智能科技有限公司 Data storage method, search method and equipment based on page coloring technology

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521351B2 (en) 2017-01-12 2019-12-31 International Business Machines Corporation Temporarily suppressing processing of a restrained storage operand request
US10621090B2 (en) 2017-01-12 2020-04-14 International Business Machines Corporation Facility for extending exclusive hold of a cache line in private cache

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412787A (en) * 1990-11-21 1995-05-02 Hewlett-Packard Company Two-level TLB having the second level TLB implemented in cache tag RAMs
JP3065736B2 (en) * 1991-10-01 2000-07-17 松下電器産業株式会社 Semiconductor storage device
JPH08115262A (en) * 1994-10-14 1996-05-07 Hitachi Ltd Address conversion circuit and electronic computer including the address conversion circuit
KR100277902B1 (en) * 1998-08-18 2001-01-15 김영환 Microprocessor
US6442666B1 (en) * 1999-01-28 2002-08-27 Infineon Technologies Ag Techniques for improving memory access in a virtual memory system

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101490655B (en) * 2006-07-14 2012-01-11 高通股份有限公司 Method and system for indicating exception triggering page in microprocessor
CN101882113B (en) * 2009-05-05 2012-02-22 北京大学 A Memory Virtualization Method Based on Guest Operating System Kernel Code Replacement
CN102270181B (en) * 2010-06-01 2013-10-02 炬力集成电路设计有限公司 Memory access method and device
CN102270181A (en) * 2010-06-01 2011-12-07 炬力集成电路设计有限公司 Memory access method and device
CN104156324A (en) * 2014-08-11 2014-11-19 四川九成信息技术有限公司 Program run method for embedded system
CN107111455B (en) * 2014-12-26 2020-08-21 威斯康星校友研究基金会 Electronic processor architecture and method of caching data
CN107111455A (en) * 2014-12-26 2017-08-29 威斯康星校友研究基金会 Use the cache access of virtual address
CN107305532A (en) * 2016-04-25 2017-10-31 中兴通讯股份有限公司 A kind of list item replacement method, device and terminal
CN107305532B (en) * 2016-04-25 2023-04-07 中兴通讯股份有限公司 Table item replacing method and device and terminal
US10572387B2 (en) 2018-01-11 2020-02-25 International Business Machines Corporation Hardware control of CPU hold of a cache line in private cache where cache invalidate bit is reset upon expiration of timer
CN109144901A (en) * 2018-10-10 2019-01-04 古进 Formulate virtual address conversion
CN109144901B (en) * 2018-10-10 2024-01-02 古进 Formulating virtual address translations
CN109828932A (en) * 2019-02-18 2019-05-31 华夏芯(北京)通用处理器技术有限公司 A kind of address fine tuning acceleration system
CN109828932B (en) * 2019-02-18 2020-12-18 华夏芯(北京)通用处理器技术有限公司 An address fine-tuning acceleration system
CN120066425A (en) * 2025-04-29 2025-05-30 苏州元脑智能科技有限公司 Data storage method, search method and equipment based on page coloring technology

Also Published As

Publication number Publication date
CN100414518C (en) 2008-08-27

Similar Documents

Publication Publication Date Title
US8984254B2 (en) Techniques for utilizing translation lookaside buffer entry numbers to improve processor performance
US8151084B2 (en) Using address and non-address information for improved index generation for cache memories
CN100555248C (en) Translation lookaside buffer with local tags hashed according to page size indicators
US8082416B2 (en) Systems and methods for utilizing an extended translation look-aside buffer having a hybrid memory structure
US7587574B2 (en) Address translation information storing apparatus and address translation information storing method
US8335908B2 (en) Data processing apparatus for storing address translations
CN107111455A (en) Use the cache access of virtual address
JP2001195303A (en) Translation lookaside buffer whose function is parallelly distributed
US6581140B1 (en) Method and apparatus for improving access time in set-associative cache systems
JPH08272692A (en) Conversion method of virtual address
CN1779662A (en) Improved virtual address translation method and device
CN115934587B (en) Memory management unit and memory management method
CA2612838A1 (en) Preventing multiple translation lookaside buffer accesses for a same page in memory
US20020087824A1 (en) System and method for employing a process identifier to minimize aliasing in a linear-addressed cache
US12032488B1 (en) Circuit and method for translation lookaside buffer (TLB) implementation
CN1269043C (en) Remapping method of memory address
CN100414519C (en) A method and device for transforming from virtual address to physical address
CN100520739C (en) Rapid virtual-to-physical address converting device and its method
US10146698B2 (en) Method and apparatus for power reduction in a multi-threaded mode
US6674441B1 (en) Method and apparatus for improving performance of an accelerated graphics port (AGP) device
US20080114939A1 (en) Cache accessing using muTAGs
US20140006747A1 (en) Systems and methods for processing instructions when utilizing an extended translation look-aside buffer having a hybrid memory structure
JPS623354A (en) Cache memory access system

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
EE01 Entry into force of recordation of patent licensing contract

Assignee: Beijing Loongson Technology Service Center Co.,Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract fulfillment period: 2009.12.16 to 2028.12.31

Contract record no.: 2010990000062

Denomination of invention: Improved virtual address conversion and converter thereof

Granted publication date: 20080827

License type: exclusive license

Record date: 20100128

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2009.12.16 TO 2028.12.31; CHANGE OF CONTRACT

Name of requester: BEIJING LOONGSON TECHNOLOGY SERVICE CENTER CO., LT

Effective date: 20100128

EC01 Cancellation of recordation of patent licensing contract

Assignee: LOONGSON TECHNOLOGY Corp.,Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2010990000062

Date of cancellation: 20141231

EM01 Change of recordation of patent licensing contract

Change date: 20141231

Contract record no.: 2010990000062

Assignee after: LOONGSON TECHNOLOGY Corp.,Ltd.

Assignee before: Beijing Loongson Technology Service Center Co.,Ltd.

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20060531

Assignee: LOONGSON TECHNOLOGY Corp.,Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2015990000066

Denomination of invention: Improved virtual address conversion and converter thereof

Granted publication date: 20080827

License type: Common License

Record date: 20150211

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200820

Address after: 100095, Beijing, Zhongguancun Haidian District environmental science and technology demonstration park, Liuzhou Industrial Park, No. 2 building

Patentee after: LOONGSON TECHNOLOGY Corp.,Ltd.

Address before: 100080 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

EC01 Cancellation of recordation of patent licensing contract
EC01 Cancellation of recordation of patent licensing contract

Assignee: LOONGSON TECHNOLOGY Corp.,Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2015990000066

Date of cancellation: 20200928

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.

CX01 Expiry of patent term

Granted publication date: 20080827

CX01 Expiry of patent term