CN1779662A - Improved virtual address translation method and device - Google Patents
Improved virtual address translation method and device Download PDFInfo
- 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
Links
- 238000013519 translation Methods 0.000 title claims abstract description 115
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000000872 buffer Substances 0.000 claims abstract description 107
- 238000006243 chemical reaction Methods 0.000 claims abstract description 33
- 230000009466 transformation Effects 0.000 claims description 24
- 238000013507 mapping Methods 0.000 claims description 15
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000011426 transformation method Methods 0.000 abstract 1
- 238000013461 design Methods 0.000 description 7
- OUXCBPLFCPMLQZ-WOPPDYDQSA-N 4-amino-1-[(2r,3s,4s,5r)-4-hydroxy-5-(hydroxymethyl)-3-methyloxolan-2-yl]-5-iodopyrimidin-2-one Chemical compound C[C@H]1[C@H](O)[C@@H](CO)O[C@H]1N1C(=O)N=C(N)C(I)=C1 OUXCBPLFCPMLQZ-WOPPDYDQSA-N 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)共用一个单读端口随机存储器;并且推迟随机存储器输出的物理页表地址和保存的上次使用的物理页表地址的选择操作,这样可以达到降低翻译后援缓冲器部分的功耗和面积的效果,同时又不会降低处理器的性能和增加电路的延迟。
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.
Description
技术领域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,指令翻译后援缓冲器和数据翻译后援缓冲器将此次取指/数据的虚地址同上一次取指的虚地址/数据虚拟地址进行判等比较;
步骤110,判断是否属相同页表或可直接映射空间?如果是,执行步骤160,如果否,执行下一步;
步骤100、110和160中,在下面两种情况下,虚拟地址变换到物理地址时不访问翻译后援缓冲器的随机存储器,一种是将每次取指操作引发的需要进行变换的地址同上一次取指操作引发的已经完成变换的地址进行比较,如果同上一次的地址落在了同一个虚拟页表项中,则不再访问随机存储器,而直接利用上一次变换得到的物理页表地址结果,数据访存引发的地址变换也使用同取指引发的地址变换相同的处理过程,由于处理器取指和访存都有很高的局部性,这样的设计可以很大程度减少对随机存储器的访问次数,起到降低功耗的目的;另一种情况是,对于取指令和数据访存操作引起的虚拟地址到物理地址的变换,如果虚拟地址所处的地址空间为直接映射空间(unmapped),不需要查找翻译后援缓冲器的映射关系表项就能完成的地址映射,不访问翻译后援缓冲器的随机存储器,这样通过减少访问翻译后援缓冲器的随机存储器的方法,可以使随机存储器更长时间处于低功耗状态;In
步骤120,指令翻译后援缓冲器和数据翻译后援缓冲器共用一个单读端口随机存储器,接受对物理地址的查询,由于采用步骤110的设计,地址变换时访问翻译后援缓冲器的随机存储器的次数会明显减少,所以在指令翻译后援缓冲器和数据翻译后援缓冲器共用一个随机存储器时,两者发生冲突的情况很少,并不会影响处理器的性能;
步骤130,指令翻译后援缓冲器和数据翻译后援缓冲器保存变换得到的物理地址,并分别推迟与随机存储器输出的物理页表地址做选择;In
步骤140,指令翻译后援缓冲器和数据翻译后援缓冲器使用时分别同时用这两个来源(本次变换和上次变换)的物理地址,分别产生两个目标信号;
步骤150,分别对这两个目标信号进行选择,输出需要的结果信号。
在步骤130——步骤150中,指令翻译后援缓冲器和数据翻译后援缓冲器共用一个随机存储器后,指令翻译后援缓冲器和数据翻译后援缓冲器分别需要用寄存器将每次地址变换得到的各自的物理地址保存,如果下一次地址变换时虚拟地址同此次的虚拟地址在同一页表内,则使用寄存器中保存的物理地址,否则查询翻译后援缓冲器的随机存储器,使用随机存储器输出的物理页表地址,这就需要二选一电路对物理页表地址的来源进行选择,为了尽量避免增加电路的延迟,不直接对保存物理页表地址的寄存器和随机存储器的输出进行选择,而是在后面需要使用物理地址的电路中,同时使用这两个来源的物理地址,产生两个目标信号后,再对这两根目标信号进行选择,从而避免了,在对几十位宽的物理页表地址及相关控制信号进行选择时,增加的负载和强驱动。In step 130 - in
步骤160,不访问随机存储器,使用保存的上次变换的地址。
下面结合图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
第一比较电路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
以取指为例,当一个取指地址请求访问指令翻译后援缓冲器时,首先将虚拟地址同保存虚拟页表地址项的内容比较器进行内容比较,同时与历史上上次经过翻译后援缓冲器变换的虚拟地址进行比较,并判断此虚拟地址是否属于直接映射地址空间,如果此次变换的虚拟地址同上次变换的虚拟地址同属一个虚拟页表,或此次变换的虚拟地址属于直接映射地址空间,则生成使能控制信号,不允许此次变换访问翻译后援缓冲器的随机存储器,否则,若此次变换与上次变换不属于同一虚拟页表,且此次变换的地址不属于直接映射空间,则使用查询内容比较器得到的索引访问翻译后援缓冲器的随机存储器,以得到相应的物理页表地址。翻译后援缓冲器只有一个单端口的用于保持物理页表地址和相关控制信号的随机存储器,当然,也可以选择寄存器堆等存储方式,如果指令翻译后援缓冲器和数据翻译后援缓冲器同时要访问这个随机存储器的话,就会产生访问冲突,这时可以根据对性能的影响情况,优先处理取指/或数据访存的地址变换访问。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)
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)
| 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)
| 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)
| 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 |
-
2004
- 2004-11-24 CN CNB2004100913779A patent/CN100414518C/en not_active Expired - Lifetime
Cited By (15)
| 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 |