[go: up one dir, main page]

CN1459059A - 在一个独立执行环境中控制对多个独立存储器的访问 - Google Patents

在一个独立执行环境中控制对多个独立存储器的访问 Download PDF

Info

Publication number
CN1459059A
CN1459059A CN01815883A CN01815883A CN1459059A CN 1459059 A CN1459059 A CN 1459059A CN 01815883 A CN01815883 A CN 01815883A CN 01815883 A CN01815883 A CN 01815883A CN 1459059 A CN1459059 A CN 1459059A
Authority
CN
China
Prior art keywords
page
processor
storer
access
independent
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
CN01815883A
Other languages
English (en)
Other versions
CN1252597C (zh
Inventor
R·戈利弗
J·苏顿二世
D·林
S·塔卡
G·奈格尔
F·麦基恩
H·赫尔伯特
K·雷内里斯
C·埃利森
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.)
Intel Corp
Original Assignee
Intel Corp
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
Priority claimed from US09/618,738 external-priority patent/US6678825B1/en
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1459059A publication Critical patent/CN1459059A/zh
Application granted granted Critical
Publication of CN1252597C publication Critical patent/CN1252597C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种在独立执行环境中控制对多个独立存储区域的存储器访问的方法、设备和系统。页面管理器用来分别分发多个页面到存储器的多个不同区域。存储器分为非独立区域和独立区域。页面管理器位于存储器的一个独立区域中。此外,存储器所有权页表描述存储器中每个页面的属性并且位于存储器的一个独立区域中。如果一个页面被分发到存储器的一个独立区域页面管理器就赋予它独立属性。另一方面,如果一个页面被分发到存储器的一个非独立区域页面管理器就赋予它非独立属性。存储器所有权页表记录每个页面的属性。在一种实施方案中,有正常执行模式和独立执行模式的处理器产生访问事务。访问事务是用包含与页面和访问信息有关的配置存储区进行配置的。如果访问事务有效与配置设置和访问信息耦合的访问检查电路产生访问许可信号。

Description

