CN110442536B - 基于对象的存储器访问中的静态标识 - Google Patents
基于对象的存储器访问中的静态标识 Download PDFInfo
- Publication number
- CN110442536B CN110442536B CN201811036644.0A CN201811036644A CN110442536B CN 110442536 B CN110442536 B CN 110442536B CN 201811036644 A CN201811036644 A CN 201811036644A CN 110442536 B CN110442536 B CN 110442536B
- Authority
- CN
- China
- Prior art keywords
- address
- predetermined width
- computer system
- identifier
- predetermined
- 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.)
- Active
Links
- 230000003068 static effect Effects 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 5
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical compound [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 229910052697 platinum Inorganic materials 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 230000005923 long-lasting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- 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/1425—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 physical, e.g. cell, word, block
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
一种计算机系统,具有第一预定宽度的地址系统,其中地址系统中的第一预定宽度的每个地址包括标识了对象的第一部分和标识了相对于对象的偏移量的第二部分,其中第一部分的静态标识符被预定以标识具有小于第一预定宽度的第二预定宽度的地址空间,或者标识内核对象的空间。
Description
相关申请
本申请要求于2018年5月2日提交的美国临时专利申请序列号62/665,936 并且题为“Static Identifications in Object-based Memory Access”的申请日的权益, 其申请的全部公开通过引用并入本文。
本申请涉及与本申请同一天提交的且题为“Securing Conditional SpeculativeInstruction Execution”(代理人案卷号120426-062101/US)的美国专利申请,其 要求于2018年5月2日提交的并且题为“Static Identifications in Object-based MemoryAccess”美国临时专利申请序列号为62/665,743的提交日的权益,其申 请全部公开在此通过引用并入本文。
技术领域
本文所公开的至少一些实施例一般涉及计算机架构,并且更具体地但不限 于涉及用于计算机处理器的存储器地址。
背景技术
计算系统中的存储器地址标识了计算系统中的存储器位置。存储器地址是 通常被显示和被操作为无符号整数的固定长度的数字序列。数字或位的序列的 长度可以被认为是存储器地址的宽度。存储器地址可以在中央处理单元(CPU) 的某些结构(诸如指令指针(或程序计数器)和存储器地址寄存器)中被使用。 CPU的这种结构的大小或宽度通常确定了在这种CPU中所使用的存储器地址的 长度。
附图说明
实施例借由示例的方式被示出而在附图中不受限制,在附图中相同的附图 标记表示类似的元件。
图1示出了根据一个实施例的使用地址系统的计算机系统。
图2示出了图1的地址系统中的静态对象标识。
图3和4示出了使用静态对象标识来映射不同地址空间的地址。
具体实施方式
本公开包括在指令集(例如,128位指令)的预定宽度(例如,128位)的 地址中使用静态对象标识号来表示某些类型的对象的技术,所述对象诸如内核 对象、使用由其他指令集(例如,64位指令、32位指令)生成和/或使用的较小 宽度(例如,64位、32位)的地址的对象等等。通常,可以使用各种处理器中 的各种指令集(例如,128位指令、64位指令、32位指令)来生成预定宽度(例 如,128位)的地址,这些处理器可以使用这样的指令集来生成和/或使用预定 宽度(例如,128位)的地址。因此,预定宽度(例如,128位)不限于特定类 型的指令集和/或特定宽度的指令。
图1示出了根据一个实施例的使用地址系统的计算机系统。
在图1中,处理器(101)(例如,微处理器或CPU)具有执行单元(103), 其用于执行根据可以生成128位虚拟存储器地址的一个或多个指令集(例如, 128位指令集)而被编程的指令(例如,105)的操作。
128位指令集的示例是由RISC-V基金会标识出的RISC-V指令集的RV128。
处理器(101)被配置有预定宽度(诸如128位)的寄存器(例如,102)。 处理器(101)可以获取预定宽度的指令(105),并使用执行单元(103)对指 令(105)中所提供的数据和/或在指令(105)中标识出的一个或多个寄存器(例 如,102)中所提供的数据执行操作,并且在适用时,将由指令(105)标识出 的操作的结果存储在指令(105)中标识出的寄存器中。
寄存器(例如,102)可以包括预定宽度(例如,128位)的存储器寄存器 和/或预定宽度(例如,128位)的指令指针(或程序计数器)。
例如,指令可以根据指令集的预定规范而被编码,以执行整数计算(例如, 加、或异或)、以执行控制传输(例如,跳转、分支)、以在使用预定宽度的地 址(例如,111)所指定的存储器位置处加载来自存储器的数据/指令、或者以将 数据存储在使用预定宽度(例如,128位)的地址(例如,111)所指定的存储 器位置处。
例如,地址(111)可被用于标识将指令存储在计算机系统中的存储器位置; 并且地址(111)可以被放置在指令指针(或程序计数器)中以标识由处理器(101) 执行的指令。
例如,地址(111)可被用于标识将数据项存储在计算机系统中的存储器位 置;并且地址(111)可以被放置在存储器寄存器中以标识要由处理器(101) 在执行指令时操作的数据。
通常,128位指令集可以寻址128位地址空间。类似地,64位指令集可以 寻址64位地址空间;以及32位指令集可以处理32位地址空间。
在某些情况下,64位指令(例如,125)(或32位指令(例如,126))也可 以生成和/或使用128位地址(例如,111)。例如,当128位地址被存储在地址 寄存器(例如,102)中时,在处理器(101)(和/或另一个处理器)中所执行的 64位指令(125)(或32位指令(126))可以对128位地址(111)进行操作或 使用128位地址(111)和/或生成另一个128位地址。因此,存储器地址的宽度 不一定受生成或使用存储器地址的指令的宽度限制。
在图1所示的计算机系统中,128位地址(111)被配置为包括两个部分: 64位对象ID(113)和相对于由对象ID(113)标识出的对象的64位偏移量(115)。 例如,偏移量(115)可以是字节偏移量。
64位偏移量(115)可被用于索引诸如程序计数器、堆栈指针,用于从存储 器位置加载数据和/或指令,或用于将数据存储在该位置处。存储器位置可以是 在经由一个通信信道(例如,存储器总线)被连接到处理器(101)的主存储器 (107)中,或者在经由另一个通信信道(例如,通过网络109)被连接到处理 器的存储装置(119)中。
图1示出了128位地址的示例结构。其他大小选择可以被实施以具有对象 ID(113)和相对于由对象ID标识出的对象的偏移量(113)的结构。例如,地 址的宽度可以不同于128位。例如,对象ID(113)和偏移量(115)可以被配 置为具有不同的位数。
通常,图1中所示的128位地址系统可以被配置为独立于指令集架构,使 得具有不同指令集的不同处理器(例如,103)的不同供应商可以使用相同的地 址系统。使用地址(128)进行的存储器访问请求可以通过存储器总线、输入/ 输出总线和/或网络(109)在计算机系统中像路由互联网协议(IP)分组那样被 路由。优选地,存储器/存储位置与地址(111)之间的关联在时间和空间上是持 久的。
响应于指令(105、125或126),处理器(101)可以访问由被存储在寄存 器(102)中的128位存储器地址(111)标识出的数据项。地址(111)的对象 ID(113)可用于标识具有不同名称的对象。这样的对象可以是具有由集中名称 服务器(117)所控制、分配、发布和/或注册的名称的软件或硬件结构。名称服 务器(117)可以经由计算机网络(109)被耦合到处理器(101);并且由对象 ID(113)表示的对象(例如,121或123)可以是在经由存储器总线而被耦合 到处理器(101)的存储器(107)中、或者是在经由网络(109)被耦合到处理 器(101)的存储装置(119)中、或者是在网络(109)上被耦合到另一个处理 器的存储器中。
由地址(111)中的对象ID(113)标识出的对象可被用于对位置和保护机 制、语言特定/架构属性(诸如分区全局地址空间(PGAS)节点)、加密的数据、 和/或区块链进行指定。
可以使用名称服务器(117)针对由可以包括因特网的网络(109)连接的 整个计算机系统创建或分配对应对象(121或123)的对象ID(113)。
优选地,使用图1所示的格式中的地址(例如,111)的地址空间在时间和 空间上是唯一的。支持地址空间的任何计算机都可由名称服务器(117)在网络 (109)上寻址。
当处理器(101)正第一次访问对象时,访问可以需要验证访问许可(例如, 下载可执行文件、访问访问控制列表(ACL)中的条目),并且验证对象的访问 权限(例如,读、写、执行、通过受保护的子对象的访问、执行域)。可以经由 用户级别(例如,黄金、铂金、执行铂金)和管理级别(例如,1、2、...、n) 的分类来标识执行域。
某些静态对象ID可被用于标识预定的对象类型或对象空间,如图2所示。
图2示出了图1的地址系统中的静态对象标识。
例如,具有零(0)的预定值的对象ID(141)可被用于标识操作系统(131) 的任何内核对象(133);并且对象ID(141)对于计算机系统中的所有节点上的 内核对象(例如,133)可以是静态的,而不管计算机系统中的内核对象(133) 的位置如何。操作系统(131)可以具有不是内核(133)的一部分的实用程序 (例如,135)。
例如,具有一(1)的预定值的对象ID(143)可被用于标识使用64位指令 (143)编程的应用(137)的任何对象;并且对象ID(143)对于计算机系统中 的所有节点上的64位指令对象(例如137)可以是静态的,而不管计算机系统 中的64位指令对象(137)的位置如何。
例如,具有二(2)的预定值的对象ID(145)可被用于标识使用32位指令 编程的应用(139)的任何对象(147);并且对象ID(145)对于计算机系统中 的所有节点上的32位指令对象(例如139)可以是静态的,而不管计算机系统 中的32位指令对象(139)的位置如何。
静态对象ID(141、143和/或145)提供关于经由具有静态对象ID(141、 143和/或145)的存储器地址(例如,111)所访问的对象的预定信息。
例如,当处理器(101)使用其中对象ID(113)是静态对象ID(141)的 地址(111)来访问存储器位置时,处理器(101)可以确定被存储在该存储器 位置中的数据或指令是用于操作系统(131)的内核对象(133)。因此,处理器 (101)可以基于所访问的存储器是用于操作系统内核(133)的信息来调整其 操作(例如,优先级、安全级)。
类似地,当处理器(101)使用其中对象ID(113)是静态对象ID(143或 145)的地址(111)来访问存储器位置时,处理器(101)可以确定被存储在该 存储器位置中的数据或指令是用于64位应用(137)或32位应用(139)。因此, 处理器(101)可以调整其操作以优化应用的性能、优先级和/或安全性。
通常,静态对象ID(例如,141、143和/或145)可被用于向处理器(101) 提供关于由包含静态对象ID(例如,141、143和/或145)的存储器地址(111) 所引用的对象的预定信息,而无需联系名称服务器(117)来查找对象(例如, 121或123)的属性。因此,计算机系统和/或处理器(101)可以使用预定信息 有效地处理使用包含静态对象ID(例如,141、143或145)的地址(111)而获 取到的数据和/或指令。例如,静态ID可被用于标识预定宽度(例如,128位或 64位)的分区全局地址空间(PGAS)地址、互联网协议地址的版本(例如,互 联网协议版本6(IPv6))、唯一ID等。例如,静态ID可被用于指示对象是用户 对象、操作系统(OS)的内核对象、还是OS/服务器对象的非内核部分。例如, 静态ID可被用于指示是否启用(invoke)系统调用、是否启用对OS/服务器的 非内核部分的调用、或者是否启用对OS的内核的调用。在某些情况下,根据预 定方案,地址可以具有在其中被编码的多于一个静态对象ID。例如,静态对象 ID可以在地址中被提供,而不限于地址的特定64位字段。
图3和图4示出了使用静态对象标识来映射不同地址空间的地址。
使用静态对象标识(143和145),计算系统可以根据预定规则自动将64位 地址空间和32位地址空间映射到128位地址空间。转换规则允许128位处理器 运行64位应用和32位应用。
例如,由使用64位指令(147)编程的应用(137)所使用的64位地址(151) 可以使用针对64位对象的预定对象ID(143)(一(1)的预定值)被转换为128 位地址,并且使用64位地址(151)作为128位地址(111)中的偏移量(115), 如图3所示。
例如,由使用32位指令(149)编程的应用(139)所使用的32位地址(153) 可以使用针对32位对象的预定对象ID(145)(例如,二(2)的预定值)被转 换为128位地址,并且使用32位地址(153)作为128位地址(111)中的偏移 量(115),如图4所示。
本文公开的技术可以至少被应用于计算机系统,其中处理器与存储器分离, 并且处理器经由通信总线和/或计算机网络与存储器和存储装置进行通信。此外, 本文公开的技术可以被应用于计算机系统,其中处理能力被集成在存储器/存储 装置中。例如,处理电路(包括典型处理器的执行单元和/或寄存器)可以在集 成电路和/或存储器介质的集成电路封装内被实施,以在存储器装置内执行处理。 因此,如上所述并在附图中所示的处理器(例如,101)不一定是冯·诺依曼结 构中的中央处理单元。处理器可以是被集成在存储器内的单元,以克服由于中 央处理单元和根据冯·诺依曼结构而单独配置的存储器之间的数据移动的延迟 而导致的吞吐量的限制而引起的限制计算性能的冯·诺伊曼瓶颈。
本公开的描述和附图是说明性的,并且不应被解释为限制性的。许多具体 细节被描述以提供透彻理解。然而,在某些情况下,众所周知的或传统的细节 不被描述以避免模糊了描述。对本公开中的一个实施例或实施例的参考不一定 是对同一实施例的参考;并且,这样的引用意味着至少一个。
在前述说明书中,已经参考本公开的特定示例性实施例描述了本公开。显 而易见的是,在不脱离所附权利要求中阐述的更广泛的精神和范围的情况下, 可以对其进行各种修改。因此,说明书和附图应被视为说明性意义而非限制性 意义。
Claims (18)
1.一种计算机系统,包括:
第一预定宽度的寄存器,所述寄存器存储具有以下的地址:
标识了对象的第一部分;和
标识了相对于所述对象的偏移量的第二部分;和
执行单元,被配置为使用所述地址执行指令;
其中,当所述第一部分具有第一静态标识符时,在执行所述指令时使用与所述第一静态标识符预先关联的第一类对象的第一预定属性,其中所述第一类对象是使用具有第二预定宽度的第一地址空间的第一应用,所述第二预定宽度小于所述第一预定宽度;
其中当所述第一部分具有第二静态标识符时,在执行所述指令时使用与所述第二静态标识符预先关联的第二类对象的第二预定属性,其中所述第二类对象是使用具有第三预定宽度的第二地址空间的第二应用,所述第三预定宽度小于所述第一预定宽度且不同于所述第二预定宽度。
2.根据权利要求1所述的计算机系统,其中,所述第一预定宽度是128位;并且所述第二预定宽度是以下中的一个:64位和32位。
3.根据权利要求2所述的计算机系统,其中,当所述第一静态标识符的值为1时,所述第二预定宽度是64位。
4.根据权利要求2所述的计算机系统,其中,当所述第一静态标识符的值为1时,所述第二预定宽度是32位。
5.根据权利要求1所述的计算机系统,其中,所述第一预定属性在执行所述对象的指令期间的地址转换中被使用。
6.根据权利要求5所述的计算机系统,其中,所述地址转换包括将地址从所述第二预定宽度转换为所述第一预定宽度。
7.根据权利要求6所述的计算机系统,其中,使用作为对象标识符的所述静态标识符以及作为偏移量的所述第二预定宽度的地址来执行将所述地址从所述第二预定宽度转换为所述第一预定宽度。
8.根据权利要求1所述的计算机系统,其中,至少部分地基于所述第一预定属性指示所述第一类对象位于所述计算机系统的操作系统的内核中而调整所述计算机系统的处理器的操作。
9.根据权利要求8所述的计算机系统,其中,所述第一静态标识符的值为零。
10.根据权利要求1所述的计算机系统,其中,使用所述地址来加载所述指令以用于执行。
11.根据权利要求1所述的计算机系统,其中,所述指令的执行对从由所述地址标识出的存储位置获取到的数据项进行操作。
12.根据权利要求1所述的计算机系统,其中,所述第一预定属性被用于在执行所述对象的指令期间调整安全操作。
13.根据权利要求1所述的计算机系统,其中,所述第一预定属性被用于在执行所述对象的指令期间调整优先级。
14.一种方法,包括:
在处理器中接收具有第一预定宽度的第一地址空间中的第一地址;
由所述处理器确定被预定义以表示所述第一地址空间的第一预定义标识符;
由所述处理器将所述第一预定义标识符和所述第一地址组合以生成具有大于所述第一预定宽度的第二预定宽度的第二地址,其中所述第二地址具有第一对象标识符部分和第一偏移部分,并且所述第二地址的所述第一对象标识符部分包含表示所述第一地址空间的所述第一预定义标识符,并且所述第二地址的所述第一偏移部分对应于所述第一地址;
在所述处理器中接收具有第三预定宽度的第二地址空间中的第三地址,所述第三预定宽度不同于所述第一预定宽度;
由所述处理器确定预定义以表示所述第二地址空间的第二预定义标识符;和
由所述处理器将所述第二预定义标识符和所述第三地址组合以生成具有大于所述第一预定宽度且大于所述第三预定宽度的第四预定宽度的第四地址,其中所述第四地址具有第二对象标识符部分和第二偏移部分,并且所述第四地址的所述第二对象标识符部分包含表示所述第二地址空间的所述第二预定义标识符,并且所述第四地址的所述第二偏移部分对应于所述第三地址。
15.根据权利要求14所述的方法,其中,所述第二预定宽度是128位;所述第一预定宽度是以下中的一个:64位和32位。
16.根据权利要求15所述的方法,其中,所述第二地址的所述第一对象标识符部分具有64位;并且所述第二地址的字节偏移部分具有64位。
17.一种计算机系统,其包括:
处理器;和
包括多个存储器地址的存储器地址系统,所述存储器地址系统经配置以致使所述处理器基于在所述多个存储器地址中的相应一者中提供的数据执行操作,
其中:
所述多个存储器地址中的每一者具有第一预定宽度,所述存储器地址系统中的所述多个存储器地址中的第一存储器地址包括第一对象标识符部分和第一偏移部分,其中在所述第一对象标识符部分中提供的第一预定值表示与所述第一预定值预先关联的第一对象属性;
所述第一对象属性识别所述多个存储器地址中具有第二预定宽度的第一子集,所述第二预定宽度小于所述第一预定宽度;
所述存储器地址系统中的所述多个存储器地址中的第二存储器地址包括第二对象标识符部分和第二偏移部分,其中在所述第二对象标识符部分中提供的第二预定值表示与所述第二预定值预先关联的第二对象属性;和
所述第二对象属性识别所述多个存储器地址中具有第三预定宽度的第二子集,所述第三预定宽度不同于所述第二预定宽度且小于所述第一预定宽度。
18.根据权利要求17所述的计算机系统,其中,至少部分地基于所述第一对象属性指示所述第一对象在所述计算机系统的操作系统的内核中而调整所述处理器的操作。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862665936P | 2018-05-02 | 2018-05-02 | |
US62/665,936 | 2018-05-02 | ||
US16/028,840 US11275587B2 (en) | 2018-05-02 | 2018-07-06 | Static identifications in object-based memory access |
US16/028,840 | 2018-07-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442536A CN110442536A (zh) | 2019-11-12 |
CN110442536B true CN110442536B (zh) | 2023-09-19 |
Family
ID=68384842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811036644.0A Active CN110442536B (zh) | 2018-05-02 | 2018-09-06 | 基于对象的存储器访问中的静态标识 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11275587B2 (zh) |
CN (1) | CN110442536B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10761855B2 (en) | 2018-05-02 | 2020-09-01 | Micron Technology, Inc. | Securing conditional speculative instruction execution |
US11544069B2 (en) | 2018-10-25 | 2023-01-03 | Micron Technology, Inc. | Universal pointers for data exchange in a computer system having independent processors |
LU101410B1 (de) * | 2019-09-25 | 2021-03-25 | Phoenix Contact Gmbh & Co | Verfahren zum Bereitstellen und Validieren alternativer Objektbezeichner sowie zum Ermitteln von Referenzen alternativer Objektbezeichner innerhalb einer OPC-UA-basierenden Kommunikationsumgebung |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520753A (zh) * | 2008-02-29 | 2009-09-02 | Arm有限公司 | 数据处理设备和控制虚拟机对安全存储器的访问的方法 |
CN101627366A (zh) * | 2007-03-14 | 2010-01-13 | 高通股份有限公司 | 用以预加载来自除当前执行的指令集之外的指令集的指令的系统、方法及软件 |
CN102687126A (zh) * | 2009-12-30 | 2012-09-19 | 国际商业机器公司 | 在多内核环境中有效分配引用的全局唯一标识符 |
CN102906716A (zh) * | 2010-06-23 | 2013-01-30 | 国际商业机器公司 | 依据适配器的多个地址空间 |
CN103140837A (zh) * | 2010-09-24 | 2013-06-05 | Arm有限公司 | 数据处理装置的除错 |
CN104951296A (zh) * | 2014-03-28 | 2015-09-30 | 英特尔公司 | 允许一种架构的代码模块使用另一种架构的库模块的架构间兼容模块 |
CN107851170A (zh) * | 2015-07-20 | 2018-03-27 | 英特尔公司 | 支持用于存储器地址范围的可配置安全级别 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4525780A (en) | 1981-05-22 | 1985-06-25 | Data General Corporation | Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information |
US4821184A (en) | 1981-05-22 | 1989-04-11 | Data General Corporation | Universal addressing system for a digital data processing system |
US4514800A (en) | 1981-05-22 | 1985-04-30 | Data General Corporation | Digital computer system including apparatus for resolving names representing data items and capable of executing instructions belonging to general instruction sets |
US4660142A (en) | 1981-05-22 | 1987-04-21 | Data General Corporation | Digital data processing system employing an object-based addressing system with a single object table |
US4445177A (en) | 1981-05-22 | 1984-04-24 | Data General Corporation | Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions |
US4454579A (en) | 1981-09-11 | 1984-06-12 | Data General Corporation | System for performing call and return operations |
US5226161A (en) | 1987-08-21 | 1993-07-06 | Wang Laboratories, Inc. | Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types |
US6470436B1 (en) | 1998-12-01 | 2002-10-22 | Fast-Chip, Inc. | Eliminating memory fragmentation and garbage collection from the process of managing dynamically allocated memory |
JP4020576B2 (ja) * | 2000-09-14 | 2007-12-12 | 株式会社東芝 | パケット転送方法、移動端末装置及びルータ装置 |
US7149878B1 (en) | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
US7299242B2 (en) | 2001-01-12 | 2007-11-20 | Sun Microsystems, Inc. | Single-word lock-free reference counting |
US7366882B2 (en) | 2001-05-10 | 2008-04-29 | Zohair Sahraoui | Address calculation unit for an object oriented processor having differentiation circuitry for selectively operating micro-instructions |
US6785804B2 (en) | 2001-05-17 | 2004-08-31 | Broadcom Corporation | Use of tags to cancel a conditional branch delay slot instruction |
US6874081B2 (en) | 2001-05-17 | 2005-03-29 | Broadcom Corporation | Selection of link and fall-through address using a bit in a branch address for the selection |
GB2378535A (en) | 2001-08-06 | 2003-02-12 | Ibm | Method and apparatus for suspending a software virtual machine |
KR100462627B1 (ko) * | 2002-11-27 | 2004-12-23 | 삼성전자주식회사 | IPv6 주소를 이용하여 디바이스를 식별하는 방법 |
US7779238B2 (en) | 2004-06-30 | 2010-08-17 | Oracle America, Inc. | Method and apparatus for precisely identifying effective addresses associated with hardware events |
GB2417579A (en) | 2004-08-26 | 2006-03-01 | Hewlett Packard Development Co | Method for dynamically inserting code into a process by enabling taken branch traps to intercept a branch during the execution of the process |
US9886532B1 (en) | 2004-10-07 | 2018-02-06 | Gregory M. Scallon | Data integrity protection mechanism |
US8667249B2 (en) | 2004-12-22 | 2014-03-04 | Intel Corporation | Systems and methods exchanging data between processors through concurrent shared memory |
US7383374B2 (en) * | 2005-03-31 | 2008-06-03 | Intel Corporation | Method and apparatus for managing virtual addresses |
KR101396831B1 (ko) | 2007-03-30 | 2014-05-21 | 삼성전자주식회사 | 메모리 접근 제어 방법 |
US8868844B2 (en) * | 2008-06-25 | 2014-10-21 | International Business Machines Corporation | System and method for a software managed cache in a multiprocessing environment |
JP5181139B2 (ja) | 2008-06-30 | 2013-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータプログラム、共有オブジェクト制御装置及び共有オブジェクト制御方法 |
US8072975B2 (en) * | 2008-11-12 | 2011-12-06 | Dell Products, Lp | Host discovery across different address spaces |
US8375195B2 (en) | 2009-03-05 | 2013-02-12 | Oracle America, Inc. | Accessing memory locations for paged memory objects in an object-addressed memory system |
US8190839B2 (en) | 2009-03-11 | 2012-05-29 | Applied Micro Circuits Corporation | Using domains for physical address management in a multiprocessor system |
US8438341B2 (en) | 2010-06-16 | 2013-05-07 | International Business Machines Corporation | Common memory programming |
US8635412B1 (en) | 2010-09-09 | 2014-01-21 | Western Digital Technologies, Inc. | Inter-processor communication |
US8566537B2 (en) | 2011-03-29 | 2013-10-22 | Intel Corporation | Method and apparatus to facilitate shared pointers in a heterogeneous platform |
US8862861B2 (en) | 2011-05-13 | 2014-10-14 | Oracle International Corporation | Suppressing branch prediction information update by branch instructions in incorrect speculative execution path |
US9798873B2 (en) | 2011-08-04 | 2017-10-24 | Elwha Llc | Processor operable to ensure code integrity |
US9390055B2 (en) * | 2012-07-17 | 2016-07-12 | Coho Data, Inc. | Systems, methods and devices for integrating end-host and network resources in distributed memory |
US9459877B2 (en) | 2012-12-21 | 2016-10-04 | Advanced Micro Devices, Inc. | Nested speculative regions for a synchronization facility |
US9311011B2 (en) | 2013-08-07 | 2016-04-12 | Qualcomm Incorporated | Dynamic address negotiation for shared memory regions in heterogenous multiprocessor systems |
US10671391B2 (en) * | 2014-02-25 | 2020-06-02 | MIPS Tech, LLC | Modeless instruction execution with 64/32-bit addressing |
US9830153B2 (en) | 2014-06-20 | 2017-11-28 | Netronome Systems, Inc. | Skip instruction to skip a number of instructions on a predicate |
WO2016118630A1 (en) | 2015-01-20 | 2016-07-28 | Ultrata Llc | Utilization of a distributed index to provide object memory fabric coherency |
US9910611B2 (en) | 2015-05-29 | 2018-03-06 | Intel Corporation | Access control for memory protection key architecture |
US10698628B2 (en) | 2015-06-09 | 2020-06-30 | Ultrata, Llc | Infinite memory fabric hardware implementation with memory |
US10114958B2 (en) | 2015-06-16 | 2018-10-30 | Microsoft Technology Licensing, Llc | Protected regions |
US20160381050A1 (en) | 2015-06-26 | 2016-12-29 | Intel Corporation | Processors, methods, systems, and instructions to protect shadow stacks |
US9870466B2 (en) | 2015-09-26 | 2018-01-16 | Mcafee, Inc. | Hardware-enforced code paths |
US10241676B2 (en) * | 2015-12-08 | 2019-03-26 | Ultrata, Llc | Memory fabric software implementation |
US10255202B2 (en) | 2016-09-30 | 2019-04-09 | Intel Corporation | Multi-tenant encryption for storage class memory |
US9971702B1 (en) | 2016-10-24 | 2018-05-15 | Intel Corporation | Nested exception handling |
KR20180080552A (ko) * | 2017-01-04 | 2018-07-12 | 한국전자통신연구원 | IPv6 주소 중에서 IID의 구조, IID의 정의 방법, 및 이를 수행하는 통신 장치 |
US10761855B2 (en) | 2018-05-02 | 2020-09-01 | Micron Technology, Inc. | Securing conditional speculative instruction execution |
US20200073822A1 (en) | 2018-08-30 | 2020-03-05 | Micron Technology, Inc. | Security Configuration for Memory Address Translation from Object Specific Virtual Address Spaces to a Physical Address Space |
US11544069B2 (en) | 2018-10-25 | 2023-01-03 | Micron Technology, Inc. | Universal pointers for data exchange in a computer system having independent processors |
-
2018
- 2018-07-06 US US16/028,840 patent/US11275587B2/en active Active
- 2018-09-06 CN CN201811036644.0A patent/CN110442536B/zh active Active
-
2022
- 2022-03-11 US US17/693,240 patent/US20220197648A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101627366A (zh) * | 2007-03-14 | 2010-01-13 | 高通股份有限公司 | 用以预加载来自除当前执行的指令集之外的指令集的指令的系统、方法及软件 |
CN101520753A (zh) * | 2008-02-29 | 2009-09-02 | Arm有限公司 | 数据处理设备和控制虚拟机对安全存储器的访问的方法 |
CN102687126A (zh) * | 2009-12-30 | 2012-09-19 | 国际商业机器公司 | 在多内核环境中有效分配引用的全局唯一标识符 |
CN102906716A (zh) * | 2010-06-23 | 2013-01-30 | 国际商业机器公司 | 依据适配器的多个地址空间 |
CN103140837A (zh) * | 2010-09-24 | 2013-06-05 | Arm有限公司 | 数据处理装置的除错 |
CN104951296A (zh) * | 2014-03-28 | 2015-09-30 | 英特尔公司 | 允许一种架构的代码模块使用另一种架构的库模块的架构间兼容模块 |
CN107851170A (zh) * | 2015-07-20 | 2018-03-27 | 英特尔公司 | 支持用于存储器地址范围的可配置安全级别 |
Also Published As
Publication number | Publication date |
---|---|
US11275587B2 (en) | 2022-03-15 |
US20220197648A1 (en) | 2022-06-23 |
CN110442536A (zh) | 2019-11-12 |
US20190339974A1 (en) | 2019-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11307861B2 (en) | Securing conditional speculative instruction execution | |
US11422820B2 (en) | Shadow cache for securing conditional speculative instruction execution | |
US9195623B2 (en) | Multiple address spaces per adapter with address translation | |
US8631222B2 (en) | Translation of input/output addresses to memory addresses | |
US8626970B2 (en) | Controlling access by a configuration to an adapter function | |
US8650337B2 (en) | Runtime determination of translation formats for adapter functions | |
US20220197648A1 (en) | Static Identifications in Object-based Memory Access | |
US8458387B2 (en) | Converting a message signaled interruption into an I/O adapter event notification to a guest operating system | |
EP2430556B1 (en) | Enable/disable adapters of a computing environment | |
JP2013534666A (ja) | アダプタのアドレス・スペースへのゲスト・アクセスのための方法、システム、およびコンピュータ・プログラム | |
US20230146488A1 (en) | Universal pointers for data exchange in a computer system having independent processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |