CN1008839B - 微处理机系统的存储管理 - Google Patents
微处理机系统的存储管理Info
- Publication number
- CN1008839B CN1008839B CN85106711A CN85106711A CN1008839B CN 1008839 B CN1008839 B CN 1008839B CN 85106711 A CN85106711 A CN 85106711A CN 85106711 A CN85106711 A CN 85106711A CN 1008839 B CN1008839 B CN 1008839B
- Authority
- CN
- China
- Prior art keywords
- page
- data
- memory
- address
- microprocessor
- 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.)
- Expired
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种地址翻译单元的微处理机体系结构,它提供二级高速缓冲存储器。各段式调度寄存器和主存储器中的一相关联的段式调度表提供第一级存储管理,它包括用于保护、优先权等的各的属性位。第二页面级的高速缓冲存储器包括主存储器中的一关联的页指南和页表,它提供在页面级上具有独立保护的第二级管理。
Description
本发明涉及用于存储管理的地址翻译单元领域,特别是在微处理机系统中的该领域。
有许多人尽皆知的装置用作存储管理。在有些系统中,一较大地址(虚拟地址)被翻译到一较小实际地址(smaller physical address)。在另外一些中,一较小地址是用例如应用存储体转换(bank switching)来存取一较大存储空间。本发明涉及前一类,即,在那里较大虚拟地址是用来存取一有限实际存储器。
在存储管理系统中,还知道提供有不同的保护装置。例如,一系统可防止一使用者写入一操作系统或也许能甚至防止用户将操作系统读出到外部通道。如即将见到的那样,本发明提供一保护装置,作为主要控制系统(broader control scheme)的部件,此系统在二个特殊的级(distinct levels)上分配“属性”(attributes)给数据。
申请人知道的最接近的先有技术是叙述在美国专利4,442,484中。此专利叙述了由市场上可得到的微处理机Intel 286构成的存储管理和保护装置。此微处理机包括含有段基地址(segment base addresses)、极限信息(limit information)和属性(例如保护位)的段式调度描述词寄存器(segmentation descriptor registers)。段描述词表(segment descriptor table)和段描述词寄存器(segment descriptor registers)两者含有确定不同的控制装置例如特许级(Privilege level)、
保护类型等的位。这些控制装置详细地叙述在美国专利4,442,484中。
Intel 286有一问题是段偏移(segment offset)被限于64k字节。它还要求在实际存储器中为一个段提供连续的存储单元,而这点未必总是容易保持的。如将见到的,本发明系统的一优点是偏移如同实际地址空间一样大。本发明系统还对在Intel 286中的先有技术的段式调度装置提供了兼容性。另外的优点以及在上述专利中讨论的先有技术系统和它的商业上的实现(Intel 286微处理机)之间的差别从本发明的详细叙述将是显而易见的。
对包括一微处理机和一数据存储器的微处理机系统的改进将被描述。微处理机包括一段式调度装置(segmentation mechanism)用作翻译一虚拟存储地址到一第二存储地址(线性地址)和用作检验和控制数据存储段的属性。本发明的改进包括在微处理机上一页高速缓冲存储器用于从一“命中”(hit)或“匹配”条件的线性地址翻译出一个第一字段。数据存储器也存储页映射数据,特别是一页指南(Page directory)和一页表(Page table)。如果在页高速缓冲存储器中不发生“命中”,则第一字段存取页指南和页表。用于在存储器中的一页的一实际基地址不是从页高速缓冲存储器的输出就是从页表的输出供出。线性地址的另一字段提供一在页内的偏移。
页高速缓冲存储器和在数据存储器中的页映射数据两者都存储代表在一特定页中的数据属性的信号。这些属性包括读和写保护,指示页是否已经预先写入,以及还包括其他信息。重要的是,页级保护(Page level Protection)提供在存储器中数据上的一第二等级控制,它是与段属性分开并有区别。
图1是一方框图,表示微处理机的全部体系结构,本发明目前是在其中实现的。
图2是说明包含在图1的微处理机中的段式调度机构装置的方框图。
图3是说明在页高速缓冲存储器中对于一“命中”或“匹配”的页字段映射的方框图。
图4是说明图3的在页高速缓冲存储器中对于不“命中”或“匹配”的页字段映射的方框图。对于这种条件,主存储器中的页指南和页表被应用并因此而在图4中示出。
图5是一简图,用来说明存储在页指南、页表和页高速缓冲存储器中的属性。
图6是说明相联存储器(content addressable memory)的机构和包括在页高速缓冲存储器中的数据存储器的方框图。
图7是说明图6的相联存储器的一部分的一电路原理图。
图8是与图6的检测器有关是逻辑电路的电路原理图。
一微处理机系统和特别是用于系统的一存储管理装置将要被描述。在下面的叙述中,许多具体细节如位(bits)的具体数(specific number)等将要被述及,为的是提供对本发明的彻底的理解。显然,对于本领域一般技术人员来说没有这些细节本发明也可实施。在另外的实例中,尽人皆知的结构没有示出,以免不必要地影响到对本发明的理解。
在这目前最佳实施方案中,微处理机系统包括图1的微处理机10。此微处理机是在单个硅基片上用互补型金属氧化物半导体(CMOS)制造成。许多种尽人皆知的CMOS处理中的任何一种可以使用,而且,很明显的,本发明可用其他技术例如n型沟道、双极型蓝宝石硅(SOS)等来实现。
用于某些条件的存储管理装置要求访问存储在主存储器中的表。一随机存取存储器(BAM)13其功能是作为系统的主存储器并表示在图1中。一普通RAM可象一使用动态存储器(employing dynamic memories)一样而被使用。
如图1所示,微处理机10有一32位的实际地址,而处理机本身是一32位处理机。一微处理机系统的另外部件例如一般地使用的驱动器、
数学处理器等在图1中未画出。
本发明的存储管理利用段式调度和页式(Paging)调度这二者。各段是由一组段描述词表确定的,它们与用于描述页翻译的页表相分开。二个装置是完全分开和独立的。一虚拟地址是在两不同步骤中翻译为一实际地址,其中使用两个不同的映射装置。一段式调度技术用于第一翻译步,而一页式调度技术用于第二翻译步。页式调度翻译能变成产生一仅有段式调度的单步翻译,它与286是兼容的。
段式调度(第一翻译)将一48位虚拟地址翻译为一32位线性(中间)地址。48位虚拟地址由一16位段选择器和一在此段中的32位偏移(offset)组成。16位段选择器识别此段,并用来存取来自段描述词表的一项目(entry)。这段描述词项目包含段的一基地址、段的长度(极限)、以及段的不同属性。翻译步把段基(segment base)加到虚拟地址中的32位偏移从而获得32位线性地址。在此同时,虚拟地址中的32位偏移与段极限比较,而存取的型式是与段属性核对。如果32位偏移超出段极限的范围,或如果存取的型式是为段属性不允许的,一故障(fault)于是生成并且编址进程于是异常结束(aborted)。
在下面详细叙述的过程中,页式调度(第二翻译)利用一个二级(two-level)页式调度表将一32位线性地址翻译为一32位实际地址。
这两步是完全独立的。这允许(大的)段由几页组成,或一页由几(小的)段组成。
一段能起始在任何边界上并可是任意长度,且不限于起始在一页边界上或其长度必须是一页数的准确倍数。这允许各段分别地描述存储器的保护区域,该区域起始于任意地址和为任意长度。
段式调度能用来将每一段具有其唯一的保护属性和长度的一些小段聚在一单独的页。假若这样,段式调度提供保护属性,而页式调度提供一种对必须分别地保护的一群有关单元的实际存储映射的便利方法。
页式调度能用来将十分大的段划分成许多小的单元,用作实际存储管理。这将提供一单标识符(段选择器)和用作存储器的一独立保护单元的一单描述词(段描述词)而不要求使用许多页描述词。在一段里面,页式调度提供一映射的附加级,它允许大的段映射进入在实际存储器中不需要连接的各分开页中。事实上,页式调度允许一大的段映射,以便仅几页同时常驻在实际存储器中,而段的剩余部分则映射到磁盘上。当其他页能写入时,页式调度也支持在一大段里面子结构的定义例如对一大段的一些页进行保护。
段式调度提供一十分广泛的保护型式,它工作在程序员使用的“自然”单元上:线性编址存储器上的任意长度部分。页式调度提供用于管理实际存储器最便利的方法,包括系统主存储器和后备磁盘存储器二者的管理方法。在本发明中二个方法的组合提供一十分灵活的和功能强的存储保护型式。
在图1中,微处理机包括一总线接口单元14。总线单元包括缓冲器,用作允许32位地址信号的传送以及接收和发送数据的32位。在微处理机内部,单元14在内部总线19上通信。总线单元包括:一预取单元,用作取来自RAM12的指令;和一预取队列,它与指令译码单元16的指令单元通信。队列指令是在包括一32位寄存器文件的执行单元18(算术逻辑运算部件)中处理。该单元以及译码单元使用内总线19通信。
本发明以地址翻译单元20为中心。这单元提供二个功能:其一关联着段描述词寄存器,另一则关联着页描述词高速缓冲存储器。段寄存器是已知先有技术中最多的部件;即使如此,现将它们连同图2作较详细的叙述。页高速缓冲存储器和它同存储在主存储器13中的页指南与页表的相互作用将结合图3-7加以讨论,这些要素形成本发明的基础。
图1的段式调度单元接收来自执行单元18的一虚拟地址和存取适当的寄存器段式调度信息。寄存器含有段基地址,该地址与来自虚拟地址
的偏移同时联接在线23上到页单元。
图2说明当段式调度寄存器被装入一新段的映射信息时,对主存储器中表的存取。段字段为在主存储器13中的段描述词表的索引。表的内容提供一基地址以及另外提供关于段中数据的属性。基地址和偏移与比较器27中的段极限比较;该比较器的输出提供一故障信号。作为微处理机部件的加法器26结合基和偏移从而在线13上提供一“实际”地址。这地址可被微处理机用作一实际地址或被页式调度单元使用。这样的结果,就可为一先有技术微处理机(Intel 286)而写的某些程序提供兼容性。对于Intel 286,实际地址空间是24位。
包括象不同特许级这样的描述词细目的段属性叙述在美国专利4,442,484中。
先有技术中事实已知的段式调度装置在图2中由虚线28表示出来,即虚线左面是先有技术的结构。
页字段映射块30包括图1的页单元以及它与存储在主存储器中的页指南和页表的相互作用,在图3至图7中表示。
虽然在目前最佳实施方案中段式调度装置使用阴影寄存器(shadow registers),它也能和一高速缓冲存储器一起被使用,就象和页式调度装置使用时一样。
在图3中,图1的页单元22的页描述词高速缓冲存储器表示在虚线22a中。这存储器包括二阵列、一相联存储器(CAM)34和一页数据(基)存储器35。二存储器都用静态存储单元来实现。存储器34和35的结构将结合图6叙述。用于CAM 34的特殊电路具有独特的屏蔽特点,这将结合图7和图8叙述。
来自段单元21的线性地址联接到图1的页单元22。如图3所示,这线性地址包括二字段:页信息字段(20位)和一位移字段(12位)。另外,一四位页属性字段由微代码所提供。20位页信息字段与CAM 34的内
供给或门电路53的一个输入端。二进制计数器51是用脉冲发生器63产生的时钟脉冲输入信号来启动的,脉冲发生器63由一个“或非”电路55.一个变换器57.一个电阻器59和一个电容器61组成。脉冲发生器63中的“或非”电路55的一个输入端与一个“或非”电路89的输出端相连接,而脉冲发生器13[63-译注]设计成只有当“或非”电路的输出信号为“0”时才启动。在正常情况下,输入到“或非”电路89的都是那些全部处于“0电平”的输入信号,因此使得“或非”电路89的输出处于“1电平”状态,从而使脉冲发生器63和二进制计数器51都不启动,处于静止状态。另外,二进制计数器51的清除输入端连接到“或非”电路89的输出端,而且,二进制计数器51设计得由“或非”电路89处于“1电平”时的输出信号来清零。
二进制计数器51的输出Q1是变换器65的输入,变换器65的输出是或门电路53的另一个输入。并且,或门电路53的输出是3个输入端与门电路67的第一个输入,与门电路67的第二个和第三个输入端分别连接到二进制计数器51的输出端Q2和Q5。借助于一个变换器65、一个或门电路53和一个与门电路67所组成的电路,从而产生输出,从与门电路67的输出端向数据选择器39的数据输入端D0-D7传送8位传输信息,连续重复数次,如图10a所示,就是说,重复数次使二进制计数器51的输出Q8变成“1”,下文将加以说明。如上所述,连续从与门电路67输出的8位传输信号,可通过一个电阻器69来驱动晶体管71。晶体管71又驱动一个振荡电路85,振荡电路85由一个天线37、一个电阻器73、一个电阻器73、一个晶体管75、一个可变容器77、一个电阻器79、
这位存储在页表和CAM中(不在页指南中)。当一页被写入时处理机在页表中对这位置位。
2.“被存取的”。这位仅存储在页指南和表中(不在CAM中)且是用来指示一页已经被存取。一旦一页被存取,这位是由处理机在存储器中改变。与“脏的”位有所不同,这位指示是否一页已经因用于写或是用于读而被存取。
3.U/S。这位的状态指示是否页的内容是用户和管理程序是可以存取的(二进制1),或仅是管理程序(二进制0)。
4.R/W。这读/写保护位必须是一二进制1以便允许一用户级程序写入该页。
5.“出现的”。这位在页表中指示是否在实际存储器中有关的页表是出现的。这位在页指南中指示是否在实际存储器中有关的页表是出现的。
6.“有效的”这位仅存储在CAM中,是用来指示是否CAM的内容是有效的。这位在初始化时被置为一第一状态,当一有效的CAM字被装入时然后改变。
来自页指南和表的五位被联接到控制逻辑电路75以便在微处理机中提供恰当的故障信号。
来自页指南和表的用户程序/管理程序位在门46进行逻辑“与”从而提供存储在图3的CAM34中的R/W位。同样地,来自页指南和表的读/写位通过门47进行逻辑“与”,从而提供存储在CAM中的W/R位。来自页表中的“脏的”位存储在CAM中。这些门是图4的控制逻辑75的部件。
存储在CAM中的属性“自动地”被检验,因为它们是作为地址的一部分处理的以及对来自微代码的四位比较。如果例如线性地址指示:一“用户程序”写用期是发生在R/W=0的一页,即使一有效的页基是存储在CAM中,也产生一故障条件。
来自页指南和表的U/S位的“与”逻辑保证“最坏的情形”被存储在高速缓冲存储器中。同样地,R/W位的“与”逻辑为高速缓冲存储器提供最坏的情形。
表示在图6中的CAM 34被组织在每组中有4字编制的8个组中。21位(17位地址和4位属性)被用来在这阵列中寻找一匹配。来自每组中四存储字的四条比较器线路连接到一检测器。例如,组1的四字的比较器线路连接到检测器53。同样地,组2至8的四字的比较器线路连接到各自的比较器。比较器线路由检测器检测来决定在组中哪一字和CAM阵列的输入(21位)匹配。每一检测器包含“硬连线”逻辑,该逻辑允许根据来自联接到各检测器的20位页信息字段的3位的状态,而作出对各检测器中的之一的选择。(注意这位页信息字段的另外17位联接到CAM阵列)。
为了便于说明,八检测器在图6中被隐含。在目前的实现方案中仅用了一个检测器,以三位选择用于联接到该检测器的一个四线组。检测器本身是在图8中表示。
高速缓冲存储器的数据存储部分构成四阵列,如阵列35a至35d所示。对应于CAM的每组的数据字,其一字被分配存储到四阵列的每个中。例如,由一“命中”和组1的字1选择的数据字(基地址)是在阵列35a中,由一“命中”和组1的字2选择的数据字在阵列35b中等。用来选择一检测器的三位也是用来选择每一阵列中的一字。因而同时地,各字是选自四阵列的每一个。来自阵列的一字的最后的选择是经过多路转接器55完成。这多路转接器由检测器中四比较器线路控制。
当存储高速缓冲储器被存取时,一相对地低速的比较过程通过对21位的使用而开始。另外的三位能立刻选择一个四线组并且检测器准备用作检测比较器线路上的一个压降。[如将要讨论的,全部的比较器(行)线是用保持带电的被选择(“命中”)线来预先充电,而非选择的各线
脉冲发生器63和二进制计数器51启动后,完成了数据选择器39中置位的8位信息的传输,而且二进制计数器51的输出Q8变成“1”时,输出信号将“或非”电路105的输出调节到“0”,使二进制计数器93清零。当二进制计数器被清零时,其输出端Q24输出的检验信号变成“0”,同时,“或非”电路89的输出变成“1”,从而使脉冲发生器63和二进制计数器51停止工作。结果,二进制计数器51的输出Q8也变成“0”,从而使得“或非”电路105的输出变成“1”,二进制计数器93再次开始一小时的计数运算,一小时以后输出检验信号。在处理器7方面,它接收到按照检验操作模式,以一小时的时间间隔产生的检验信号,通过检验,证实信号是固定以一小时的时间间隔传送出去的,来确定用于探测的无线电发射机工作正常。要求当检验信号不是以一小时的时间间隔传输到处理器7时,处理器则探测到故障,并发出警报,用于探测的无线电发射机因某种原因停止了工作。
使二进制计数器93清零的“或非”电路105的一个输入端与一个比较器113的输出端相连接,比较器113包括一个运算放大器,它由一个电源电压检测电路111组成,电源电压检测电路111用作检测由电池组形成的电源电压Vdd的下降。比较器113的反相输入端连接到电阻器115和117的接合处,电阻器115和117在电源和地之间串联连接,而它的非反相输入端连接到一个电阻器119和一个齐纳二极管121的中间,电阻器119和齐纳二极管121在电源和地之间串联连接,齐纳二极管121用作向比较器113提供一个基准电压V0。比较器113将提供给反相输入的电源电压的部分电压与基准电压进行比较,当电源电压的部分电压高于基准电压时,比较器113便输出一个“0”
在线路56和57预先充电期间生成一过载信号,它导致全部列线(位和位这二者)成为低。这防止比较器在比较开始以前从“命中”线中漏电。
必须注意的是比较器检定“二进制1”条件,而事实上忽略“二进制0”条件。即,例如晶体管64的栅极是高(线59高)于是晶体管63和64控制比较过程。同样地,如果位线60是高,于是晶体管61和62控制比较过程。比较器的这特征允许单元被忽略。这样,当一字连接到CAM,某些位能借助于使位和位线二者为低从而在比较过程中被屏蔽掉。这显然是单元的内容和列线上的条件相匹配。VUDW逻辑线路57利用这些特征。
连接到逻辑线路57的微代码信号导致作为选择属性位之一的位和位线成为低,这是微代码位的功能。这导致与那位相关联的属性被忽略。这特征用来例如忽略在管理方式中的U/S位。即,管理方式能存取用户数据。同样地,当读时,或当管理方式工作时,读/写位可被忽略。当读时,或当管理方式工作时,读/写位可被忽略。当读时,“脏的”位也被忽略。(对于有效位,该特征不起作用)。
当属性位存储在主存储器中,它们能被存取和检定,而逻辑线路用来控制存取(例如,根据U/S位的1或0状态),然而,有了高速缓冲存储器就不必采用分开的逻辑电路。即使属性位的位模式不匹配,事实上,借助于允许一匹配(或防止一故障),通过强制地使位和位线二者低就可提供附加的逻辑。
如图8中所示,图6的检测器包括多个“或非”门如门81、82、83和84。来自选择的CAM线组的“命中”线的三条连接到门81;它们用线A、B和C表示。线的一不同组合连接到每一其它“或非”门。例如,“或非”门84接收“命中”线D、A和B。每一“或非”门的输出是到一个“与非”门例如门86的输入。一“命中”线为每一“与非”门提供一输入。这线是A、B、C、D四条之一,它不是到“或非”门的输入
的线。这也是来自要选择的组项目的位线。例如,门86应该选择联结“命中”线D的组。例如在“或非”门81的情况,“命中”线联接到“与非”门86。同样地,对于“与非”门90,“命中”线C以及门84的输出是此门的输入。一允许读信号也联接到各“与非”门从而防止其输出信号允许写。“与非”门的输出,例如线87是用来控制图6的多路转接器55。实际上,来自“与非”门的信号,例如在线87上的信号经P型沟道晶体管控制多路转接器。为了便于说明,一附加的反相器88连同输出线89一起表示。
这种检测器的优点是允许预充电线使用在多路转接器55中。
或者,一种静态装置也可被采用,但这将要求相当大的功率。在图8的装置中,来自反相器的输出将保持相同的状态直至“命中”线之一上的电压下降。当此状态发生时,仅单一输出线的电压下降,从而允许多路转接器选择正确的字。
至此,一种独特的地址翻译单元已经叙述,它使用二级高速缓冲存储器,一级用于段式调度和一级用于页式调度。独立的数据属性控制(例如:保护)在每一级上都被提供。
Claims (25)
1、一微处理机系统包括:
一微处理机,具有一段式调度装置,用于将一虚拟地址翻译为一第二存储地址;
一数据存储器,与该微处理机相连接,该数据存储器包括用于页映射数据的存储器;
其特征在于该微处理机系统的改进包括:
一页高速缓冲存储器,它与所述微处理机合为一体或相连接,并与所述段式调度装置相隔离,用于接受所述第二存储地址的一第一字段和用作将它与所述页高速缓冲存储器的内容进行比较从而当一个命中条件出现时提供一第二字段;
所述第二存储地址的第一字段被联接到所述数据存储器,以便当所述命中条件没有在所述页高速缓冲存储器中出现时从所述页映射数据选择一第三字段;
所述微处理机系统包括一电路,用于使所述第二和第三字段之一与来自所述第二存储地址的一偏移字段相结合从而提出用于所述数据存储器的一实际地址。
2、根据权利要求1的微处理机系统,其特征在于其中所说页映射数据包括各存储页的各属性上的信息。
3、根据权利要求2的微处理机系统,其特征在于其中用于所说页映射数据的存储器包含至少一页指南和至少一页表。
4、根据权利要求3的微处理机系统,其特征在于其中各所说页指南和所说页表存储用于所说各存储页的各属性。
5、根据权利要求4的微处理机系统,其特征在于其中至少有些存储在所说页指南和所说页表中的各所说属性被逻辑地结合在和存储在所说页高速缓冲存储器中。
6、根据权利要求5的微处理机系统,其特征在于其中所说微处理机为所说页指南提供一页指南基。
7、根据权利要求6的微处理机系统,其特征在于其中所说第一字段的一第一部分提供一个到所说页指南中一存储单元的索引给所说页指南基。
8、根据权利要求7的微处理机系统,其特征在于其中在所说页指南中的所说各存储单元存储各页表基,并且其中所说第一字段的一第二部分在所述数据存储器中将进入所述页表的一索引提供给一页表存储单元。
9、根据权利要求8的微处理机系统,其特征在于其中在所说页表中的所说各存储单元提供一基给在所说数据存储器中的各页。
10、根据权利要求2的微处理机系统,其特征在于其中所说页高速缓冲存储器包括一相联存储器(CAM)和页基存储器,所说CAM的输出从所说页基存储器中选择所说数据存储器的页基。
11、根据权利要求10的微处理机系统,其特征在于其中所说CAM存储各数据存储页的各属性。
12、根据权利要求11的微处理机系统,其特征在于其中所说CAM包括用作在所说比较期间选择地屏蔽至少所说各属性之一的装置。
13、根据权利要求1的微处理机系统,其特征在于其中所说段式调度装置包含:
与微处理机相连的段描述词寄存器,用作提供一段基,和
所说数据存储器包括一段描述词表,它由所说第一地址的一段字段来存取。
14、根据权利要求13的微处理机系统,其特征在于其中所说页映射数据包括各存储页的各属性上的信息。
15、根据权利要求14的微处理机系统,其特征在于其中用于所说页映射数据的所说存储器包含一页指南和一页表。
16、根据权利要求15的微处理机系统,其特征在于其中用于所说页指南和页表存储用于各所说存储页的各所说属性。
17、根据权利要求16的微处理机系统,其特征在于其中至少有些存储在所说页指南和所说页中的各所说属性被逻辑地结合在和存储在页高速缓冲存储器中。
18、一地址翻译单元,作为一微处理机的部件,用作对数据存储器的操作,其特征在于该单元包括:
段描述词存器,用作接收一虚拟地址和用作提供一段基,
所说的段基表示任意大小的段的起始地址;
所说微处理机提供用于数据存储器的一地址以便允许对所说数据存储器中的一段描述词表进行编址,所说段描述词表提供所说段基地址,
所说微处理机利用所说段基地址和所说虚拟地址的至少一部分来提供一第二存储地址,
一页高速缓冲存储器,用作接收所说第二存储地址的一第一字段和将它与所说页高速缓冲存储器的内容进行比较从而当一个第二命中条件出现时提供一第二字段;
所说微处理机用作向所说数据存储器中的一页数据表提供所说第一字段以便当所述字二命中条件没有出现时提供所说第二字段,
所说第二字段提供用于所说数据存储器的一页基。
19、根据权利要求18的单元,其特征在于其中各所说段描述词寄存器存储各段数据属性和其中所说页高速缓冲存储器存储各页数据属性。
20、一相联存储器(CAM)其特征在于包括:
一具有第一信号的第一信号线;
与第一信号线相连的存储器单元,该存储器单元用于存储信息位;
与该存储器单元相连的比较器,该比较器用于将上述存储器单元中存储的信息位和第一信号线上的二进制状态比较;
与该比较器相连的第一命中线,该第一命中线指示上述存储器单元上存储的信息位是否与上述第一信号线匹配;
与第一命中线连接的预置装置,用于使第一命中线处于第一二进制状态,该第一二进制状态指示发生匹配;
检测装置,用于检测上述第一命中线的二进制状态,该检测装置具有一与第二命中线连接的“或非”门;上述检测电路进一步包括与第一命中线和上述“或非”门的输出相连的一“与非”门;
多路转换装置,与上述“与非”门的输出相连接,该多路转换装置用于控制一数据字的选择。
21、根据权利要求20的相联存储器,其特征在于其中所述预置装置在比较器将存储器单元上存储的信息位和第一信号线上的二进制状态进行比较之前对第一命中线充电,使之为二进制的高状态;如果比较器检测出不匹配,则比较器使得上述第一命中线放电,使之为二进制的低状态。
22、根据权利要求21的相联存储器,其特征在于所述预置装置包括一与第一命中线相连的晶体管。
23、根据权利要求20的相联存储器,其特征在于还包括具有第二信号的第二信号线,上述第二信号与上述第一信号的为互补,上述第二信号线与上述存储器单元相连。
24、根据权利要求23的相联存储器,其特征在于其中所述比较器包括第一对晶体管和第二对晶体管,第一对晶体管包括:
a)与第一线连接的第一晶体管,用于接收第一信号;
b)与上述存储器单元的第一节点相连的第二晶体管,用于接收第一节点的二进制状态;
和第二对晶体管包括:
c)与第二线连接的第三晶体管,用于接收上述第二信号;
d)与上述存储器单元的第二节点相连的第四晶体管,用于接收上述第二节点的二进制状态。
25、根据权利要求24的相联存储器,其特征在于其中所述比较器在第一信号维持为二进制的低状态和第二信号维持为二进制的低状态时被禁止。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74438985A | 1985-06-13 | 1985-06-13 | |
US744,389 | 1985-06-13 | ||
USUSSN06/744,389 | 1985-06-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN85106711A CN85106711A (zh) | 1987-02-04 |
CN1008839B true CN1008839B (zh) | 1990-07-18 |
Family
ID=24992533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN85106711A Expired CN1008839B (zh) | 1985-06-13 | 1985-09-06 | 微处理机系统的存储管理 |
Country Status (8)
Country | Link |
---|---|
JP (1) | JPH0622000B2 (zh) |
KR (1) | KR900005897B1 (zh) |
CN (1) | CN1008839B (zh) |
DE (1) | DE3618163C2 (zh) |
FR (1) | FR2583540B1 (zh) |
GB (2) | GB2176918B (zh) |
HK (1) | HK53590A (zh) |
SG (1) | SG34090G (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1988007721A1 (en) * | 1987-04-02 | 1988-10-06 | Unisys Corporation | Associative address translator for computer memory systems |
US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
US5226039A (en) * | 1987-12-22 | 1993-07-06 | Kendall Square Research Corporation | Packet routing switch |
US5761413A (en) | 1987-12-22 | 1998-06-02 | Sun Microsystems, Inc. | Fault containment system for multiprocessor with shared memory |
US5341483A (en) * | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
US5251308A (en) * | 1987-12-22 | 1993-10-05 | Kendall Square Research Corporation | Shared memory multiprocessor with data hiding and post-store |
CA2078315A1 (en) * | 1991-09-20 | 1993-03-21 | Christopher L. Reeve | Parallel processing apparatus and method for utilizing tiling |
US5313647A (en) * | 1991-09-20 | 1994-05-17 | Kendall Square Research Corporation | Digital data processor with improved checkpointing and forking |
CA2078312A1 (en) | 1991-09-20 | 1993-03-21 | Mark A. Kaufman | Digital data processor with improved paging |
GB2260629B (en) * | 1991-10-16 | 1995-07-26 | Intel Corp | A segment descriptor cache for a microprocessor |
US5895489A (en) * | 1991-10-16 | 1999-04-20 | Intel Corporation | Memory management system including an inclusion bit for maintaining cache coherency |
CN1068687C (zh) * | 1993-01-20 | 2001-07-18 | 联华电子股份有限公司 | 存录多段语音的存储器动态分配方法 |
EP0613090A1 (de) * | 1993-02-26 | 1994-08-31 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Verfahren zur Prüfung der Zulässigkeit von direkten Speicherzugriffen in Datenverarbeitungsanlagen |
US5548746A (en) * | 1993-11-12 | 1996-08-20 | International Business Machines Corporation | Non-contiguous mapping of I/O addresses to use page protection of a process |
US5590297A (en) * | 1994-01-04 | 1996-12-31 | Intel Corporation | Address generation unit with segmented addresses in a mircroprocessor |
US6622211B2 (en) * | 2001-08-15 | 2003-09-16 | Ip-First, L.L.C. | Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty |
KR100406924B1 (ko) * | 2001-10-12 | 2003-11-21 | 삼성전자주식회사 | 내용 주소화 메모리 셀 |
US7689485B2 (en) | 2002-08-10 | 2010-03-30 | Cisco Technology, Inc. | Generating accounting data based on access control list entries |
GB2411027B (en) | 2002-11-18 | 2006-03-15 | Advanced Risc Mach Ltd | Control of access to a memory by a device |
US7171539B2 (en) | 2002-11-18 | 2007-01-30 | Arm Limited | Apparatus and method for controlling access to a memory |
GB2396034B (en) | 2002-11-18 | 2006-03-08 | Advanced Risc Mach Ltd | Technique for accessing memory in a data processing apparatus |
US7149862B2 (en) | 2002-11-18 | 2006-12-12 | Arm Limited | Access control in a data processing apparatus |
GB2396930B (en) | 2002-11-18 | 2005-09-07 | Advanced Risc Mach Ltd | Apparatus and method for managing access to a memory |
US7900017B2 (en) * | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
EP1654657A4 (en) * | 2003-07-29 | 2008-08-13 | Cisco Tech Inc | FORCE NO HIT DISPLAYS FOR CAM ENTRIES BASED ON GUIDELINES |
US20060090034A1 (en) * | 2004-10-22 | 2006-04-27 | Fujitsu Limited | System and method for providing a way memoization in a processing environment |
GB2448523B (en) * | 2007-04-19 | 2009-06-17 | Transitive Ltd | Apparatus and method for handling exception signals in a computing system |
US8799620B2 (en) | 2007-06-01 | 2014-08-05 | Intel Corporation | Linear to physical address translation with support for page attributes |
KR101671494B1 (ko) | 2010-10-08 | 2016-11-02 | 삼성전자주식회사 | 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법 |
FR3065826B1 (fr) * | 2017-04-28 | 2024-03-15 | Patrick Pirim | Procede et dispositif associe automatises aptes a memoriser, rappeler et, de maniere non volatile des associations de messages versus labels et vice versa, avec un maximum de vraisemblance |
KR102686380B1 (ko) * | 2018-12-20 | 2024-07-19 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA784373A (en) * | 1963-04-01 | 1968-04-30 | W. Bremer John | Content addressed memory system |
GB1281387A (en) * | 1969-11-22 | 1972-07-12 | Ibm | Associative store |
US3761902A (en) * | 1971-12-30 | 1973-09-25 | Ibm | Functional memory using multi-state associative cells |
GB1457423A (en) * | 1973-01-17 | 1976-12-01 | Nat Res Dev | Associative memories |
GB1543736A (en) * | 1976-06-21 | 1979-04-04 | Nat Res Dev | Associative processors |
US4376297A (en) * | 1978-04-10 | 1983-03-08 | Signetics Corporation | Virtual memory addressing device |
GB1595740A (en) * | 1978-05-25 | 1981-08-19 | Fujitsu Ltd | Data processing apparatus |
US4377855A (en) * | 1980-11-06 | 1983-03-22 | National Semiconductor Corporation | Content-addressable memory |
GB2127994B (en) * | 1982-09-29 | 1987-01-21 | Apple Computer | Memory management unit for digital computer |
US4442482A (en) * | 1982-09-30 | 1984-04-10 | Venus Scientific Inc. | Dual output H.V. rectifier power supply driven by common transformer winding |
WO1984002784A1 (en) * | 1982-12-30 | 1984-07-19 | Ibm | Virtual memory address translation mechanism with controlled data persistence |
-
1985
- 1985-08-08 GB GB8519991A patent/GB2176918B/en not_active Expired
- 1985-08-30 JP JP60189994A patent/JPH0622000B2/ja not_active Expired - Lifetime
- 1985-08-30 FR FR858512931A patent/FR2583540B1/fr not_active Expired - Lifetime
- 1985-09-05 KR KR1019850006490A patent/KR900005897B1/ko not_active IP Right Cessation
- 1985-09-06 CN CN85106711A patent/CN1008839B/zh not_active Expired
-
1986
- 1986-05-23 GB GB8612679A patent/GB2176920B/en not_active Expired
- 1986-05-30 DE DE3618163A patent/DE3618163C2/de not_active Expired - Lifetime
-
1990
- 1990-05-15 SG SG340/90A patent/SG34090G/en unknown
- 1990-07-19 HK HK535/90A patent/HK53590A/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
GB2176920A (en) | 1987-01-07 |
GB2176918A (en) | 1987-01-07 |
JPH0622000B2 (ja) | 1994-03-23 |
FR2583540B1 (fr) | 1991-09-06 |
GB8519991D0 (en) | 1985-09-18 |
GB2176920B (en) | 1989-11-22 |
CN85106711A (zh) | 1987-02-04 |
JPS61286946A (ja) | 1986-12-17 |
DE3618163C2 (de) | 1995-04-27 |
KR900005897B1 (ko) | 1990-08-13 |
FR2583540A1 (fr) | 1986-12-19 |
GB8612679D0 (en) | 1986-07-02 |
KR870003427A (ko) | 1987-04-17 |
DE3618163A1 (de) | 1986-12-18 |
SG34090G (en) | 1990-08-03 |
HK53590A (en) | 1990-07-27 |
GB2176918B (en) | 1989-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1008839B (zh) | 微处理机系统的存储管理 | |
US20210374069A1 (en) | Method, system, and apparatus for page sizing extension | |
CN1118027C (zh) | 存储器访问保护 | |
KR920005280B1 (ko) | 고속 캐쉬 시스템 | |
CN1153145C (zh) | 预加载不同缺省地址转换属性的方法和装置 | |
CN101341547B (zh) | 使用所存储的经编码关键字的高速内容可寻址存储器查找 | |
US6493812B1 (en) | Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache | |
EP0144763A2 (en) | Address translation apparatus for a virtual memory data processing system | |
JPH0769868B2 (ja) | 高速アドレス変換装置 | |
CN1140315A (zh) | 闪速存储器卡 | |
JPH08101797A (ja) | 変換索引バッファ | |
CN1622060A (zh) | 转换后备缓冲器的惰性转储清除 | |
US7343469B1 (en) | Remapping I/O device addresses into high memory using GART | |
CN1324483C (zh) | 在缓存路中进行数据替换的系统和方法 | |
US7007135B2 (en) | Multi-level cache system with simplified miss/replacement control | |
US6212616B1 (en) | Even/odd cache directory mechanism | |
US20030225992A1 (en) | Method and system for compression of address tags in memory structures | |
JPS623357A (ja) | Tlb制御方法 | |
JP2004530962A (ja) | キャッシュメモリおよびアドレス指定方法 | |
US9015447B2 (en) | Memory system comprising translation lookaside buffer and translation information buffer and related method of operation | |
AU602952B2 (en) | Cache memory control system | |
JP2008511882A (ja) | 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 | |
EP1100019A2 (en) | Allocation of memory | |
US6763431B2 (en) | Cache memory system having block replacement function | |
US6216198B1 (en) | Cache memory accessible for continuous data without tag array indexing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C13 | Decision | ||
GR02 | Examined patent application | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CX01 | Expiry of patent term |