在一个独立执行环境中控制对多个独立存储器的访问
背景
发明领域
本发明涉及微处理器。尤其涉及处理器安全。
相关技术的描述
微处理器以及通信技术的发展已经为超出传统商业经营途径的应用开发出了很多机会。电子商务(E-commerce)以及企业对企业的电子商务(B2B)事务正在变得流行起来并且正在以不断增长的速度传遍全球市场。不幸的是,尽管现代微处理器系统向用户提供了方便且有效的商业经营、通信和交易方法,但它们也容易受到肆无忌惮的攻击。这种攻击的例子包括病毒、侵入、违反安全性以及窜改等,可以举出很多这样的例子。因此计算机安全变得越来越重要,以保护计算机系统的完整并提升用户的信用值。
攻击导致的威胁可以有多种形式。一种由黑客在远程启动的入侵性攻击可以破坏与几千甚至几百完个用户相连的系统的正常运转。一个病毒程序可能破坏单用户平台的代码和/或数据。
现有的保护系统免受攻击的技术有很多缺陷。反病毒程序只能扫描和检测已知病毒。安全协处理器或使用加密或其它安全技术的智能卡在速度性能、存储容量和适应性上有一定的局限性。此外,重新设计操作系统会导致软件兼容性问题并且需要极大的开发投资。
附图概述
从下面对本发明的详细描述可以清楚地看到本发明的特性和优点:
图1A是一个图,依照本发明的一个实施方案描述一种操作系统。
图1B是一个图,依照本发明的一种实施方案描述操作系统和处理器的不同单元以及单个连续的独立存储器的可访问性。
图1C是和图1B类似的图,依照本发明的一种实施方案描述操作系统和处理器的不同单元,尤其是多个独立的存储区域和多个非独立的存储区域的可访问性。
图1D是一个流程图,依照本发明的一种实施方案描述为独立的执行实体分发存储器页面的方法。
图1E是一个图,依照本发明的一种实施方案描述描述存储器所有权页表和转换虚地址为物理地址的方法。
图1F是一个图,描述在其中实践本发明的一种实施方案的计算机系统。
图2A是一个图,依照本发明的一种实施方案描述图1F中所示的独立执行电路。
图2B是一个图,依照本发明的一种实施方案描述图2A中的访问管理器。
图3A是一个图,依照本发明的一种实施方案描述访问检查。
图4是一个流程图,依照本发明的一种实施方案描述为独立执行产生访问许可信号的方法。
图5是一个流程图,依照本发明的一种实施方案描述为独立执行管理进程和线程操作的方法。
图6是一个图,依照本发明的一种实施方案描述图1F中所示的存储控制器中心(MCH)中的独立区域访问控制。
图7是一个图,依照本发明的一种实施方案描述图6中所示的MCH访问检查电路。
图8是一个流程图,依照本发明的一种实施方案描述为MCH的独立执行产生访问许可信号的方法。
描述
本发明是一种控制对独立执行环境中多个独立存储器的存储访问的方法、设备和系统。用一个页面管理器来分别分发多个页面到多不同的存储器区域。存储器被分为非独立区域和独立区域。页面管理器位于存储器的独立区域。此外,存储器所有权页表描述存储器的每个页面并且也位于存储器的独立区域中。如果一个页面被分配到存储器的一个独立区域就由页面管理器赋予该页面独立属性。另一方面,如果一个页面被分配到存储器的一个非独立区域就由页面管理器赋予该页面非独立属性。存储器所有权页表记录每个页面的属性。
在一种实施方案中,有正常执行模式和独立执行模式的处理器产生一个访问事务。用包含配置设置的配置存储区来配置访问事务。访问事务包括像要访问的存储物理地址这样的访问信息。配置设置提供该访问事务中涉及的存储器页面的有关信息。配置设置包括定义该页面为独立或非独立的页面属性以及当处理器配置成独立模式时建立执行模式字。在一种实施方案中,执行模式字是表示处理器是否是独立执行模式的单一位。与配置存储区耦合的访问检查电路用配置设置和访问信息中的至少一种检查访问事务。
在一种实施方案中,访问检查电路包括一个TLB访问检查电路。如果访问事务有效TLB访问检查电路产生访问许可信号。尤其是在页面属性被设置为独立并且执行模式字信号建立时,TLB访问检查电路产生到存储器独立区域的访问许可信号。因此,当处理器请求存储器独立区域的一个物理地址时,仅在处理器以独立执行模式运行且与该物理地址相关的页面的属性被设置为独立时,才会允许该访问事务。
在下面的描述中,为方便说明起见,阐述了大量细节以提供对本发明的透彻理解。但是,本领域的技术人员来说应该能够理解并不需要用这些明确的细节来实践本发明。在其它实例中,以框图形式描述了从所周知的电子设备和电路以免模糊本发明。
体系结构总览
在计算机系统或平台中提供安全性的一个原则是独立执行体系结构的概念。独立执行体系结构包括与计算机系统或平台的操作系统直接或间接互连的硬件和软件部件的逻辑和物理定义。操作系统和处理器对应于多种操作模式可以有多级结构,称为环(Ring)。一个环是为在操作系统中执行特定任务而设计的硬件和软件部件的一个划分。划分通常是基于优先度或优先级,即改变平台的能力。例如,环-0是最内层的环,位于整个体系的最高级。环-0包括最关键、优先级最高的部件。另外,环-0中的模块还可以访问较低优先级的数据,但反之则不行。环-3是最外层的环,位于整个体系的最低级。环-3通常包括最低优先级的用户或应用程序。环-1和环-2表示中间的环,其安全和/或保护级别递减。
图1A是依照本发明描述逻辑运行体系50的图。逻辑运行结构50是对操作系统部件和处理器的抽象。逻辑操作体系结构50包括环-010、环-1 20、环-2 30、环-3 40和处理器核心装载器52。处理器核心装载器52是处理器执行实例(PE)管理器。PE管理器用于处理和/或管理处理器执行实体,随后将对处理器执行实体进行论述。逻辑运行体系50有两种运行模式:正常执行模式和独立执行模式。逻辑运行体系中的每个环都能够以两种模式运行。处理器核心装载器52只能以独立执行模式运行。
环-0 10包括两个部分:正常执行环-0 11和独立执行环-0 15。正常执行环-0 11包括对操作系统非常关键的软件模块,通常称为内核。这些软件模块包括主操作系统(例如,内核)12、软件驱动13和硬件驱动14。独立执行环-0 15包括操作系统(OS)核心16和处理器核心18。OS核心16和处理器核心18分别是OS执行实体(OSE)和处理器执行实体(PE)的实例。OSE和PE是在与独立区域和独立执行模式相关的受保护环境中运行的执行实体的一部分。处理器核心装载器52是建立在系统中的一块芯片组上的受保护的自举装载器并负责从处理器或芯片组装载处理器核心18到独立区域,后面将讨论独立区域。
同样,环-1 20、环-2 30、和环-3 40分别包括正常执行环-1 21、环-2 31、环-3 41和独立执行环-1 25、环-2 35和环-3 45。尤其正常执行环-3包括N个应用程序421到42N,独立执行环-3包括K个小应用程序(Applet)461到46K。独立执行体系结构的一个概念是在系统存储器中创建独立区段,称为独立区域,受计算机系统中处理器和芯片组的保护。独立区域还可以位于高速缓冲存储器中,受翻译后援缓冲器(TLB)访问检查保护。同样,独立区域可以再细分为多个独立区域,后面将对其进行讨论。只有处理器的前端总线(FSB)用特殊的总线(例如,存储器读和写)周期,称为独立读写周期,允许访问独立区域。这些特殊的总线周期也用于监听。独立读和写周期由以独立执行模式执行的处理器发出。独立执行模式是用处理器中的特权指令结合处理器核心装载器52进行初始化的。处理器核心装载器52验证并装载环-0核心软件模块(例如,处理器核心18)到独立区域。处理器核心18为独立执行提供与硬件相关的服务。
处理器核心18的一个任务是验证并装载环-0 OS16到独立区域,并产生对平台、处理器以及操作系统核心16的组合唯一的关键体系的根。处理器核心18提供对独立区域的初始设置和低层管理,包括操作系统核心16的验证、装载和记录,以及保护操作系统核心的秘密的对称密钥的管理。处理器核心18还可以提供对由其它硬件提供的低层安全服务的应用程序编程接口(API)抽象。
操作系统核心16提供到主OS(例如,操作系统中不受保护的段)中的服务的链接,提供独立区域范围内的页面管理,并负责装载环-3应用程序模块45(包括小应用程序461到46K)到在独立区域中分配的受保护页面中。操作系统核心16还装载环-0支持模块。将要讨论主OS12管理位于独立区域之外的页面。
操作系统核心16可以在独立区域和正常(例如,非独立)存储器之间选择为数据分页。如果这样的话,操作系统核心16还负责在剔除页面到普通存储器之前对独立区域页面进行加密和哈希(Hash),并负责在恢复页面时检查页面内容。独立模式的小应用程序461到46K和它们的数据对来自其它小应用程序以及来自非独立空间的应用程序(例如,421到42N)、动态链接库(DLL)、驱动甚至主操作系统12的所有软件攻击具有抗干扰和抗监视能力。只有处理器核心18或操作系统核心16能够干预或监控小应用程序的执行。
图1B是依照本发明的一个实施方案描述操作系统10和处理器的不同部件的可访问性的图。为描述方便起见,只显示了了环-0 10和环-3 40的部件。逻辑运行体系50中的不同单元根据它们的环层次和执行模式访问可访问的物理存储器60。
可访问物理存储器60包括独立区域70和非独立区域80。独立区域70包括Java应用程序页72和核心页74。非独立区域80包括应用程序页80和操作系统页84。独立区域70只能由以独立执行模式运行的操作系统和处理器的部件访问。非独立区域80可以由环-0操作系统和处理器的所有部件访问。
正常执行环-0 11包括主OS 12、软件驱动13和硬件驱动14,能够访问OS页面84和应用程序页面82。正常执行环-3包括应用程序421到42N,只能访问应用程序页面82。但正常执行环-0 11和环-3 41都不能访问独立区域70。
独立执行环-0 15包括OS核心16和处理器核心18,能够访问独立区域70和非独立区域80,独立区域70包括小应用程序页面72和核心页面74,非独立区域80包括应用程序页面82和OS页面84。独立执行环-3包括小应用程序461到46K,只能访问应用程序页面82和小应用程序页面72。小应用程序461到46K驻留在独立区域70中。
图1C是和图1B类似的图,依照本发明的一种实施方案描述操作系统和处理器中不同单元的可访问性,其中独立存储区域70被分为多个独立存储区域71,非独立存储区域80被分为多个非独立存储区域83。为描述方便起见,只显示了环-0 10和环-3 40的元素。逻辑运行体系50根据它们的环层次和执行模式访问可访问的物理存储器60。可访问的物理存储器60包括多个独立区域71和非独立区域83。
多个独立区域71包括小应用程序页面72和操作系统(OS)核心页面74。多个独立区域71的其中一个还包括实现在处理器核心页面73中的处理器核心18(即,处理器执行实体(PE))。多个非独立区域83包括应用程序页面82和操作系统(OS)页面84。多个独立区域71只能由以独立执行模式运行的操作系统和处理器的元素访问。非独立区域83可以由环-0操作系统和处理器的所有元素访问。
在图1C所示的实施方案中,与图1B中所示的单块独立存储区域相对,独立存储区域70被分割成一组多个独立存储区域71,在使用独立存储器中允许增强的平台功能。为了支持多个独立存储区域71,实现在OS核心页面74中的OS核心16(即,OS执行实体(OSE))包含页面管理器75和存储器所有权页表77。OS核心控制页面管理器75。页面管理器75负责分发页面到多个独立存储区域71,例如OS核心页面74和小应用程序页面72,并分发页面到非独立存储区域83,例如OS页面84和应用程序页面82。页面管理器75还管理并维护存储器所有权页表77。后面将要讨论存储器所有权页表77描述每面并用来帮助配置处理器的访问事务并进一步验证访问事务有效。通过允许页面管理器75创建多个独立存储区域71和多个非独立存储区域83,可访问物理存储器60能够更容易的满足系统存储需求的变化。
正常执行环-0 11包括主OS 12、软件驱动13和硬件驱动14,能够访问OS页面84和应用程序页面82。正常执行环-3包括应用程序421到42N,只能访问应用程序页面82。但正常执行环-0 11和环-3 41不能访问多个独立存储区域71。
独立执行环-0 15包括OS核心16和处理器核心18,能够访问多个独立存储区域71和多个非独立存储区域83,多个独立存储区域71包括小应用程序页面72和OS核心页面74,多个非独立存储区域83包括应用程序页面82和OS页面84。独立执行环-3 45包括小应用程序461到46K,只能访问应用程序页面82和小应用程序页面72。小应用程序461到46K驻留在多个独立存储区域71中。
图1D是依照本发明的一种实施方案描述为独立执行分发存储器页面的方法86的流程图。
从START开始,方法86分别分发存储器页面到可访问物理存储器60的不同区域(块87)。页面被分发给独立区域71和非独立区域83。在优选实施方案中页面的大小是固定的。例如,每个页面可以是4MB或4KB。然后,方法86给每个页面分配属性(块88)。如果一个页面被分配给了存储器的一个独立区域,方法86就赋予该页面非独立属性,否则如果一个页面被分配给了存储器的一个非独立区域,方法86就赋予该页面非独立属性。
图1E是依照本发明描述存储器所有权页表77和转换虚拟地址为物理地址的方法的图。如前所述,页面管理器75管理存储器所有权页表77。存储器所有权页表77包括多个页表记录93。每个页表记录93包括下列成分:页面95的基地址和该页面的属性96(独立或非独立)。只有页面管理器75能够更改分配给页面的属性96。每个页面98包括多个物理地址99。当独立和非独立存储区域改变时页面管理器75洗空存储器所有权页表77或使页表记录93无效。页表管理器75随后重新分配并初始化独立和非独立存储区域。
虚地址212包括页表部分91和偏移92。后面将讨论转换虚拟地址212为物理地址99的方法。
图1F是描述在其中实践本发明的一种实施方案的计算机系统100。计算机系统100包括处理器110、主机总线120、存储控制器中心(MCH)130、系统存储器140、输入/输出控制器中心(ICH)150、非易失性存储器或系统闪存160、大容量存储设备170、输入/输出设备175、令牌总线180、主板(MB)令牌182、读入器184和令牌186。MCH 130可以集成到集成了像独立执行模式、主机-到-外设总线接口和存储器控制的芯片组。同样,ICH 150也可以集成到与MCH 130在一起或分开的芯片组中以执行I/O功能。为清楚起见,产未显示所有的外围总线。设想系统100也可以包括外围总线,像外围设备互连(PCI)、加速图形接口(AGP)、工业标准结构(ISA)总线以及通用串行总线(USB)等。
处理器110代表任意类型架构的中央处理单元,例如复杂指令集计算机(CISC)、精简指令集计算机(RISC)、超长指令字(VLIW)以及混合结构。在一种实施方案中,处理器110与Intel架构(IA)的处理器兼容,例如PentiumTM系列、IA-32TM和IA-64TM。处理器110包括正常执行模式112和独立执行电路115。正常执行模式112是处理器在非保护环境或没有由独立执行模式提供的安全特性的正常环境中运行的模式。独立执行电路115提供一种机制允许处理器110以独立执行模式运行。独立执行电路115为独立执行模式提供硬件和软件支持。这种支持包括独立执行的配置、一个或多个独立区域的定义、独立指立的定义(例如,解码和执行)、独立访问总线周期的产生以及独立模式中断的产生。
在一种实施方案中,计算机系统100可能是一个单独的处理器系统,例如桌面型计算机,它只有一个主中央处理单元,例如处理器110。在其它实施方案中,计算机系统100可以包括多个处理器,例如处理器110、110a、110b等,如图1D中所示。因而,计算机系统100可以是有多个处理器的多处理器计算机系统。例如,多处理器计算机系统100能够作为服务器或工作站环境的一部分而运行。下面将详细讨论处理器110的基本描述和操作。本领域的技术人员将认识到依照本发明的一种实施方案处理器110的基本描述和操作可以应用于图1中所示的其它处理器110a和110b以及可能用在多处理器计算机系统100中的任意数量的处理器。
处理器110还可以包括多个逻辑处理器。逻辑处理器有时也称为线程,一个逻辑处理器是一个物理处理器的功能单元,该物理处理器有根据一些划分策略而分配的架构状态和物理资源。在本发明的环境中,术语“线程”和“逻辑处理器”用来指相同的事物。多线程处理器是有多个线程或多个逻辑处理器的处理器。多处理器系统(例如,包括处理器110、110a和110b的系统)可以有多个多线程处理器。
主机总线120提供接口信号以允许处理器110或处理器110、110a和110b和其它处理器或设备(例如,MCH130)通信。除了正常模式之外,当用独立执行模式配置处理器110时主机总线120用存储器读和写的对应接口信号提供独立访问总线模式。当处理器110处在独立执行模式时在启动存储器访问时维持独立访问总线模式。如果地址在独立区域地址范围内并且用独立执行模式配置处理器110时也在指令预取和高速缓冲存储器的写回周期建立独立访问总线模式。如果建立了独立访问总线周期并且处理器110被初始化为独立执行模式,处理器110就响应对独立区域地址范围内缓存的地址的监听周期。
MCH 130提供对存储器和输入/输出设备(例如系统存储器140和ICH 150)的控制和配置。MCH 130提供接口电路来识别和服务存储器访问总线周期(包括独立存储器读和写周期)上的独立访问请求。另外,MCH 130有存储器范围寄存器(例如,基地址和长度寄存器)来表示系统存储器140中的一个或多个独立区域。一旦配置完毕,MCH 130放弃对没有建立独立访问总线的独立区域的任意访问。
系统存储器140存储系统代码和数据。系统存储器140通常是用动态随机访问存储器(DRAM)或静态随机访问存储器(SRAM)实现。系统存储器140包括(图1B和图1C中所示的)可访问物理存储器60。可访问物理存储器包括装入的操作系统142、独立区域70(图1B)或多个独立区域71(图1C)以及独立控制和状态空间148。装入的操作系统142是装入系统存储器140的操作系统部分。装入的OS 142通常是通过像引导只读存储器(ROM)这样的引导设备中的引导代码从大容量存储设备装入的。独立区域70(图1B)或独立区域71(图1C)是在以独立执行模式运行时由处理器定义的存储器区域。对独立区域的访问由处理器110和/或MCH 130或集成了独立区域功能的其它芯片组约束并执行。独立控制和状态空时148是由处理器110和/或MCH 130定义的与输入/输出(I/O)类似的独立的地址空间。独立控制和状态空间148主要包含独立执行控制和状态寄存器。独立控制和状态空间148并不与任意现有的地址空间重叠并且只能用独立总线周期来访问。系统存储器140还可以包括没有显示的其它程序或数据。
ICH 150代表有独立执行功能的系统中已知的单个点。为清楚起见,只显示了ICH 150。系统100还可以有与ICH 150类似的多个ICH。当有多个ICH时,选择一个指定的ICH来控制独立区域的配置和状态。在一种实施方案中,这种选择是由外部带状引脚实现的。本领域的技术人员知道也可以用其它选择方法,包括使用可编程配置寄存器。ICH150有多种设计用来在传统I/O功能外支持独立执行模式的功能。特别地,ICH 150包括独立总线周期接口152、(图1A中所示的)处理器核心装载器52、摘要存储器154、加密密钥存储区155、独立执行逻辑管理器156和令牌总线接口159。
独立总线周期接口152包括和独立总线周期对接的电路以识别并服务独立总线周期,例如独立读和写总线周期。处理器核心装载器152,如图1A中所示,包括处理器核心装载器代码和它的摘要(例如,哈希)值。处理器核心装载器52由执行适当的独立指令(例如,Iso-Init)而启动,然后被传输到独立区域70或独立区域71之一。从独立区域,处理器核心装载器52从系统闪存(例如,非易失性存储器160中的处理器核心代码18)复制处理器核心到独立区域70中,验证并记录它的完整性,并管理用来保护处理器核心的安全的密钥。在一种实施方案中,处理器核心装载器52被实现在只读存储器(ROM)中。为安全起见,处理器核心装载器52是不变的,抗干扰和不可替代的。摘要存储器154通常被实现在RAM中,存储装入的处理器核心18、操作系统核心16以及装入独立空间的任意其它关键模块(例如,环-0模块)的摘要(例如,哈希)值。
加密密钥存储区155保存对系统100的平台唯一的对称加密/解密密钥。在一种实施方案中,加密密钥存储区155包括在制造时编程设定的内部引信。作为选择,也可以用随机数发生器和引脚带创建。独立执行逻辑处理管理器156管理以独立执行模式运行的逻辑处理器的操作。在一种实施方案中,独立执行逻辑处理管理器156包括一个逻辑处理器计数寄存器,它跟踪参入独立执行模式的逻辑处理器的数量。令牌总线接口159和令牌总线180对接。处理器核心装载器摘要、处理器核心摘要、操作系统核心摘要和可选的附加摘要的组合代表整个独立执行摘要,称为独立摘要。独立摘要是识别控制独立执行配置和操作的环-0代码的指纹。独立摘要用来表明或证明当前独立执行的状态。
非易失性存储器160存储非易失信息。通常,非易失性存储器160是实现在闪存中的。非易失性存储器160包括处理器核心18。
处理器核心18提供(系统存储器140中的)独立区域的初始设置和低层管理,包括操作系统核心16的验证、装载和记录,以及对用于保护操作系统核心的安全的对称密钥的管理。处理器核心18也可以提供由其它硬件提供的低层安全性服务的应用程序编程接口(API)抽象。处理器核心18也可以由原始设备制造商(OEM)或操作系统提供商通过引导盘发布。
大容量存储设备170存储像代码(例如,处理器核心18)、程序、文件、数据、应用程序(例如,应用程序421到42N)、小应用程序(例如,applet461到46K)和操作系统这样的存储文件。大容量存储设备170可能包括光盘(CD)ROM 172、软盘174和硬盘176,以及任意其它磁或光存储设备。大容量存储设备170提供读取机读介质的机制。
I/O设备175可以包括任意I/O设备来执行I/O功能。I/O设备175的实例包括输入设备(例如,键盘、鼠标、轨迹球、定位设备)、媒体卡(例如,音频、视频、图形)、网卡的控制器和任意其它外围控制器。
令牌总线180提供ICH 150和系统中的多个令牌之间的接口。令牌是执行带有安全功能的特定输入/输出功能的设备。令牌的特性与智能卡类似,包括至少一个保留目的的公共/私有密钥对和用私有密钥标记数据的能力。与令牌总线180相连的令牌实例包括主板令牌182、令牌读取器184和其它移动令牌186(例如,智能卡)。ICH 150中的令牌总线接口159通过令牌总线180连接到ICH 150并确保被命令证明独立执行的状态时,对应的令牌(例如,主板令牌182、令牌186)只标记有效的独立摘要信息。为安全起见,令牌应该连接到摘要存储器。
当用软件实现时,本发明的元素是执行必要任务的代码段。程序或代码段可以存储在机器可读介质中,例如处理器可读介质,也可以由载波中包含的计算机数字信号传输。处理器可读介质的实例包括电子电路、半导体存储设备、光盘CD-ROM、光盘、硬盘、光纤介质、无线电频率(RF)链路等。计算机数字信号可以包括能够通过像电子网络信道、光纤、空气、电磁介质、RF链路传输介质等传输介质传播的任意信号。
在一个独立执行环境中控制对多个独立存储器的访问
本发明是在一个独立执行环境中控制对多个独立存储器71(如图1C所示)的访问的方法、设备和系统。图2A是依照本发明的一种实施方案描述图1F中所示的独立执行电路115的图。独立执行电路115包括核心执行电路205、访问管理器220和高速缓冲存储器管理器230。
核心执行单元205包括指令译码器和执行单元210以及翻译后援缓冲区(TLB)218。指令译码器和执行单元210从取指令单元接收指令流215。指令流215包括多个指令。指令解码器和执行单元210对指令进行解码并执行解码过的指令。这些指令可以是微指令级或宏指令级。指令解码器和执行单元210可以是物理电路或对解码指令的执行的过程的抽象。另外,指令可以包括独立指令和非独立指令。当存在访问事务时指令解码器和执行单元210产生一个虚拟地址。
TLB 218把虚拟地址212转换成物理地址99。TLB 218包括存储器所有权页表(MOPT)77的高速缓冲219。TLB 218首先在高速缓冲存储器219中查找与虚拟地址12匹配的物理地址以及相关的页表记录。如果物理地址不在高速缓冲存储器219中TBL 218就查找MOP 77自身。TLB 218用MOPT 221的基地址查找物理地址。也参考图1E,从MOPT 221的基地址和虚地址212的页表内容91开始,TLB 218为虚地址212找到页表记录93。如前所述,每个页表记录93包括页面95的基地址和该页的属性96(独立或非独立)。TLB 218用页面95的基地址和虚地址的偏移内容92能够与该虚地址对应的物理地址99。应该知道使用TLB转换虚地址为物理地址是一项众所周知的技术。后面将要讨论要页面的属性96(独立或非独立)在配置独立执行的访问事务中是非常重要的。
再来参考图2A,核心执行电路205通过控制/状态信息222、操作数224和访问信息226与访问管理器220通信。控制/状态信息222包括管理独立总线周期发生器220中的不同部件的控制位以及来自访问管理器220的状态数据。操作数224包括要写入访问管理器220以及从其读取的数据。访问信息226包括地址信息(例如,由TLB218提供的物理地址)、读/写、和访问类型信息。
访问管理器220接收并提供控制/状态信息222,接收并提供操作数224信息,从核心执行电路205接收访问信息226作为指令执行的结果,从高速缓冲存储器管理器230接收高速缓冲存储器访问信号235(例如,高速缓冲存储器命中)和属性96(独立或非独立)。访问管理器220还从系统中的另一个处理器接收外部独立访问信号278和前端总线(FSB)地址信息信号228。当系统中的另一个处理器试图访问独立存储区域之一时建立外部独立访问信号278。访问管理器220产生独立访问信号272、访问许可信号274、和处理器监听访问信号276。独立访问信号272可以用于产生送往处理器外部的设备(例如,芯片组)的独立总线周期230以指示处理器110正在执行独立模式指令。处理器监听访问信号276可以由其它设备或芯片组用来确定监听访问是命中还是氛失独立访问信号272、访问许可信号274和处理器监听访问信号276也可以由处理器110在内部用来控制并监测其它独立或非独立活动。
高速缓冲存储器存储管理器230从核心执行单元205接收访问信息226并产生高速缓冲存储器访问信号235给访问管理器220。像本领域的技术人员知道的那样,高速缓冲存储器存储管理器230包括存储高速缓冲存储器信息的高速存储器232和管理高速缓冲存储器事务的其它电路。高速缓冲存储器访问信号235指示高速缓冲存储器访问的结果。在一种实施方案中,高速缓冲存储器访问信号235是在高速缓冲存储器访问命中时建立起来的高速缓冲存储器命中信号。
图2B是依照本发明的一种实施方案描述图2A中所示的访问管理器的图。访问管理器220包括配置存储区250和访问检查电路270。访问管理器220与图2A中所示的核心执行电路205交换操作数224信息并从其接收访问信息226。操作数224信息包括与物理地址99相联的页面的属性96(独立或非独立)。访问管理器220还从高速缓冲存储器管理器230接收高速缓冲存储器访问信号235,并从图2A中所示的另一个处理器接收外部独立访问信号278和FSB地址信息228。访问管理器220还从高速缓冲存储器管理器230接收属性96(独立或非独立)。属性位于每个高速缓冲存储器行基础上。访问信息226包括物理地址99、读/写(RD/WR#)信号284和访问类型286。访问信息226是由处理器110在访问事务期间产生的。访问类型286指示访问类型,包括存储器引导、输入/输出引导和逻辑处理器访问。逻辑处理器访问包括独立激活状态的逻辑处理器记录和从独立激活状态退出的逻辑处理器。
配置存储区250包含配置由处理器110产生的访问事务的配置参数。处理器110有正常执行模式和独立执行模式。访问事务拥有访问信息。配置存储区250从指令译码器和执行单元210(图2A)接收操作数224信息。配置存储区250包括页面251的属性寄存器和处理器控制寄存器252。属性寄存器251包含与设置为独立或非独立的物理地址相关的页面的属性96。处理器控制寄存器252包含执行模式字253。当用独立执行模式配置处理器110时建立执行模式字253。在一种实施方案中,执行模式字253是指示处理器110是否处于独立执行模式的一个单一位。
访问检查电路270用至少一个配置参数(例如,执行模式字253和属性96)和访问信息226检查访问事务。访问检查电路270用配置存储区250中的至少一个参数、由处理器110产生的事务中的访问信息226和FSB地址信息228产生处理器独立访问信号272、访问许可信号274和处理器监听访问信号276。FSB地址信息228通常是由另一个处理器提供并且在FSB上被监听。当用独立执行模式配置处理器110时建立独立访问信号272。访问许可信号274用来指示访问已经被允许。处理器监听访问信号276用来确定来自另一个处理器的访问导致命中或缺失。
图3A是依照本发明的一种实施方案描述访问检查电路270的图。访问检查电路270包括TLB访问检查电路310和FSB监听检查电路330。
TLB访问检查电路310接收属性96和执行模式字253来产生访问许可信号274。当属性96被设置为独立并且建立执行模式字253以指示独立访问有效或允许这样配置时建立访问许可信号274。在一种实施方案中,TLB访问检查电路310执行逻辑“异或”操作。因而是,当处理器请求独立区域的一个物理地址时,仅当处理器以独立执行模式运行并且与该物理地址相关联的页的属性也被设置为独立时,才允许该访问事务。
FSB监听检查电路330执行与TLB访问检查电路310类似的功能。FSB监听检查电路330通过组合高速缓冲存储器访问信号235、外部独立访问信号278和属性96产生处理器监听访问信号276。FSB监听检查电路330包括第一组合器342和第二组合器344。第一组合342从高速缓冲存储器存储管理器230接收要监听的线路的属性96(独立或非独立),并从执行监听的另一个处理器接收外部独立访问信号278。该属性们于每个高速缓冲存储器行基础上。在一种实施方案中,第一组合器342执行逻辑“异或”操作。第二组合器344组合第一组合器342的结果和高速缓冲存储器访问信号235(例如,高速缓冲存储器命中)。在一种实施方案中,第二组合器344执行逻辑AND操作。因而,当监听处理器以独立执行模式运行、页属性被设置为独立并且高速缓冲存储器命中时一个处理器只能在来自独立区域的另一个处理器的线路上监听。仅当满足条件时才允许访问事务并为独立区域产生处理器监听访问信号276。
当没有为独立存储器区域访问初始化所有处理器时FSB监听检查电路330确保微处理器系统中的正确功能。X-NOR部件342确保监听命中只从已经允许独立访问的处理器发生。如果一个处理器还没有参与独立存储区域的访问,就不会允许它监听另一个参与独立存储区域访问的处理器的线路输出。同样,已经为独立访问而激活的处理器不会不经意地监听没有激活的另一个处理器的线路输出。
当建立了高速缓冲存储器访问信号235指示高速缓冲存储器命中并建立外部独立访问信号278以及属性96被设置为独立时建立独立区域的处理器监听访问信号276。
图3B是依照本发明的一种实施方案描述管理逻辑处理器操作的访问检查电路270的图。访问检查电路270包括逻辑处理器管理器360。
一个物理处理器可以有多个逻辑处理器。每个逻辑处理器可以进入或退出独立处理器状态,称为逻辑处理器访问。逻辑处理器访问通常是在对应的逻辑处理顺执行独立指令时产生的,例如独立进入(iso_enter)和独立退出(iso_exit)。逻辑处理器360管理由逻辑处理器访问导致的逻辑处理器操作。实际上,逻辑处理器管理器360跟踪一个处理器中激活的逻辑处理器的数量。逻辑处理器管理器360包括逻辑处理器寄存器370、逻辑处理器状态激活器382、逻辑处理器更新器380、最小探测器374和最大探测器376。逻辑处理器寄存器370存储逻辑处理器寄数372以指示当前激活的逻辑处理器的数量。当逻辑处理器访问有效时逻辑处理器状态激活器382激活逻辑处理器状态。逻辑处理器更新器380根据逻辑处理器访问更新逻辑处理器计数372。逻辑处理器更新器380由激活的逻辑处理器状态激活。在一种实施方案中,逻辑处理器寄存器370和逻辑处理器更新器380被实现为带激活信号的上/下计数器。最小检测器确定逻辑处理器计数372是否等于逻辑处理器数(例如,0)。最大检测器376确定逻辑处理器计数372是否超出最大逻辑处理器数。最大逻辑处理器数指示处理器110中的独立执行模式所支持的最大逻辑处理器数。
逻辑处理器更新器380在系统重启时初始化逻辑处理器寄存器370。当访问事务与逻辑处理器入口对应时逻辑处理器更新器380以第一方向(即,增加)更新逻辑处理器计数372。当访问事务与逻辑处理器出口或逻辑处理器后退对应时逻辑处理器更新器380以和第一方向相反的第二方向(即,减少)更新逻辑处理器计数372。当逻辑处理器计数372等于最小逻辑处理器数时,逻辑处理器管理器360使处理器110通过把高速缓存器232(图2A)写回主存储器来清空它,并使来自所有独立信息的独立设置寄存器(图2A)在这些存储段中恢复初始状态。当逻辑处理器计数372超过最大逻辑处理器数时,逻辑处理器管理器360使处理器110产生失败或缺失条件,因为逻辑处理器的总数超过处理器中能够支持的逻辑处理器的最大数。
图4是依照本发明的一种实施方案描述为独立执行产生访问许可信号的方法400。
从START开始,方法400分发页面到多个独立存储区域(块410)。然后,方法400在处理器控制寄存器中建立执行模式字以便用独立执行模式配置处理器(块420)。方法400然后从来自处理器的访问事务接收访问信息(块425)。访问信息包括物理地址(由TLB提供、页面属性(独立/非独立)和访问类型。接着,方法400确定属性是否被设置为独立以及是否建立了执行模式字(指示设置为独立)(块430)。如果不是,方法400就产生一个失败或错误条件(块435)并结束。否则,方法400建立访问许可信号(块440)。然后方法400结束。
图5是描述依照本发明的一种实施方案管理独立执行的逻辑处理器操作的过程500的流程图。
从START开始,当没有激活的逻辑处理器时过程500初始化逻辑处理器寄存器(块510)。然后过程500执行一个逻辑处理器访问指令(例如,iso_enter、iso_exit)。逻辑处理器访问指令建立执行模式字。接着,过程500激活逻辑处理器状态(块525)。然后,过程500确定逻辑处理器访问类型(块530)。
如果逻辑处理器访问类型是一个逻辑处理器入口,过程500以第一方向(例如,增加)更新逻辑处理器计数(块540)。然后,过程500确定逻辑处理器计数是否超过了最大逻辑处理器数(块550)。如果没有,过程500就流经块570。否则,过程500产生一个失败或错误条件(块560)并结束。
如果逻辑处理器访问类型是逻辑处理器出口或逻辑处理器后退时,过程500以和第一方法相反的第二方向(例如,减少)更新逻辑处理器计数(块545)。然后,过程500确定逻辑处理器计数是否等于最小值(例如,0)(块555)。如果不是,过程500流经块570。否则,过程500从所有独立信息初始化高速缓存器和独立设置寄存器。(块565)。
接着,过程500判断下一个逻辑寄存器访问(块570)。如果有下一个逻辑处理器访问,过程500返回块520以执行逻辑处理器访问指令。如果没有其它逻辑处理器访问,过程500结束。
在一个独立执行环境中控制对多个独立存储器的访问
上面的描述指的是处理器110中的独立执行过程。对图1C中所示的多个独立存储区域71的访问由MCH 130(图1F)进一步控制。参考图1F,处理器110把MCH 130看作映射到一个地址单元的输入/输出设备。为了访问独立存储区域70,尤其是多个独立存储区域71(图1C),处理器110需要配置MCH 130中的存储器配置存储区。MCH 130还包括允许处理器110访问多个独立存储区域83中的存储器140的控制功能。MCH 130通过主机总线120从处理器110接收信号(例如独立访问信号)或总线周期信息。
在图1F中,MCH 130被描述为在处理器110之外。但也可以把MCH130包括在处理器110之中。这种情况下,要使MCH 130中的寄存器的写周期具体化以允许任意外部高速缓冲存储器参与高速缓冲存储器一致性。
本质上,MCH 130中的访问控制器执行与图3A中所示的访问检查电路270类似的功能。通过维持处理器110和MCH 130中的访问一致性,可以更紧密地控制对存储器的访问。MCH 130中的访问控制器确定来自处理器110的访问事务是否有效。如果有效,访问控制器返回一个访问许可信号以允许完成访问事务。否则,就产生一个失败或错误条件。另外,MCH 130中的访问控制器还保护对它配置和控制存储区的有意或无意的定。因为MCH 130是和存储器140直接接合,访问控制器还在重启时提供对独立存储区域和它自己的内部存储区的内容的初始化。
图6是依照本发明的一种实施方案描述图1F中所示的存储控制器中心(MCH)130中的独立区域访问控制器135。访问控制器135包括配置存储区610、配置控制器640和MCH地址检查电路810。
配置存储区610配置由图1F中的处理器110产生的访问事务。处理器110有正常执行模式和独立执行模式。访问事务拥有访问信息660。访问信息660由主机总线120(图1F)传送并且包括地址信息和独立访问状态。地址信息由物理地址662表示。独立访问状态由独立访问信号664表示。独立访问信号664实际上等价于图2A中所示的处理器独立访问信号272。当处理器110产生对(图1C中所示的)多个独立存储区域71其中之一的有效引用时建立独立访问信号664。
配置存储区610包括存储器所有权页表(MOPT)77的高速缓冲存储器660。配置存储区610在高速缓冲存储器660中为物理地址662执行查找工作以找到该物理地址和相关页表记录。如果该物理地址不在高速缓冲存储器219中配置存储区610就在MOPT 77(图1E)自身中为物理地址662执行查找。配置存储区610使用MOPT 221的基地址在MOPT 77中查找物理地址662。也参考图1E,配置存储区610从MOPT221的基地址开始执行对MOPT 77的查找并找到与物理地址662相关的页表记录93。配置存储区能够查找页面98的物理地址来定位与该物理地址相关的页表记录93。每个页表记录93包括和为MCH 130配置访问事务非常重要的物理地址相关的页面的属性96(独立或非独立)。应该理解在页表中执行查找以个物理地址和相关页表记录在本领域中是一项众所周知的技术,在本领域技术人员的知识范围中其它查找方法也可以使用。
配置存储区250还包含配置由MCH 130产生的访问事务的配置参数。配置存储区包括与查找找到的被设置为独立或非独立的物理地址相关的页面的属性96。如前所述,只有独立执行模式下的处理器110能够访问独立存储区域71。
配置控制器640控制对配置存储区610的访问并向存储器140提供一些控制功能。
MCH访问检查电路810用访问信息660、属性96、独立访问信号664和独立存储器优先级736产生访问许可信号652。访问许可信号652指示访问事务是否有效。访问许可信号652可以由处理器110或其它芯片组或其它设备产生以确定是否允许访问独立存储区域71的企图。
图7是依照本发明的一种实施方案描述图6中所示的MCH访问检查电路810的图。
MCH访问检查电路810根据属性96和独立访问信号664产生访问许可信号652。访问许可信号652指示访问事务是否有效。MCH访问检查电路810接收属性96和独立访问信号664以产生访问许可信号652。当属性96被设为独立并建立了指示独立访问有效或允许这样配置的独立访问信号664时建立访问许可信号652。在一种实施方案中,MCH访问检查电路810执行逻辑“异或”操作。因而,当处理器请求独立区域的一个物理地址时,仅当处理器以独立执行模式运行并且与该物理地址相关的页面的属性被设为独立时,才许可该访问事务。
图8是依照本发明的一种实施方案描述为MCH的独立执行配置访问事务的过程800。
从START开始,过程800为MCH配置访问事务(块810)。然后,过程800从访问事务接收访问信息(块820)。访问信息包括物理地址、独立访问信号和页面属性(独立/非独立)。接着,过程800确定该属性是否被设置为独立以及是否建立了独立访问信号(块830)。如果条件不满足,过程800产生一个失败或错误条件(块835)并结束。否则,过程800建立访问许可信号(块840)。然后过程800结束。
虽然我们是参考说明性的实施方案对本发明进行了描述,但这些描述并不是为了限制本发明。对本发明所适合的本领域的技术人员来说显而易见的对说明性实施方案的不同更改以及本发明的其它实施方案都被认为在本发明的精神和范围内。

Claims (40)

1、一种设备包括:
分别分发多个页面到存储器的多个不同区域的页面管理器,存储器分为独立区域和非独立区域,页面管理器位于存储器的一个独立区域中;和
位于存储器的一个独立区域中的存储器所有权页表,存储器所有权页表描述存储器的每个页。
2、权利要求1的设备,其中如果一个页面被分配到了存储器的一个独立区域页面管理器就分配给该页独立属性。
3、权利要求2的设备,其中如果一个页面被分配到了存储器的一个非独立区域页面管理器就分配给它非独立属性,存储器所有权页表记录每个页面的属性。
4、权利要求3的设备还包括:
配置存储区,包含配置由有正常执行模式和独立执行模式的处理器产生的访问事务的配置设置,访问事务拥有访问信息;和
与配置存储区耦合的访问检查电路,负责用配置设置和访问信息中的至少一个检查访问事务。
5、权利要求4的设备,其中配置设置包括页面属性和执行模式字。
6、权利要求5的设备,其中访问信息物理地址和访问类型,访问类型指示访问事务是存储器访问、输入/输出访问或逻辑处理器访问。
7、权利要求5的设备,其中配置存储区还包括属性存储区,属性存储区包含定义页面为独立或非独立的属性。
8、权利要求5的设备,其中配置存储区还包括处理器控制寄存器以包含执行模式字,执行模式字是在处理器在独立执行模式中被配置时由处理器建立的。
9、权利要求5的设备,其中访问检查电路包括TLB访问检查电路来检测页面的属性是否被设置成独立以及是否建立了执行模式字,TLB访问检查电路产生访问许可信号。
10、权利要求5的设备,其中访问检查电路包括与高速缓冲存储器耦合的FSB监听检查电路,FSB监听检查电路组合属性、来自另一处理器的外部独立访问信号和高速缓冲存储器访问信号,FSB监听检查电路产生处理器监听访问信号。
11、一种方法包括:
使用页面管理器分别分发多个页面到存储器的多个不同区域,存储器分为独立区域和非独立区域,页面管理器位于存储器的一个独立区域中的;和
描述存储器的每个页面。
12、权利要求11的方法,其中描述存储器的每个页面包括在一个页面被分配到存储器的一个独立区域时给它分配独立属性。
13、权利要求12的方法,其中描述存储器的每个页面还包括:
如果一个页面被分发到存储器的一个非独立区域给它分配非独立属性;和
在存储器所有权页表中记录每个页面的属性。
14、权利要求13中的方法还包括:
配置由拥有包含配置设置的配置存储区的处理器产生的访问事务,处理器有正常执行模式和独立执行模式,访问事务拥有访问信息;和
由访问检查电路用配置设置和访问信息中的至少一种检查访问事务。
15、权利要求14的方法,其中配置设置包括页面属性和执行模式字。
16、权利要求15的方法,其中访问信息包括物理地址和访问类型,访问类型指示访问事务是存储器访问、输入/输出访问或逻辑处理器访问。
17、权利要求15的方法,其中配置访问事务还包括:
设置页面的属性为独立或非独立;并且在配置存储区内的属性存储区中存储属性。
18、权利要求15的方法,其中配置访问事务还包括当处理器被配置为独立执行模式时在处理器控制存储器中建立执行模式字。
19、权利要求15的方法,其中检查访问事务包括:
检查页面的属性是否被设置成了独立;
检测是否建立了执行模式字;和
产生访问许可信号。
20、权利要求15的方法,其中检查访问事务包括:
组合属性、来自另一处理器的独立访问信号和高速缓冲存储器访问信号;和
产生处理器监听访问信号。
21、一种计算机程序产品包括:
机器可读介质,包括这里实现的计算机程序代码,计算机程序产品包括:
用于分别分发多个页面到存储器的多个不同区域的计算机可读程序代码,存储器分为非独立区域和独立区域,页面管理器位于存储器的一个独立区域;和
描述存储器的每个页面的计算机可读程序代码。
22、权利要求21的计算机程序产品,其中用于描述存储器的每个页面的计算机可读代码包括如果一个页面被分配到存储器的一个独立区域时赋予该页面非独立属性的计算机可读程序代码。
23、权利要求22的计算机程序产品,其中描述存储器的每个页面的计算机可读代码还包括:
如果一个页面被分配到存储器的一个非独立页面时赋予该页面非独立属性的计算机可读程序代码;和
在存储器所有权页表中记录每个页面的属性的计算机可读程序代码。
24、权利要求24的计算机程序产品还包括:
用于配置由拥有包含配置设置的配置存储区的处理器产生的访问事务的计算机可读程序代码,处理器有正常执行模式和独立执行模式,访问事务拥有访问信息;和
由访问检查电路用配置设置和访问信息中的至少一个检查访问事务的计算机可读程序代码。
25、权利要求24的计算机程序产品,其中配置设置包括页面属性和执行模式字。
26、权利要求25的计算机程序产品,其中访问信息包括物理地址和访问类型,访问类型指示访问事务是存储器访问、输入/输出访问或逻辑处理器访问。
27、权利要求25的计算机程序产品,其中配置访问事务的计算机程序代码还包括:
用于设置页面属性为独立或非独立属性的计算机可读程序代码;和用于在配置存储区中的属性存储区中存储属性的计算机程序代码。
28、权利要求25的计算机程序产品,其中配置访问事务的计算机可读程序代码还包括当在以独立执行模式配置处理器时建立存储在处理器控制寄存器中的执行模式字的计算机可读程序代码。
29、权利要求25的计算机程序产品,其中检查访问事务的计算机可读程序代码包括:
检测页面属性是否被设置成独立的计算机可读程序代码;
检测是否建立执行模式字的计算机可读程序代码;和
产生访问许可信号的计算机可读程序代码。
30、权利要求25的计算机程序产品,其中检查访问事务的计算机可读程序代码包括:
产生处理器监听访问信号的计算机可读程序代码。
31、一种系统包括:
芯片组;
耦合到芯片组的存储器;
耦合到芯片组和存储器的处理器,该处理器有独立执行模式和正常执行模式;
在处理器控制下运行的页面管理器,页面管理器分别分发多个页面到存储器的多个不同区域,存储器分为独立区域和非独立区域的存储器,页面管理器存储器的一个独立区域中的页面管理器;和
位于存储器的一个独立区域中的存储器所有权页表,存储器所有权页表描述存储器的每个页面。
32、权利要求31的系统,其中页面管理器在一个页面被分发到存储器的一个独立区域时给赋予该页面独立属性。
33、权利要求32的系统,其中当一个页面被分发到存储器的一个非独立区域时页面管理器赋予该页面非独立属性,存储器所有权页表记录每个页面的属性。
34、权利要求33的系统还包括:
包含配置由有正常操作模式和独立操作模式的处理器产生的访问事务的配置设置的配置存储区,访问事务拥有访问信息;和
与配置存储耦合并用配置设置和访问信息的至少一种检查访问事务的访问检查电路。
35、权利要求34的系统,其中配置设置包括页面属性和执行模式字。
36、权利要求35的系统,其中访问信息包括物理地址和访问类型,访问类型指示访问事务是存储器访问、输入/输出访问或逻辑处理器访问。
37、权利要求35的系统,其中配置存储区还包括属性存储区以包含定义页面为独立或非独立的页面属性。
38、权利要求35的系统,其中配置存储区还包括处理器控制寄存器以包含执行模式字,执行模式字是在用独立执行模式配置处理器时建立的。
39、权利要求35的系统,其中访问检查电路包括TLB访问检查电路以检测页面的属性是否被设置为独立以及是否建立了执行模式字,TLB访问检查电路产生访问许可信号。
40、权利要求35的系统,其中访问检查电路还包括与高速缓冲存储器耦合的FSB监听检查电路,FSB监听检查电路组合属性、来自另一处理器的外部独立访问信号和高速缓冲存储器访问信号,FSB监听检查电路产生处理器监听访问信号。
CNB018158838A 2000-07-18 2001-07-13 在一个独立执行环境中控制对多个独立存储器的访问 Expired - Lifetime CN1252597C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/618,738 2000-07-18
US09/618,738 US6678825B1 (en) 2000-03-31 2000-07-18 Controlling access to multiple isolated memories in an isolated execution environment

Publications (2)

Publication Number Publication Date
CN1459059A true CN1459059A (zh) 2003-11-26
CN1252597C CN1252597C (zh) 2006-04-19

Family

ID=24478929

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018158838A Expired - Lifetime CN1252597C (zh) 2000-07-18 2001-07-13 在一个独立执行环境中控制对多个独立存储器的访问

Country Status (8)

Country Link
JP (1) JP3982687B2 (zh)
CN (1) CN1252597C (zh)
AU (1) AU2001271996A1 (zh)
DE (1) DE10196440B4 (zh)
GB (1) GB2381626B (zh)
HK (1) HK1052237B (zh)
TW (1) TW526416B (zh)
WO (1) WO2002006929A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102157187A (zh) * 2006-10-05 2011-08-17 诺基亚公司 包括存储器管理器的3d芯片布置
CN101952808B (zh) * 2008-02-28 2015-03-25 内存技术有限责任公司 存储设备的扩展利用区域
CN106528453A (zh) * 2015-09-10 2017-03-22 中国航空工业第六八研究所 基于复合尺度页的页表分区管理装置和方法
CN107209722A (zh) * 2015-02-23 2017-09-26 英特尔公司 用于在安全飞地页面高速缓存中使安全飞地的进程分叉和建立子飞地的指令和逻辑

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2378005A (en) * 2001-07-27 2003-01-29 Chien-Tzu Hou Method for Controlling Paged Memory Access Attributes
US7571318B2 (en) * 2002-03-27 2009-08-04 Advanced Micro Devices, Inc. Method and apparatus for improved security in a data processor
US7325115B2 (en) * 2003-11-25 2008-01-29 Microsoft Corporation Encryption of system paging file
EP1544820B1 (en) * 2003-12-11 2013-07-31 Atos Worldline S.A. Electronic data processing device
KR100917290B1 (ko) * 2004-06-24 2009-09-11 인텔 코오퍼레이션 신뢰 플랫폼 모듈의 보안 가상화를 위한 방법 및 장치
US7590867B2 (en) 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
US7636442B2 (en) 2005-05-13 2009-12-22 Intel Corporation Method and apparatus for migrating software-based security coprocessors
US7613921B2 (en) 2005-05-13 2009-11-03 Intel Corporation Method and apparatus for remotely provisioning software-based security coprocessors
US7587595B2 (en) 2005-05-13 2009-09-08 Intel Corporation Method and apparatus for providing software-based security coprocessors
US7571312B2 (en) 2005-05-13 2009-08-04 Intel Corporation Methods and apparatus for generating endorsement credentials for software-based security coprocessors
US8074262B2 (en) 2005-05-13 2011-12-06 Intel Corporation Method and apparatus for migrating virtual trusted platform modules
US8108668B2 (en) 2006-06-26 2012-01-31 Intel Corporation Associating a multi-context trusted platform module with distributed platforms
US9280659B2 (en) 2006-12-29 2016-03-08 Intel Corporation Methods and apparatus for remeasuring a virtual machine monitor
US8060876B2 (en) 2007-08-10 2011-11-15 Intel Corporation Methods and apparatus for creating an isolated partition for a virtual trusted platform module
US8064605B2 (en) 2007-09-27 2011-11-22 Intel Corporation Methods and apparatus for providing upgradeable key bindings for trusted platform modules
US8249257B2 (en) 2007-09-28 2012-08-21 Intel Corporation Virtual TPM keys rooted in a hardware TPM
US8584229B2 (en) 2007-12-21 2013-11-12 Intel Corporation Methods and apparatus supporting access to physical and virtual trusted platform modules
CN103209212B (zh) * 2013-03-22 2015-09-16 烽火通信科技股份有限公司 基于RIA的Web网管客户端中的数据缓存方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469556A (en) * 1989-12-12 1995-11-21 Harris Corporation Resource access security system for controlling access to resources of a data processing system
US5075842A (en) * 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
EP0600112A1 (de) * 1992-11-30 1994-06-08 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
US6542919B1 (en) * 1996-03-22 2003-04-01 Koninklijke Philips Electronics N.V. Operating system for use with protection domains in a single address space
DE19735948C1 (de) * 1997-08-19 1998-10-01 Siemens Nixdorf Inf Syst Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung
US6507904B1 (en) * 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US6795905B1 (en) * 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102157187A (zh) * 2006-10-05 2011-08-17 诺基亚公司 包括存储器管理器的3d芯片布置
CN102157187B (zh) * 2006-10-05 2014-04-30 诺基亚公司 用于管理芯片中的存储器资源的方法与设备
CN101952808B (zh) * 2008-02-28 2015-03-25 内存技术有限责任公司 存储设备的扩展利用区域
CN107209722A (zh) * 2015-02-23 2017-09-26 英特尔公司 用于在安全飞地页面高速缓存中使安全飞地的进程分叉和建立子飞地的指令和逻辑
CN107209722B (zh) * 2015-02-23 2021-06-22 英特尔公司 处理器、处理系统和用于指令执行的方法
CN106528453A (zh) * 2015-09-10 2017-03-22 中国航空工业第六八研究所 基于复合尺度页的页表分区管理装置和方法

Also Published As

Publication number Publication date
JP3982687B2 (ja) 2007-09-26
GB2381626A (en) 2003-05-07
AU2001271996A1 (en) 2002-01-30
GB0303644D0 (en) 2003-03-19
DE10196440B4 (de) 2006-03-23
WO2002006929A2 (en) 2002-01-24
JP2004504663A (ja) 2004-02-12
GB2381626B (en) 2005-02-09
WO2002006929A3 (en) 2002-04-25
CN1252597C (zh) 2006-04-19
DE10196440T5 (de) 2004-04-29
HK1052237B (zh) 2005-06-03
HK1052237A1 (zh) 2003-09-05
TW526416B (en) 2003-04-01

Similar Documents

Publication Publication Date Title
CN1459059A (zh) 在一个独立执行环境中控制对多个独立存储器的访问
CN1308783C (zh) 用于隔离执行隔离指令的装置、方法和系统
US6934817B2 (en) Controlling access to multiple memory zones in an isolated execution environment
US12423481B2 (en) Secure master and secure guest endpoint security firewall
US6795905B1 (en) Controlling accesses to isolated memory using a memory controller for isolated execution
CN102129410B (zh) 提供扩展的存储器保护
EP2537097B1 (en) Storing secure mode page table data in secure and non-secure regions of memory
US8812792B2 (en) Technique for using memory attributes
CN101276388B (zh) 保护系统管理模式(smm)空间免受高速缓存攻击
US7013484B1 (en) Managing a secure environment using a chipset in isolated execution mode
US20060047959A1 (en) System and method for secure computing
Yan et al. Secdir: a secure directory to defeat directory side-channel attacks
CN109002706A (zh) 一种基于用户级页表的进程内数据隔离保护方法和系统
WO2016137579A1 (en) Return oriented programming attack detection via memory monitoring
US12339789B2 (en) Memory access determination
US12210408B2 (en) Remapping at least one of a guard tag and an address tag associated with a target address to generate a remapped tag for use in tag checking
Kim et al. Uc-check: Characterizing micro-operation caches in x86 processors and implications in security and performance
US7594042B2 (en) Effective caching mechanism with comparator coupled to programmable registers to store plurality of thresholds in order to determine when to throttle memory requests
US12013782B2 (en) Processor with protection of an isolated memory and protection method for the isolated memory accessible only by a trusted core
CN100367246C (zh) 使用目标安全的输入输出装置的多表式存取方法及装置

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
CX01 Expiry of patent term

Granted publication date: 20060419

CX01 Expiry of patent term