买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】不对有缺陷数据采取异常的从存储器读取指令、处理器、方法和系统_英特尔公司_201780041367.X 

申请/专利权人:英特尔公司

申请日:2017-06-06

公开(公告)日:2024-03-19

公开(公告)号:CN109416672B

主分类号:G06F13/16

分类号:G06F13/16;G06F11/07

优先权:["20160702 US 15/201438"]

专利状态码:有效-授权

法律状态:2024.03.19#授权;2019.07.30#实质审查的生效;2019.03.01#公开

摘要:处理器一方面包括解码从存储器读取指令的解码单元。从存储器读取指令要指示源存储器操作数和目的地存储位置。处理器还包括与解码单元耦合的执行单元。响应于从存储器读取指令,执行单元要从源存储器操作数读取数据,在数据有缺陷时将有缺陷数据的指示存储在架构上可见的存储位置中,以及当数据有缺陷时完成执行从存储器读取指令的操作而不引起异常条件。公开了其它处理器、方法、系统和指令。

主权项:1.一种处理器,包括:解码从存储器读取指令的解码单元,所述从存储器读取指令指示源存储器操作数和目的地存储位置;以及与所述解码单元耦合的执行单元,响应于所述从存储器读取指令,所述执行单元执行以下操作:从所述源存储器操作数中读取数据;当所述数据有缺陷时,将有缺陷数据的指示存储在架构上可见的存储位置中;以及当所述数据有缺陷时,完成执行所述从存储器读取指令而不引起异常条件,其中在存储所述有缺陷数据的所述指示之前,响应于所述从存储器读取指令,所述执行单元要确定是否从块存储存储器位置读取了有缺陷的所述数据。

全文数据:不对有缺陷数据采取异常的从存储器读取指令、处理器、方法和系统技术领域本文描述的实施例一般涉及处理器。具体地,本文描述的实施例一般涉及通过处理器从存储器加载数据。背景技术各种不同类型的计算机系统和或其它数据处理系统通常包括至少一个处理器和系统存储器。存储器可用于存储各种不同类型的软件和关联的数据。在操作期间,处理器可以执行指令以从存储器加载或以其它方式从存储器读取数据。一旦加载,数据可以由处理器算术地、逻辑地或以其它方式处理。最终,处理的数据可以存储回存储器。附图说明通过参考用于示出实施例的以下描述和附图,可以最好地理解本发明。在附图中:图1是处理器的实施例的框图,所述处理器操作以执行从存储器读取指令的实施例。图2是执行从存储器读取指令的实施例的方法的实施例的流程框图。图3是处理器的实施例的框图,所述处理器操作以执行从存储器读取指令的实施例。图4是处置有缺陷数据的方法的实施例的流程框图,所述方法适合用于从存储器读取指令的实施例。图5是具有适合用于实施例的核和帮助器逻辑的一个或多个集合的处理器的示例实施例的框图。图6A是示出有序流水线的实施例和寄存器重命名无序发布执行流水线的实施例的框图。图6B是包括耦合到执行引擎单元并且也耦合到存储器单元的前端单元的处理器核的实施例的框图。图7A是单个处理器核连同到管芯上互连网络的其连接以及连同2级(L2)高速缓存的其本地子集的实施例的框图。图7B是图7A的处理器核的部分的展开图的实施例的框图。图8是可以具有多于一个核、可以具有集成的存储器控制器,并且可以具有集成图形的处理器的实施例的框图。图9是计算机架构的第一实施例的框图。图10是计算机架构的第二实施例的框图。图11是计算机架构的第三实施例的框图。图12是计算机架构的第四实施例的框图。图13是根据本发明的实施例的使用软件指令变换器将源指令集中的二进制指令变换为目标指令集中的二进制指令的框图。具体实施方式本文公开了从存储器读取指令的实施例,用于执行指令的处理器的实施例,在执行指令时由处理器执行的方法的实施例,结合一个或多个处理器以执行指令的系统的实施例,以及提供指令的机器可读介质或程序的实施例。在一些实施例中,处理器可以具有解码单元或其它逻辑以接收和或解码从存储器读取指令,以及执行单元或其它逻辑以执行从存储器读取指令。在以下描述中,阐述了许多特定细节(例如,特定指令操作、数据格式、处理器配置、微架构细节、操作顺序等)。然而,可以在没有这些特定细节的情况下实施实施例。在其它实例中,未详细示出众所周知的电路、结构和技术,以避免模糊对描述的理解。一个挑战是数据,无论是在存储器中,还是在被读取时在其到处理器的途中,或者在处理器内时,或者当被存储回存储器时,有时可能变得有缺陷。例如,数据可能变得损坏、有瑕疵、故障、不正确或以其它方式有缺陷。作为一个特定示例,当出于无论任何原因存在数据奇偶校验错误时数据可能是有缺陷的,其中数据与关联的奇偶校验数据集合不一致。作为另一特定示例,当出于无论任何原因存在纠错码(ECC)错误时数据可能是有缺陷的,其中数据具有关联的纠错码数据不能纠正的错误。作为又一特定示例,当存储器的一个或多个存储器单元中和或处理器的一个或多个存储器装置内存在一个或多个位的无意地翻转时(例如诸如,由于宇宙辐射或某一其它原因),数据可能是有缺陷的。作为另一特定示例,当出于无论任何原因,毒物(poison)检测指示符与数据关联时(例如,通过处理器的逻辑,其它系统硬件组件等),数据可能是有缺陷的。这些仅仅是有缺陷数据的可能原因的一些说明性示例。一般地,此类有缺陷数据不应该用于进一步处理或计算。因此,当执行各种不同类型的从存储器读取指令中的任何一个时,此类有缺陷数据的检测一般将引发(raise)或引起机器检查异常(MCE)或类似的严重异常或错误。有缺陷数据是此类MCE的一个可能原因,其可以由处理器在其检测到硬件错误或问题(例如诸如,未纠正的有缺陷数据)时生成。MCE通常表示严重的异常或错误,例如诸如,中止类异常、致命异常、致命错误等等。某些类型的MCE在某些情况下可以是可恢复的或可纠正的,例如,对于某些类型的错误,以及如果处理器具有执行此类恢复或纠正的架构支持的话。例如,对于系统软件可以尝试从中恢复的称为未纠正可恢复(UCR)错误的一类架构错误,情况也可以是这样。此类错误可以表示已检测到但尚未破坏处理器上下文的未纠正错误。对于某些此类类型的错误,一旦系统软件已经执行了某种恢复动作,则继续在处理器上的执行可以是可能的。机器检查处置器可以使用有关错误的信息(例如,在MSR中或其它地方)来尝试纠正所述问题。然而,其它类型的MCE可能是不可恢复或不可纠正的。在无法恢复或纠正MCE的情况下,在正常操作能够恢复之前,可能需要重新启动处理器和或系统。对于至少一些此类MCE或其它此类严重异常或错误重新启动处理器和或系统的需要一般倾向于减少性能。此外,在一些实施例中,如下面进一步描述的,系统存储器可以用在块存储模式中和或用于块样式(style)使用(像在存储市场中传统使用的那些)。如与用于块装置的常规块样式语义相比,使用系统地址空间来寻址块存储区域可能倾向于提供效率和改进的性能。然而,块模式可能涉及不同的错误处置,其与系统地址空间中发生错误时的错误处置不同。例如,可以在状态寄存器中报告块操作期间遇到的错误,并且块驱动器可以处置通过状态寄存器报告的错误。本文描述的实施例可以帮助允许在系统地址空间中寻址块区域,但是可以允许处理器指示块区域中的错误而不进行机器检查异常等等,这一般将会在通过常规的块存储语义寻址此类块区域时发生。用于处置不要求重新启动处理器和或系统的此类MCES或其它严重异常或错误的备选方法可能是有用且有益的。图1是处理器100的实施例的框图,处理器100操作以执行从存储器读取指令102的实施例。在图示中,存储器108与处理器耦合,尽管其它实施例仅涉及处理器而没有存储器(例如,在具有存储器的系统中部署之前的处理器)。存储器可以包括一个或多个类型的一个或多个存储器装置(例如,动态随机存取存储器(DRAM)、闪存、硬盘、双列直插式存储器模块(DIMM)等等,以及其各种组合)。在一些实施例中,处理器可以是通用处理器(例如,在桌上型计算机、膝上型计算机或其它计算机中使用的类型的通用微处理器或中央处理单元(CPU))。备选地,处理器可以是专用处理器。适合的专用处理器的示例包括但不限于网络处理器、通信处理器、密码处理器、图形处理器、协处理器、嵌入式处理器、数字信号处理器(DSP)和控制器(例如,微控制器)。处理器可以具有各种复杂指令集计算(CISC)架构、精简指令集计算(RISC)架构、超长指令字(VLIW)架构、混合架构,其它类型的架构中的任何一个,或者具有不同架构的组合(例如,不同的核可能具有不同的架构)。在一些实施例中,处理器可以包括被设置在至少一个集成电路或半导体管芯上。在一些实施例中,处理器可以包括至少一些硬件(例如,晶体管、电容器、二极管、电路、存储微代码的非易失性存储器等等)。在操作期间,处理器100可以接收从存储器读取指令102。在各种方面,可以从处理器外和或管芯外源(例如,从管芯外存储器或总线或其它互联)或者从处理器上和或管芯上源(例如,从指令高速缓存、指令队列或管芯上存储器)接收指令。从存储器读取指令可以表示宏指令、机器代码指令或处理器的指令集的控制信号或其它指令。在一些实施例中,从存储器读取指令可以显示指定(例如,通过一个或多个字段或位集合),或以其它方式指示(例如,隐式地指示)存储器108中的源存储器操作数110。在不同实施例中,可以采用不同方式指示源存储器操作数。在一些实施例中,指令可以识别指针或其它存储器地址信息120以识别(潜在地取决于寻址模式通过其它信息)源存储器操作数。如所示的,存储器地址信息可以可选地存储在处理器的寄存器118集合(例如,标量寄存器、通用寄存器等)中。例如,指令可以显示地指定(例如,通过一个或多个字段或位集合),或以其它方式指示(例如,隐式地指示)存储存储器地址信息的寄存器集合中的源寄存器。作为一个示例,指令可以具有源操作数指定字段以显示指定此类源寄存器。备选地,此类源寄存器可以可选地对指令是隐式的(例如,对于指令的操作码是隐式的)。例如,处理器可以隐式地或固有地理解当它辨别此指令时(例如,当它解码操作码时)查看此隐式源寄存器,而指令不需要具有任何非操作码位来显示指定源寄存器。取决于具体的寻址模式,存储器地址信息120可以可选地与其它存储器地址信息组合,以便寻址源存储器操作数。此类附加存储器地址信息可以在另一寄存器(例如,数据段寄存器、扩展段寄存器或其它存储器地址寄存器)中、在指令的编码中或其它地方。作为示例,通过分段寻址,程序可以具有称为段的多个独立地址空间。字节地址可以被指定为来自段寄存器的地址信息和来自通用寄存器的另外的地址信息(例如,字节地址)的组合(例如,段寄存器:字节地址)。例如,地址DS:FF79H可用于寻址由DS段寄存器指向的段中地址FF79H处的字节。寄存器118中的每个可以表示操作以存储数据的管芯上(或集成电路上)存储位置。寄存器可以表示对软件和或编程器可见的架构上可见或架构寄存器和或是由识别操作数的处理器的指令集的指令指示的寄存器。这些架构寄存器与给定微架构中的其它非架构寄存器(例如,临时寄存器、重排序缓冲器、引退寄存器等)形成对比。寄存器可以在不同的微架构中以不同的方式实现,并且不限于任何具体类型的设计。适合的类型的寄存器的示例包括但不限于专用物理寄存器、使用寄存器重命名的动态分配的物理寄存器,以及其组合。在一些实施例中,从存储器读取指令还可以显示指定(例如,通过一个或多个字段或位集合),或以其它方式指示(例如,隐式指示)目的地存储位置114。如所示的,在一些实施例中,目的地存储位置可以可选地是存储器中的另一位置。在此类实施例中,与上面针对源存储器操作数描述的那些相同的方法适合于识别目的地存储器操作数。备选地,目的地存储位置可以可选地是处理器的一个或多个寄存器(例如,一个或多个通用寄存器、一个或多个打包数据寄存器等)或另一存储位置。此类寄存器或其它存储位置可以被指定或是隐式的。再次参考图1,处理器包括解码单元或解码器104。解码单元可以接收从存储器读取指令和解码从存储器读取指令。解码单元可以输出一个或多个相对较低级的指令或控制信号(例如,一个或多个微指令、微操作、微代码入口点、解码的指令或控制信号等),其反映、表示和或从相对较高级的从存储器读取指令导出。在一些实施例中,解码单元可包括一个或多个输入结构(例如,一个或多个端口、一个或多个互连、接口)以接收从存储器读取指令,与其耦合的指令辨别和解码逻辑以辨别和解码从存储器读取指令,以及与其耦合的一个或多个输出结构(例如,一个或多个端口、一个或多个互连、接口),以输出一个或多个较低级的指令或一个或多个控制信号。解码单元可以使用各种不同的机制来实现,包括但不限于微代码只读存储器(ROM)、查找表、硬件实现、可编程逻辑阵列(PLA)以及适合于实现解码单元的其它机制。在一些实施例中,解码单元可以包括在管芯上(例如,在具有执行单元106的管芯上)。在一些实施例中,解码单元可以包括至少某一硬件(例如,晶体管、集成电路或管芯上固件等)。在一些实施例中,可以可选地使用指令模拟器、翻译器、变形器、解释器或其它指令变换模块而不是直接向解码单元提供从存储器读取指令。可以采用软件、硬件、固件或其组合来实现各种类型的指令变换模块。在一些实施例中,指令变换模块可以位于处理器外部,例如诸如,位于单独的管芯上和或存储器中(例如,作为静态、动态或运行时间模拟模块)。作为示例,指令变换模块可以接收从存储器读取指令,所述指令可以属于第一指令集,并且可以模拟、翻译、变形、解释或以其它方式将从存储器读取指令变换成一个或多个对应的中间指令或控制信号,其可以属于第二不同指令集。可以将第二指令集的一个或多个中间指令或控制信号提供给解码单元(例如,解码单元104),解码单元可以将它们解码为由处理器的原生硬件(例如,一个或多个执行单元)可执行的一个或多个较低级指令或控制信号。再次参考图1,执行单元106与解码单元104和寄存器118耦合。在一些实施例中,执行单元可以在管芯或集成电路上(例如,具有解码单元)。执行单元可以接收一个或多个解码的或以其它方式变换的指令或控制信号,其表示从存储器读取指令和或由从存储器读取指令导出。在部署和使用期间,执行单元还可以操作以与存储器和或源存储器操作数耦合。在一些实施例中,响应于和或作为从存储器读取指令的结果(例如,响应于从指令解码的一个或多个指令或控制信号和或响应于被解码的指令和或响应于提供给解码器的指令),执行单元可以操作以从源存储器操作数110读取数据112。这在第一箭头113一般地示出。如果在数据没有缺陷的情况下,执行单元可进一步操作以将数据116存储到目的地存储位置114。这在第二箭头115一般地示出。然而,在一些情况下,数据可能是有缺陷的。例如,数据可能以上面描述的各种不同方式有缺陷。在一些实施例中,处理器可以具有逻辑和或机制和或以其它方式操作以检测或识别此类有缺陷数据。例如,在一些实施例中,执行单元和或处理器可以可操作以检验、观察或访问数据有缺陷的可选指示124(例如,其可选地可以是微架构的,尽管这是不要求的)和或可具有用于检验、观察或访问数据有缺陷的可选指示124的逻辑。此类指示的一个适合的示例是毒物指示(例如,具有被理解成是毒物指示的具体值的一个或多个位),其逻辑上绑到数据或以其它方式与数据关联。例如,此类毒物指示可以作为读取-响应事务的部分提供。此类指示的其它适合示例是信号,所述信号来自高速缓存、寄存器堆或其它管芯上存储位置或逻辑,其指示奇偶校验错误、纠错码错误或通过处理器的各种不同可能类型的有缺陷数据检测逻辑中的任何一种的有缺陷数据的其它此类指示。在一些实施例中,当数据有缺陷时,响应于从存储器读取指令和或作为从存储器读取指令的结果,执行单元可操作以将有缺陷数据的指示122存储在架构上可见的存储位置中。如所示的,在一些实施例中,架构上可见的存储位置可以可选地是处理器的寄存器118集合的寄存器。例如,可以使用通用寄存器、标量寄存器等等。作为示例,当数据有缺陷时,由处理器和或软件理解成指示有缺陷数据的给定值(例如,作为可能的示例的值负1)可以存储在此类寄存器中,并且当数据没有缺陷时,可以在寄存器中存储任何其它不同的值。备选地,架构上可见的存储位置可以是一个或多个条件码位,例如诸如,一个或多个标志、标志寄存器中的位、状态位、状态寄存器中的位或其它条件码位。作为示例,给定条件码位可以具有第一值(例如,根据一种可能约定设置成二进制1)以指示数据有缺陷,或者可以具有第二不同值(例如,被清除成二进制零)以指示数据没有缺陷。常规地,当数据有缺陷时,通常将会引起异常条件。例如,从存储器读取可以包括在指令集中,所述指令集具有已在指令集中存在较长的一个或多个其它从存储器读取指令,这将会在读取有缺陷数据时引起(例如,无条件地引起)异常条件。在一些实施例中,响应于从存储器读取指令和或作为从存储器读取指令的结果,当数据有缺陷时,执行单元可以进一步操作以完成执行从存储器读取指令而不引发、触发或以其它方式引起异常、机器检查异常、中止,其它致命或至少严重的异常或错误,或其它异常条件128。这在图示中由通过异常条件128(其将会以其它方式发信号通知或警告处置器126)的“X”示出。例如在一些实施例中,可以引退或以其它方式提交从存储器读取而不引起此类异常条件128。在一些实施例中,可以完成从存储器读取指令而不引起到MCE处置器、异常处置器、另一严重异常或错误处置器、操作系统处置器或其它此类处置器126的传递。相反,在一些实施例中,从存储器读取指令可以替代地将有缺陷数据的指示122存储在架构上可见的存储位置,并且然后引退或以其它方式提交。在一些实施例中,即使在数据以在引入了从存储器读取指令之前的指令集架构将会已引起不可恢复的MCE的方式有缺陷时,情况也可以是这样。有利地,从存储器读取指令可以可操作以通过将有缺陷数据的指示存储在架构上可见的存储位置中而引起执行单元和或处理器发信号通知有缺陷的数据,而不引起严重的异常或错误。在没有限制的情况下,这可以允许(至少在一些情况下和或在一些情形下)处理器和或软件观察有缺陷数据的指示122并尝试替换和或修复缺陷数据而不会引起异常条件。例如,在存在数据的另一无缺陷的副本的情况下,例如诸如,可以是以各种形式的RAID(独立盘的冗余阵列)和或基于数据冗余的其它技术的情况,特权系统软件可以能够观察到有缺陷数据的指示122,并以是无缺陷数据的数据的另一冗余副本替换有缺陷数据。在其它情况下,处理器和或软件的逻辑可以潜在地能够修复有缺陷数据(例如,通过应用附加的纠错措施等等)。这可以帮助避免处理器和或系统的至少一些重新启动和或至少一些此类异常条件。执行单元和或处理器可以包括特定或具体逻辑(例如,晶体管、集成电路或潜在与固件(例如,存储在非易失性存储器中的指令)和或软件组合的其它硬件),所述逻辑操作以执行从存储器读取指令。如本文所使用的,术语“执行单元”不暗示并且不限于执行所有前面提到的可能操作的单个分立单元。而是,此类操作可能潜在地由遍及在存储器子系统(例如,存储器单元、存储器访问单元)内的两个或更多个单元或组件分布的单独或分布式逻辑来执行。作为一个示例,执行单元可以包括组合的加载存储执行单元以从源加载数据并将其存储到目的地。作为另一示例,执行单元可包括:加载单元,用于从源加载数据;以及单独的存储单元,用于将数据存储到目的地,以及可能的其它组件单元。为了简单性,并且为了符合术语执行单元的通常使用(所述执行单元指实际运行或执行指令的组件),此类逻辑在本文中称为执行单元。还可以在本文中陈述:处理器的存储器子系统和或存储器单元和或存储器访问单元和或存储器访问逻辑和或处理器的存储器接口单元或逻辑可操作以执行如本文所公开的从存储器读取指令。为了避免模糊描述,已经示出并描述了相对简单的处理器100。然而,处理器可以可选地包括其它处理器组件。例如,各种不同的实施例可以包括针对图6-8中的任何一个示出和描述的组件的各种不同的组合和配置。处理器的所有组件可以耦合在一起以允许它们按计划操作。作为示例,考虑图6B,指令高速缓存6可以高速缓存指令,指令获取单元638可以获取指令,解码单元640可以解码指令,调度器单元656可以调度关联的操作,执行单元662可以执行指令,引退单元654可以引退指令等。图2是执行从存储器读取指令的实施例的方法230的实施例的流程框图。在各种实施例中,所述方法可以由处理器、指令处理设备、数字逻辑装置或集成电路执行。在一些实施例中,方法230可以由图1的处理器100和或通过图1的处理器100和或使用图1的指令102执行。本文针对处理器100和或指令102描述的组件、特征和特定可选细节也可选地应用于方法230。备选地,方法230可以由类似或不同的处理器或设备和或在类似或不同的处理器或设备内和或使用类似或不同的指令来执行。此外,处理器100可以执行与方法230相同、类似或不同于方法230的方法。方法230包括在框231接收从存储器读取指令。在各种方面,可以在处理器或其一部分(例如,指令获取单元、解码单元、总线接口单元等)处接收指令。在各种方面,可以从处理器外和或管芯外源(例如,从存储器、互连等)或从处理器上和或管芯上源(例如,从指令高速缓存、指令队列等)接收指令。在一些实施例中,从存储器读取指令可指定(例如,显示指定)或以其它方式指示(例如,隐式地指示)源存储器操作数和目的地存储位置。在框232,响应于从存储器读取指令和或作为从存储器读取指令的结果,可以从源存储器操作数加载或以其它方式读取数据。在一些情况下,读取的数据可能有缺陷。在其它情况下,读取的数据可能没有缺陷。在框233,可以进行确定从源存储器操作数读取的数据是否有缺陷。作为示例,这可以包括检查数据有缺陷的指示。先前描述的类型的指示是适合的(例如,毒物指示、奇偶校验错误指示、纠错码(ECC)错误指示等)。如果在框233的确定是数据没有缺陷(即,“否”是确定),则方法可前进到框234。在框234,可将读取的数据存储到目的地存储位置。然后,所述方法可以前进到可选框235。在可选框235,在一些实施例中,可以可选地进行确定是否存在更多数据,尽管这不是要求的。对于某些类型的从存储器读取指令(例如,重复存储器移动或复制指令、收集指令、顺序地从存储器读取数据的不同部分的指令等等)可以存在此确定,但是可能对于其它类型的从存储器读取指令(例如,将数据从存储器读取到单个寄存器中的指令、一次只读取一条数据并且然后结束的指令等)不存在或完全省略。如果在框235的可选确定是存在更多要读取的数据(即,“是”是确定),则方法可以重新访问框232,其中可以读取附加数据。然后,在框233,可以再次针对有缺陷数据检验附加数据等等。备选地,如果在框235的确定是不存在更多要读取的数据(即,“否”是确定),则方法可前进到可选框236。在框235可选地被省略的情况下(例如,对于如上面所讨论的某些类型从存储器读取指令),方法也可以直接从框234前进到可选框236。在可选框236,一旦所有数据已从存储器读取,并存储到目的地存储位置,并且在在框233没有数据被确定为有缺陷的情况下,在一些实施例中,没有缺陷数据的指示可以可选地存储在架构上可见的存储位置中。在一些实施例中,架构上可见的存储位置可以是寄存器(例如,通用寄存器)。在其它实施例中,架构上可见的存储位置可以是一个或多个条件码位。然后,从存储器读取指令可以完成并引退或以其它方式提交。再次参考框233,如果替代地,在框233的确定是数据有缺陷(即,“是”是确定),则方法可以从框233前进到框237。在框237,在一些实施例中,有缺陷数据的指示可以存储在架构上可见的存储位置中。这可以如先前所描述地完成。在一些实施例中,架构上可见的存储位置可以是寄存器(例如,通用寄存器)。在其它实施例中,架构上可见的存储位置可以是一个或多个条件码位。然后方法可以前进到框238。在框238,即使在确定数据中的一些有缺陷之后,可以完成执行从存储器读取指令而不引起异常条件。在一些实施例中,可能不存在到处置器的强制传递。而是,从存储器读取指令可以被允许完成,并且可选地引退或以其它方式提交,并且然后可以执行在从存储器读取指令之后的下一指令(例如,下一顺序指令)。在不限制的情况下,处理器和或特权系统软件可以可选地潜在地访问在框237存储的有缺陷数据的指示,并尝试修复有缺陷数据以使其不再有缺陷和或以无缺陷的数据(例如,数据的无缺陷副本)替换有缺陷的数据。可以取决于数据是否有缺陷、从存储器读取指令的具体类型(例如,是否顺序读取多个数据部分等),响应于从存储器读取指令和或作为从存储器读取指令的结果而执行由框232到238所示的操作的各种不同子集。作为示例,从存储器读取指令的第一实例可以仅执行框231、232、233、237和238。作为另一示例,从存储器读取指令的第二实例可以仅执行框231、232、233、234、235和236。在最终执行框237和238或框236之前,其它实例仍可以重新访问并循环通过框232、233和234一次或多次。图3是处理器300的实施例的框图,处理器300操作以执行从存储器读取指令302的实施例。处理器300可以与图1的处理器100相同、类似或不同于图1的处理器100。处理器包括:解码单元304,操作以解码从存储器读取指令302;执行单元306,操作以运行或执行从存储器读取指令;以及寄存器318,操作以存储与从存储器读取指令关联的操作数320、340、342、322。这些组件可以可选地与图1中对应命名的组件相同或类似(例如,具有与其相同或类似的任何一个或多个特性)。为了避免模糊描述,将主要描述图3的实施例的不同的和或附加的特性,而不重复可以可选地与针对图1的实施例所描述的那些特性相同或类似的所有特性。在操作期间,处理器300可以接收从存储器读取指令302。在各种方面,可以从处理器外和或管芯外源,或者从处理器上和或管芯上源接收指令。从存储器读取指令可以表示宏指令、机器代码指令或处理器的指令集的其它指令或控制信号。在一些实施例中,从存储器读取指令可以是从存储器读取以及存储到存储器指令。例如,指令可以是将数据从存储器中的一个位置复制到另一位置的存储器复制指令,或者是将数据从存储器中的一个位置移动到另一位置的存储器移动指令。在一些实施例中,从存储器读取指令可显示指定(例如,通过一个或多个字段或位集合),或以其它方式指示(例如,隐式指示)存储器308中的源存储器操作数310(例如,开始位置),存储器中的目的地存储器操作数314(例如,开始位置)中的每个。作为示例,指令可以指示源和目的地操作数的开始点或最低寻址部分。源和目的地操作数也可以被视为并且简称为指令的源和目的地。源和目的地存储器操作数可以采用先前针对图1的源存储器操作数描述的各种不同方式指示。例如,如所示的,用于寻址源存储器操作数310的开始的存储器地址信息320,以及用于寻址源存储器操作数314的开始的存储器地址信息340可以可选地各自存储在处理器的寄存器318集合(例如,通用寄存器)的不同寄存器中。在一些实施例中,从存储器读取指令还可以显示指定(例如,通过一个或多个字段或位集合),或以其它方式指示(例如,隐式指示)要复制、移动或以其它方式从源存储器操作数310存储到目的地存储器操作数314的数据量342。在不同实施例中,可以采用不同方式表达要复制的数据量。作为示例,在各种实施例中,数据量可以表达为要复制的多个位、字节、字、双字、四字或数据元素,或者表达为以位、字节、字、双字、四字或数据元素为单位的源操作数的长度,或者表达为要复制的字符串的大小,或者表达为源或目的地操作数的最高寻址部分或结束的地址、指针、偏移或其它指示。如所示的,在一些实施例中,指令可以指定或以其它方式指示寄存器318集合中的存储数据量342的寄存器。备选地,数据量可以存储在存储器位置或其它存储位置中。作为又一选项,可以可选地在指令本身的字段或其它部分中(例如,在立即数字段中)指定或指示要复制的数据量。再次参考图3,处理器包括解码单元或解码器304。解码单元可操作以解码从存储器读取指令302。执行单元306与解码单元304以及寄存器318耦合。在一些实施例中,响应于从存储器读取指令和或作为从存储器读取指令的结果(例如,响应于从指令解码的一个或多个指令或控制信号和或响应于被解码的指令和或响应于提供给解码器的指令),执行单元可操作以从源存储器操作数310的顺序或连续数据存储位置顺序地加载、读取或以其它方式接收数据312A、312B的不同分立部分。例如,可以如由第一箭头313A所示读取第一数据部分312A,并且然后可以如由第二箭头313B所示读取第二数据部分312B,等等。响应于从存储器读取指令和或作为从存储器读取指令的结果,执行单元还可以操作以单独地和或顺序地复制、移动、写入或以其它方式将数据部分316A、316B存储到目的地存储器操作数314的顺序和或连续的数据存储位置。例如,第一数据部分316A可以如由第一箭头315A所示存储,并且然后第二数据部分316B可以如由第二箭头315B所示存储,等等。数据部分可以在没有修改的情况下存储回,或者对数据的修改可以预先进行。在不同实施例中,所述部分可以具有不同的数据大小粒度,例如诸如,字节、字、双字或四字大小。此类单独和或单独的顺序读取和存储操作可以重复多次(潜在地许多次),直到整个数据量(例如,如由要复制的数据量342指示的)已经从源存储器操作数传递到目的地存储器操作数。在一个方面,所述指令可以可选地具有重复前缀,尽管本发明的范围不这样限制。可以在读取或存储的数据没有缺陷的情况下执行紧靠的先前段落中描述的操作。然而,在一些实施例中,数据中的一些可以潜在有缺陷。例如,数据可能以上面描述的各种不同方式而是有缺陷的。在一些实施例中,执行单元和或处理器可以具有逻辑和或机制和或以其它方式操作以确定数据何时有缺陷。例如,在一些实施例中,执行单元和或处理器可以可操作以和或可具有用于检验、观察或访问数据有缺陷的可选指示324(例如,可能是微架构指示,尽管这是不要求的)的逻辑。此类指示的一个适合示例是毒物指示(例如,具有被理解为毒物指示的具体值的一个或多个位),其逻辑上绑到数据或以其它方式与数据关联。例如,此类毒物指示可以被提供作为读取-响应事务的一部分。此类指示的其它适合示例是信号,所述信号来自高速缓存、寄存器堆或其它管芯上存储位置或逻辑,其指示奇偶校验错误、纠错码错误或通过处理器的各种不同可能类型的有缺陷数据检测逻辑中的任何一个的有缺陷数据的其它此类指示。在一些实施例中,当数据有缺陷时,响应于从存储器读取指令和或作为从存储器读取指令的结果,执行单元可操作以将有缺陷数据的指示322存储在架构上可见的存储位置中。如所示的,在一些实施例中,架构上可见的存储位置可以可选地是处理器的寄存器318集合的寄存器。作为示例,当数据有缺陷时,由处理器和或软件理解为指示有缺陷数据的给定值(例如,作为可能的示例的值负一)可以存储在此类寄存器中,并且当数据没有缺陷时,任何其它不同值可以存储在寄存器中。备选地,架构上可见的存储位置可以是一个或多个条件码位,例如诸如,一个或多个标志、标志寄存器中的位、状态位、状态寄存器中的位或其它条件码位。作为示例,给定条件码位可以具有第一值(例如,根据一种可能的约定设置为二进制一)以指示数据有缺陷,或者可以具有第二不同值(例如,被清除为二进制零)以指示数据没有缺陷。在一些实施例中,当数据有缺陷时,执行单元还可以响应于从存储器读取指令和或作为从存储器读取指令的结果,操作以完成执行从存储器读取指令而不引发、触发或以其它方式引起异常、机器检查异常、中止、其它致命或至少严重的异常或错误,或其它异常条件328。这在图示中由通过异常条件328(其将会以其它方式发信号通知或警告处置器326)的“X”示出。例如,在一些实施例中,可以引退或以其它方式提交从存储器读取而不引起此类异常条件。在一些实施例中,从存储器读取指令可以完成而不引起到MCE处置器、异常处置器、另一严重异常或错误处置器、操作系统处置器或其它此类处置器326的传递。相反,在一些实施例中,从存储器读取指令可以替代地将有缺陷数据的指示322存储在架构上可见的存储位置中,并且然后引退或以其它方式提交。在一些实施例中,即使在数据以在引入从存储器读取指令之前的指令集架构将会引起不可恢复的MCE的方式而有缺陷时,情况也可以是这样。在一些实施例中,执行单元还可以当它在已传递了整个数据量342之前完成时响应于从存储器读取指令和或作为从存储器读取指令的结果,操作以存储更新的数据量(例如,重写数据量342)。在一些实施例中,软件可以使用此更新数据量来帮助识别有缺陷的数据的精确位置。而且,如果从存储器读取指令重新启动或在其中断的地方恢复以再次开始,则可以可能使用此更新的数据量。在一些实施例中,可以采用不同方式使用其它电子装置或计算机系统的系统存储器的不同部分。例如,可以存在不同的模式,其中存储器的一部分可以采用不同的方式使用。例如,在一种模式中,存储器的一部分可用于扩展系统存储器,其中通常用于主存储器的DRAM或其它存储器大致相似于第四级高速缓存而使用。在另一模式中,存储器的所述部分可以用作持久存储器,以即使在存在功率故障时保持内容。持久存储器可以表示原生非易失性存储器,或电池后备的易失性存储器,或组合。在又一模式中,存储器的所述部分可以用作块存储存储器,例如传统上在存储市场中使用的块存储存储器。常规地,块存储存储器区域通常不是从系统地址空间可寻址的。替代地,可以通过块驱动器等等来管理块区域。然而,在一些实施例中,如本文所公开的从存储器读取指令可操作以寻址系统地址空间内的块存储存储器(例如,指令集的指令可以寻址的系统的物理存储器)中的块存储存储器位置。即使当处理器是通用处理器(例如通用中央处理单元(CPU))时,这也可以成立。这可以允许软件寻址作为系统地址空间的块区域。如与通常用于块装置的常规块样式语义相比,使用系统地址空间可以帮助改进效率和或性能。在一些实施例中,与非块存储存储器位置(例如,DRAM或其它主存储装置)不同地处置或处理来自块存储存储器位置的有缺陷数据可能是有用的或有益的。图4是处置有缺陷数据的方法460的实施例的流程框图,所述方法460适合用于从存储器读取指令的实施例。在各种实施例中,所述方法可以由处理器、指令处理设备、数字逻辑装置或集成电路执行。在一些实施例中,方法460可以由图1的处理器100执行和或通过图1的处理器100执行和或在执行图1的指令102期间执行。在一些实施例中,方法460可以由图1的处理器300执行和或通过图1的处理器300执行和或在执行图1的指令302期间执行。本文针对处理器100和或处理器300以及针对指令102和或指令302描述的组件、特征和特定可选细节也可选地应用于方法460。备选地,方法460可以由类似或不同的处理器或设备执行和或在类似或不同的处理器或设备内执行和或在执行类似或不同的指令期间执行。此外,处理器100和或300可以执行与方法460相同、类似或不同于方法460的方法。方法460表示在已进行确定461数据有缺陷之后从存储器读取指令的操作的一部分。例如,可以如上面结合图2的框233先前描述地进行此确定。所述方法可以从此类确定461前进到框462。在框462,在一些实施例中,可以进行确定是否从块存储存储器位置读取了有缺陷的数据。作为示例,执行单元和或处理器可操作以通过检查用于指示块存储存储器的范围的一个或多个模型特定寄存器(MSR)来确定存储器位置(数据从其获得)是否对应于用于块存储的这些范围中的一个来进行此确定。作为另一示例,执行单元可操作以通过检查与数据的读取关联的读取响应(例如,其扩展响应代码)来进行此确定,所述读取响应可指示存储器位置(从其获得数据)是否对应于块存储。如果在框462的确定是从块存储存储器位置读取了有缺陷的数据(即,“是”是确定),则方法可前进到框463。在框463,在一些实施例中,可以将有缺陷数据的指示存储在架构上可见的存储位置中。然后,在框464,即使在确定数据中的一些有缺陷之后,可以完成执行从存储器读取指令而不引起异常条件。在一些实施例中,可能不存在到处置器的强制传递。相反,从存储器读取指令可以被允许完成,并且可选地引退或以其它方式提交。在一些实施例中,在框463和464的操作可以如先前所描述地执行(例如,结合图1和或图3)。在没有限制的情况下,处理器和或特权系统软件可以可选地潜在地访问在框463存储的有缺陷数据的指示,并且尝试修复有缺陷数据以使其不再有缺陷和或以没有缺陷的数据(例如,数据的无缺陷副本)替换有缺陷数据。至少在一些情况下,这可以帮助避免重新启动处理器和或系统的需要。备选地,如果在框462的确定是未从块存储存储器位置读取有缺陷的数据(即,“否”是确定),则方法可前进到框465。在框465,在一些实施例中,从存储器读取指令可以触发、引发或以其它方式引起异常条件。在一些实施例中,异常条件可以是机器检查异常,或其它此类严重、致命或中止类异常或错误。在一些实施例中,这可以强制到任何先前描述的类型的处置器(例如,机器检查异常处置器)的传递。然后,从存储器读取指令可以被允许完成,以及可选地引退或以其它方式提交。可以取决于是否从块存储存储器位置读取了有缺陷的数据,响应于从存储器读取指令和或作为从存储器读取指令的结果,执行由框461至465所示的操作的各种不同子集。作为示例,从存储器读取指令的第一实例可仅执行框461、462和465。作为另一示例,从存储器读取指令的第二实例可仅执行框461、462、463和464。有利地,该方法可以允许处理器基于和或取决于从中读取了有缺陷数据的存储器区域的类型自主地确定是否引起异常以及到处置器的强制传递,或者替代地将有缺陷数据的指示存储在架构存储位置中(例如,以及允许处理器和或软件尽力纠正有缺陷数据)。具体地,这可以允许来自块存储存储器位置的处置数据与来自常规存储器位置(例如,DRAM和其它主存储装置)的数据不同地处置。图5是具有适合用于实施例的核570和帮助器逻辑572的一个或多个集合的处理器500的示例实施例的框图。在所示的示例中,存在第一帮助器逻辑572-1,可选地第二帮助器逻辑572-2,以及可选的其它的帮助器逻辑。在一些实施例中,可以将从存储器读取指令502提供给核570。例如,从存储器读取指令可以表示用于读取多个,或者在一些情况下潜在地许多顺序的数据部分的指令(例如,图3的指令302)。在一些实施例中,核可以替代地将至少第一从存储器读取操作574指配给帮助器逻辑的集合中的至少一个,而不是核执行整个从存储器读取指令。例如,在一些实施例中,核可以将要传递的数据量分成两个或更多个非重叠部分,并将这些相应部分指配给帮助器逻辑的两个或更多个集合。适合的帮助器逻辑的示例包括但不限于帮助器核、加速器、卸载(offload)引擎等等。然后,帮助器逻辑可以执行从存储器读取操作,这可以帮助从核卸载此任务。这可以帮助允许核执行其它任务。而且,帮助器逻辑的两个或更多个集合可以能够并行或同时执行传递,这可以帮助改进性能。在一些情况下,这也可以帮助减少功率。例如,核可以具有比帮助器逻辑的集合的每个更高的功耗(例如,帮助器逻辑可以具有更少的功耗逻辑或特征,有序而不是无序等)。示范核架构、处理器和计算机架构处理器核可按照不同方式为了不同目的并且在不同的处理器中实现。例如,此类核的实现可包括:1)预计用于通用计算的通用有序核;2)预计用于通用计算的高性能通用无序核;3)主要预计用于图形和或科学(吞吐量)计算的专用核。不同处理器的实现可包括:1)CPU,包括预计用于通用计算的一个或多个通用有序核和或预计用于通用计算的一个或多个通用无序核;以及2)协处理器,包括主要预计用于图形和或科学(吞吐量)的一个或多个专用核。此类不同的处理器导致不同的计算机系统架构,其可包括:1)与CPU分开的芯片上的协处理器;2)在与CPU相同的封装中的单独管芯上的协处理器;3)与CPU相同的管芯上的协处理器(在这种情况下,此类协处理器有时称作专用逻辑,例如集成图形和或科学(吞吐量)逻辑,或者称作专用核);以及4)可在相同管芯上包括所描述的CPU(有时称作一个或多个应用核或一个或多个应用处理器)、上面描述的协处理器和附加功能性的片上系统。接下来描述示范核架构,之后接着示范处理器和计算机架构的描述。示范核架构有序和无序核框图图6A是示出根据本发明的实施例的示范有序流水线和示范寄存器重命名、无序发布执行流水线两者的框图。图6B是示出根据本发明的实施例的要包括在处理器中的有序架构核的示范实施例和示范寄存器重命名、无序发布执行架构核两者的框图。图6A-B中的实线框示出有序流水线和有序核,而虚线框的可选添加示出寄存器重命名、无序发布执行流水线和核。给定有序方面是无序方面的子集,将描述无序方面。在图6A中,处理器流水线600包括获取阶段602、长度解码阶段604、解码阶段606、分配阶段608、重命名阶段610、调度(又称作分派或发布)阶段612、寄存器读取存储器读取阶段614、执行阶段616、写回存储器写入阶段618、异常处置阶段622和提交阶段624。图6B示出包括耦合到执行引擎单元650并且均耦合到存储器单元670的前端单元630的处理器核690。核690可以是精简指令集计算(RISC)核、复杂指令集计算(CISC)核、超长指令字(VLIW)核或者混合或备选核类型。作为又一选项,核690可以是专用核,例如诸如网络或通信核、压缩引擎、协处理器核、通用计算图形处理单元(GPGPU)核、图形核等等。前端单元630包括耦合到指令高速缓存单元634的分支预测单元632,指令高速缓存单元634耦合到指令翻译后援缓冲器(TLB)636,指令翻译后援缓冲器(TLB)636耦合到指令获取单元638,指令获取单元638耦合到解码单元640。解码单元640(或解码器)可对指令进行解码,并且作为输出生成一个或多个微操作、微代码入口点、微指令、其它指令或其它控制信号,其从原始指令来解码或导出或者以其它方式反映原始指令。解码单元640可使用各种不同的机制来实现。适合机制的示例包括但不限于查找表、硬件实现、可编程逻辑阵列(PLA)、微代码只读存储器(ROM)等。在一个实施例中,核690包括微代码ROM或其它介质,其存储某些宏指令的微代码(例如在解码单元640中或者以其它方式在前端单元630内)。解码单元640耦合到执行引擎单元650中的重命名分配器单元652。执行引擎单元650包括重命名分配器单元652,其耦合到引退单元654和一个或多个调度器单元656的集合。一个或多个调度器单元656表示任何数量的不同调度器,包括保留站、中央指令窗口等。一个或多个调度器单元656耦合到一个或多个物理寄存器堆单元658。物理寄存器堆单元658的每个表示一个或多个物理寄存器堆,其中不同的寄存器堆存储一个或多个不同的数据类型,例如标量整数、标量浮点、打包整数、打包浮点、向量整数、向量浮点、状态(例如,作为要执行的下一指令的地址的指令指针)等。在一个实施例中物理寄存器堆单元658包括向量寄存器单元、写入屏蔽寄存器单元和标量寄存器单元。这些寄存器单元可提供架构向量寄存器、向量屏蔽寄存器和通用寄存器。一个或多个物理寄存器堆单元658被引退单元654重叠,以示出可实现寄存器重命名和无序执行的各种方式(例如使用一个或多个重排序缓冲器和一个或多个引退寄存器堆;使用一个或多个将来堆、一个或多个历史缓冲器和一个或多个引退寄存器堆;使用寄存器映射和寄存器池等)。引退单元654和一个或多个物理寄存器堆单元658耦合到一个或多个执行集群660。一个或多个执行集群660包括一个或多个执行单元662的集合和一个或多个存储器访问单元664的集合。执行单元662可执行各种操作(例如移位、加法、减法、乘法)并且对各种类型的数据(例如,标量浮点、打包整数、打包浮点、向量整数、向量浮点)来执行。虽然一些实施例可包括专用于特定功能或功能集合的多个执行单元,但是其它实施例可以仅包括一个执行单元或多个执行单元,其全部执行全部功能。一个或多个调度器单元656、一个或多个物理寄存器堆单元658和一个或多个执行集群660示出为可能是多个的,因为某些实施例创建针对某些类型的数据操作的单独流水线(例如标量整数流水线、标量浮点打包整数打包浮点向量整数向量浮点流水线和或存储器访问流水线(其各自具有其自己的调度器单元)、物理寄存器堆单元和或执行集群—以及在单独存储器访问流水线的情况下,实现只有这个流水线的执行集群具有一个或多个存储器访问单元664的某些实施例)。还应该理解,在使用单独流水线的情况下,这些流水线的一个或多个可以是无序发布执行,并且其余的是有序的。存储器访问单元664的集合耦合到存储器单元670,其包括耦合到数据高速缓存单元674(其耦合到2级(L2)高速缓存单元676)的数据TLB单元672。在一个示范实施例中,存储器访问单元664可包括加载单元、存储地址单元和存储数据单元,其的每个耦合到存储器单元670中的数据TLB单元672。指令高速缓存单元634还耦合到存储器单元670中的2级(L2)高速缓存单元676。L2高速缓存单元676耦合到一个或多个其它级的高速缓存,并且最终耦合到主存储器。作为示例,示范寄存器重命名、无序发布执行核架构可按如下所述实现流水线600:1)指令获取638执行获取和长度解码阶段602和604;2)解码单元640执行解码阶段606;3)重命名分配器单元652执行分配阶段608和重命名阶段610;4)一个或多个调度器单元656执行调度阶段612;5)一个或多个物理寄存器堆单元658和存储器单元670执行寄存器读取存储器读取阶段614;执行集群660执行执行阶段616;6)存储器单元670和一个或多个物理寄存器堆单元658执行写回存储器写入阶段618;7)各种单元可在异常处置阶段622中涉及;以及8)引退单元654和一个或多个物理寄存器堆单元658执行提交阶段624。核690可支持一个或多个指令集(例如x86指令集(具有随较新版本已经添加的一些扩展);Sunnyvale,CA的MIPSTechnologies的MIPS指令集;Sunnyvale,CA的ARMHoldings的ARM指令集(具有可选附加扩展,例如NEON)),包括本文所描述的一个或多个指令。在一个实施例中,核690包括支持打包数据指令集扩展的逻辑(例如AVX1、AVX2),由此允许由许多多媒体应用所使用的操作使用打包数据来执行。应该理解,核可支持多线程(执行操作或线程的两个或更多并行集合),并且可按照多种方式这样进行,包括时间切片多线程、同时多线程(其中单个物理核为物理核同时多线程的线程的每个提供逻辑核)或者其组合(例如,诸如在Intel®超线程技术中的时间切片获取和解码以及此后的同时多线程)。虽然在无序执行的上下文中描述寄存器重命名,但是应该理解,寄存器重命名可用于有序架构中。虽然处理器的所示实施例还包括单独指令和数据高速缓存单元634674和共享L2高速缓存单元676,但是备选实施例可具有用于指令和数据两者的单个内部高速缓存,例如诸如1级(L1)内部高速缓存或者多级内部高速缓存。在一些实施例中,系统可包括内部高速缓存以及在核和或处理器外部的外部高速缓存的组合。备选地,高速缓存全部可以在核和或处理器外部。特定示范有序核架构图7A-B示出更特定的示范有序核架构的框图,该核将会是芯片中的若干逻辑块(包括相同类型和或不同类型的其它核)中的一个。取决于应用,逻辑块通过具有某一固定功能逻辑、存储器IO接口和其它必要IO逻辑的高带宽互连网络(例如环形网络)进行通信。图7A是根据本发明的实施例的单个处理器核连同到管芯上互连网络702的其连接以及连同其2级(L2)高速缓存704的本地子集的框图。在一个实施例中,指令解码器700支持具有打包数据指令集扩展的x86指令集。L1高速缓存706允许对高速缓冲存储器的低延迟访问到标量和向量单元中。虽然在一个实施例中(为了简化设计),标量单元708和向量单元710使用单独寄存器集合(分别为标量寄存器712和向量寄存器714),以及在它们之间所传递的数据被写入到存储器并且然后从1级(L1)高速缓存706读回,但是本发明的备选实施例可使用不同方法(例如使用单个寄存器集合,或者包括允许数据在两个寄存器堆之间来传递而没有被写入和读回的通信路径)。L2高速缓存704的本地子集是全局L2高速缓存(其划分为单独本地子集,每处理器核一个)的部分。每个处理器核具有到L2高速缓存704的其自己的本地子集的直接访问路径。由处理器核所读取的数据存储在其L2高速缓存子集704中,并且能够被与访问其自己的本地L2高速缓存子集的其它处理器核并行地快速访问。由处理器核所写入的数据存储在其自己的L2高速缓存子集704中,并且如果需要则从其它子集来转储清除。环形网络确保共享数据的一致性。环形网络是双向的,以便允许诸如处理器核、L2高速缓存和其它逻辑块的代理在芯片内彼此通信。每个环形数据路径每方向为1012位宽。图7B是根据本发明的实施例的图7A中的处理器核的部分的展开图。图7B包括L1高速缓存704的L1数据高速缓存706A部分以及与向量单元710和向量寄存器714有关的更多细节。具体来说,向量单元710是16宽向量处理单元(VPU)(参见16宽ALU728),其执行整数、单精度浮点和双精度浮点指令的一个或多个。VPU支持通过拌和(swizzle)单元720来拌和寄存器输入、通过数字变换单元722A-B的数字变换以及通过复制单元724对存储器输入的复制。写入屏蔽寄存器726允许断定所产生向量写入。具有集成存储器控制器和图形的处理器图8是根据本发明的实施例的可具有多于一个核、可具有集成存储器控制器并且可具有集成图形的处理器800的框图。图8中的实线框示出具有单个核802A、系统代理810、一个或多个总线控制器单元816的集合的处理器800,而虚线框的可选添加示出具有多个核802A-N、系统代理单元810中的一个或多个集成存储器控制器单元814的集合和专用逻辑808的备选处理器800。因此,处理器800的不同实现可包括:1)具有作为集成图形和或科学(吞吐量)逻辑(其可包括一个或多个核)的专用逻辑808以及作为一个或多个通用核(例如通用有序核、通用无序核、两者的组合)的核802A-N的CPU;2)具有作为主要预计用于图形和或科学(吞吐量)的大量专用核的核802A-N的协处理器;以及3)具有作为大量通用有序核的核802A-N的协处理器。因此,处理器800可以是通用处理器、协处理器或专用处理器,例如诸如网络或通信处理器、压缩引擎、图形处理器、GPGPU(通用图形处理单元)、高吞吐量集成众核(MIC)协处理器(包括30个或更多核)、嵌入式处理器等等。处理器可在一个或多个芯片上实现。处理器800可以是一个或多个衬底的一部分和或可使用多种处理技术的任何一种(例如诸如BiCMOS、CMOS或NMOS)在一个或多个衬底上实现。存储器分层结构包括核内的一级或多级高速缓存、一个或多个共享高速缓存单元806或共享高速缓存单元集合,以及耦合到集成存储器控制器单元814的集合的外部存储器(未示出)。共享高速缓存单元806的集合可包括一个或多个中间级高速缓存,例如2级(L2)、3级(L3)、4级(L4)或者其它级高速缓存、末级高速缓存(LLC)和或其组合。虽然在一个实施例中,基于环的互连单元812互连集成图形逻辑808、共享高速缓存单元806的集合和系统代理单元810一个或多个集成存储器控制器单元814,但是备选实施例可将任何数量的众所周知技术用于互连此类单元。在一个实施例中,在一个或多个高速缓存单元806与核802A-N之间保持一致性。在一些实施例中,核802A-N的一个或多个能够进行多线程。系统代理810包括协调和操作核802A-N的那些组件。系统代理单元810可包括例如功率控制单元(PCU)和显示单元。PCU可以是或者包括用于调节核802A-N和集成图形逻辑808的功率状态所需的逻辑和组件。显示单元用于驱动一个或多个外部连接的显示器。核802A-N在架构指令集方面可以是同构或异构的;即,核802A-N的两个或更多可以能够执行相同指令集,而其它核可以能够仅执行那个指令集的子集或者不同的指令集。示范计算机架构图9-12是示范计算机架构的框图。用于膝上型、桌上型、手持PC、个人数字助理、工程工作站、服务器、网络装置、网络中枢、交换机、嵌入式处理器,数字信号处理器(DSP)、图形装置、视频游戏装置、机顶盒、微控制器、蜂窝电话、便携媒体播放器、手持装置和各种其它电子装置的本领域已知的其它系统设计和配置也是适合的。一般来说,能够结合如本文所公开的处理器和或其它执行逻辑的大量系统或电子装置一般是适合的。现在参考图9,所示的是根据本发明的一个实施例的系统900的框图。系统900可包括一个或多个处理器910、915,其耦合到控制器中枢920。在一个实施例中,控制器中枢920包括图形存储器控制器中枢(GMCH)990和输入输出中枢(IOH)950(其可在单独芯片上);GMCH990包括存储器和图形控制器(存储器940和协处理器945与其耦合);IOH950将输入输出(IO)装置960耦合到GMCH990。备选地,存储器和图形控制器的一个或两者集成在处理器内(如本文所描述的),存储器940和协处理器945直接耦合到处理器910以及具有IOH950的单个芯片中的控制器中枢920。附加处理器915的可选性质在图9中通过虚线表示。每个处理器910、915可包括本文所描述的处理核的一个或多个,并且可以是处理器800的某一版本。存储器940可以是例如动态随机存取存储器(DRAM)、相变存储器(PCM)或者两者的组合。对于至少一个实施例,控制器中枢920经由多点总线(例如前侧总线(FSB))、点对点接口(例如快速路径互连(QPI))或者类似连接995与一个或多个处理器910、915进行通信。在一个实施例中,协处理器945是专用处理器,例如诸如高吞吐量MIC处理器、网络或通信处理器、压缩引擎、图形处理器、GPGPU、嵌入式处理器等等。在一个实施例中,控制器中枢920可包括集成图形加速器。在包括架构、微架构、热、功耗特性等等的衡量度量范围方面,在物理资源910、915之间能够存在各种差异。在一个实施例中,处理器910执行控制一般类型的数据处理操作的指令。嵌入在指令内的可以是协处理器指令。处理器910将这些协处理器指令辨别为应该由所附连的协处理器945来执行的类型。相应地,处理器910在协处理器总线或其它互连上向协处理器945发布这些协处理器指令(或者表示协处理器指令的控制信号)。一个或多个协处理器945接受并执行所接收的协处理器指令。现在参考图10,所示的是根据本发明的实施例的第一更特定示范系统1000的框图。如图10中所示的,多处理器系统1000是点对点互连系统,并且包括经由点对点互连1050所耦合的第一处理器1070和第二处理器1080。处理器1070和1080的每个可以是某一版本的处理器800。在本发明的一个实施例中,处理器1070和1080分别是处理器910和915,而协处理器1038是协处理器945。在另一实施例中,处理器1070和1080分别是处理器910、协处理器945。示出处理器1070和1080分别包括集成存储器控制器(IMC)单元1072和1082。处理器1070还包括作为其总线控制器单元的部分的点对点(P-P)接口1076和1078;类似地,第二处理器1080包括P-P接口1086和1088。处理器1070、1080可使用点对点(P-P)接口电路1078、1088经由P-P接口1050来交换信息。如图10中所示的,IMC1072和1082将处理器耦合到相应存储器(即存储器1032和存储器1034),其可以是本地附连到相应处理器的主存储器的部分。处理器1070、1080各自可使用点对点接口电路1076、1094、1086、1098经由独立P-P接口1052、1054与芯片集1090交换信息。芯片集1090可选地可经由高性能接口1039与协处理器1038交换信息。在一个实施例中,协处理器1038是专用处理器,例如诸如高吞吐量MIC处理器、网络或通信处理器、压缩引擎、图形处理器、GPGPU、嵌入式处理器等等。共享高速缓存(未示出)可包括在任一处理器中或者两个处理器外部(但是仍然经由P-P互连与处理器连接),使得如果将处理器置入低功率模式,则任一或两个处理器的本地高速缓存信息可存储在共享高速缓存中。芯片集1090可经由接口1096耦合到第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(PCI)总线或者例如PCIExpress总线的总线或另一第三代IO互连总线(尽管本发明的范围不这样限制)。如图10中所示的,各种IO装置1014可连同总线桥1018(其将第一总线1016耦合到第二总线1020)耦合到第一总线1016。在一个实施例中,诸如协处理器、高吞吐量MIC处理器、GPGPU、加速器(例如,诸如,图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列或者任何其它处理器的一个或多个附加处理器1015耦合到第一总线1016。在一个实施例中,第二总线1020可以是低引脚数(LPC)总线。在一个实施例中,各种装置可耦合到第二总线1020,包括例如键盘和或鼠标1022、通信装置1027以及可包括指令代码和数据1030的存储单元1028(诸如磁盘驱动器或其它大容量存储装置)。此外,音频IO1024可耦合到第二总线1020。注意到其它架构是可能的。例如,系统可实现多点总线或其它此类架构,而不是图10的点对点架构。现在参考图11,所示的是根据本发明的实施例的第二更特定示范系统1100的框图。图10和图11中的相同元件具有相同附图标记,并且已经从图11中省略图10的某些方面,以避免模糊图11的其它方面。图11示出处理器1070、1080可分别包括集成存储器和IO控制逻辑(“CL”)1072和1082。因此,CL1072、1082包括集成存储器控制器单元,并且包括IO控制逻辑。图11示出不仅存储器1032、1034耦合到CL1072、1082,而且还示出IO装置1114也耦合到控制逻辑1072、1082。遗留IO装置1115耦合到芯片集1090。现在参考图12,所示的是根据本发明的实施例的SoC1200的框图。图8中的类似元件具有相同附图标记。而且,虚线框是更高级SoC上的可选特征。在图12中,一个或多个互连单元1202耦合到:应用处理器1210,其包括一个或多个核202A-N和一个或多个共享高速缓存单元806的集合;系统代理单元810;一个或多个总线控制器单元816;一个或多个集成存储器控制器单元814;一个或多个协处理器1220或其集合,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM)单元1230;直接存储器访问(DMA)单元1232;以及显示单元1240,用于耦合到一个或多个外部显示器。在一个实施例中,一个或多个协处理器1220包括专用处理器,例如诸如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、嵌入式处理器等等。本文所公开的机制的实施例可用硬件、软件、固件或者此类实现方法的组合来实现。本发明的实施例可实现为在可编程系统上执行的计算机程序或程序代码,所述可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和或存储元件)、至少一个输入装置和至少一个输出装置。例如图10中所示的代码1030的程序代码可应用于输入指令,以执行本文所描述的功能并且生成输出信息。输出信息可按照已知方式应用于一个或多个输出装置。为了本申请的目的,处理系统包括具有例如诸如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或者微处理器的处理器的任何系统。程序代码可以用高级过程或面向对象的编程语言来实现,以与处理系统进行通信。如果期望,程序代码也可以用汇编或机器语言来实现。实际上,本文所描述的机制在范围方面不限于任何具体编程语言。在任何情况下,语言可以是编译或解释语言。至少一个实施例的一个或多个方面可通过表示处理器内的各种逻辑的机器可读介质上存储的代表性指令来实现,所述指令在由机器读取时引起机器制作执行本文所描述的技术的逻辑。称作“IP核”的此类表示可存储在有形机器可读介质上,并且供应给各种客户或制造设施,以加载到实际制作逻辑或处理器的制作机器中。此类机器可读存储介质可以包括但不限于通过机器或装置所制造或形成的产品的非暂时、有形布置,包括:例如硬盘的存储介质;任何其它类型的盘,包括软盘、光盘、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)和磁光盘;半导体装置(例如只读存储器(ROM))、随机存取存储器(RAM)(例如动态随机存取存储器(DRAM)、静态随机存取存储器(SARAM))、可擦可编程只读存储器(EPROM)、闪速存储器、电可擦可编程只读存储器(EEPROM)、相变存储器(PCM);磁卡或光卡;或者适合用于存储电子指令的任何其它类型的介质。相应地,本发明的实施例还包括非暂时、有形机器可读介质,包含指令或者包含定义本文所描述的结构、电路、设备、处理器和或系统特征的设计数据(例如硬件描述语言(HDL))。此类实施例又可称作程序产品。模拟(包括二进制翻译、代码变形等)在一些情况下,指令变换器可用来将指令从源指令集变换成目标指令集。例如,指令变换器可将指令翻译(例如使用静态二进制翻译、包括动态编译的动态二进制翻译)、变形、模拟或者以其它方式将指令变换成将要由核来处理的一个或多个其它指令。指令变换器可以用软件、硬件、固件或其组合来实现。指令变换器可以在处理器上、处理器外或者部分处理器上和部分处理器外。图13是根据本发明的实施例的将使用软件指令变换器来将源指令集中的二进制指令变换成目标指令集中的二进制指令相对照的框图。在所示实施例中,指令变换器是软件指令变换器,尽管备选地,指令变换器可以用软件、固件、硬件或者其各种组合来实现。图13示出以高级语言1302的程序可使用x86编译器1304来编译,以生成x86二进制代码1306,其可由具有至少一个x86指令集核的处理器1316原生执行。具有至少一个x86指令集核的处理器1316表示任何处理器,其能够通过兼容地执行或者以其它方式处理以下项来执行与具有至少一个x86指令集核的Intel处理器基本上相同的功能:(1)Intelx86指令集核的指令集的相当大部分;或者(2)针对在具有至少一个x86指令集核的Intel处理器上运行的应用或其它软件的对象代码版本,以便实现与具有至少一个x86指令集核的Intel处理器基本上相同的结果。x86编译器1304表示可操作以生成x86二进制代码1306(例如对象代码)(其能够在具有或没有附加链接处理的情况下在具有至少一个x86指令集核的处理器1316上执行)的编译器。类似地,图13示出以高级语言1302的程序可使用备选指令集编译器1308来编译,以便生成备选指令集二进制代码1310,其可由没有至少一个x86指令集核的处理器1314(例如具有执行Sunnyvale,CA的MIPSTechnologies的MIPS指令集和或执行Sunnyvale,CA的ARMHoldings的ARM指令集的核的处理器)原生执行。指令变换器1312用来将x86二进制代码1306变换为可由没有x86指令集核的处理器1314原生执行的代码。这个变换的代码不太可能与备选指令集二进制代码1310是相同的,因为能够进行这个操作的指令变换器难以制作;然而,变换的代码将实现一般操作,并且由来自备选指令集的指令来组成。因此,指令变换器1312表示软件、固件、硬件或者其组合,其通过模拟、仿真或者任何其它过程允许处理器或者没有x86指令集处理器或核的其它电子装置执行x86二进制代码1306。针对本文公开的处理器的任何一个所描述的组件、特征和细节可以可选地应用于本文公开的方法的任何一个,其在实施例中可以可选地由和或通过此类处理器来执行。本文在实施例中所描述处理器的任何一个可以可选地包括在本文所公开的系统的任何一个中。本文在实施例中公开的指令的任何一个可以可选地由本文公开的处理器的任何一个执行和或通过本文公开的处理器的任何一个执行,可选地在具有本文所示的微架构中的任何一个的一些实施例中,以及可选地在本文所示的系统中的任何一个中包括的一些实施例中。相应地,在一些实施例中,针对本文公开的指令的任何一个描述的特征和细节因此可以可选地应用于可用于执行那些指令的本文公开的处理器和或系统中的任何一个。本文公开的处理器组件可以说成操作以执行操作、配置成执行操作、能够执行操作或能执行操作。例如,解码器可以要解码指令,执行单元可以要存储结果等。为了清楚性,要理解这些表达不暗示处理器组件在操作或使用中,但是而是指当处理器组件在操作中时它们能够进行或能进行的事物,但在设备权利要求中,这些处理器组件不在操作中。在描述和权利要求中,可使用术语“耦合”和或“连接”连同其派生。这些术语不预计作为彼此的同义词。而是,在实施例中,“连接”可用来指示两个或更多元件彼此直接物理和或电接触。“耦合”可意味着两个或更多元件彼此直接物理和或电接触。然而,“耦合”也可意味着两个或更多元件不是彼此直接接触,但是仍然还彼此合作或交互。例如,执行单元可以通过一个或多个中间组件与寄存器和或解码单元耦合。在附图中,箭头用于示出连接和耦合。本文公开的组件和前面附图中描绘的方法可以通过包括硬件(例如,晶体管、门、电路等)、固件(例如,存储微代码或控制信号的非易失性存储器)、软件(例如,存储在非暂时计算机可读存储介质上)或其组合的逻辑、模块或单元来实现。在一些实施例中,逻辑、模块或单元可以包括至少一些或主要潜在地与某一可选软件组合的硬件和或固件的混合。可使用术语“和或”。如本文所使用的,术语“和或”意味着一个或另一或者两者(例如A和或B意味着A或B或者A和B两者)。在以上描述中,已经阐述了许多特定细节,以便提供对实施例的透彻理解。然而,在没有这些特定细节的一些的情况下可实施其它实施例。本发明的范围不是通过以上提供的特定示例来确定,而是仅通过下面权利要求来确定。在其它实例中,众所周知的电路、结构、装置和操作以框图形式示出和或没有细节,以避免模糊本描述的理解。在认为适当的情况下,附图之间重复附图标记或者附图标记的末尾部分,以指示可选地可具有相似或相同特性的对应或相似的元件,除非以其它方式指定或以其它方式清楚地显而易见。某些操作可以由硬件组件执行,或者可以体现在机器可执行或电路可执行指令中,其可以用于引起和或导致机器、电路或硬件组件(例如,处理器、处理器部分、电路等)通过执行操作的指令编程。还可以可选地通过硬件和软件的组合来执行操作。处理器、机器、电路或硬件可以包括特定或具体电路或其它逻辑(例如,潜在地与固件和或软件组合的硬件)其操作以执行和或处理指令并响应于指令存储结果。一些实施例包括制品(例如计算机程序产品),其包括机器可读介质。介质可包括以由机器可读的形式来提供(例如存储)信息的机制。机器可读介质可提供指令或指令顺序或者在其上存储了指令或指令顺序,所述指令如果和或在由机器执行时操作以促使机器执行和或导致机器执行本文所公开的一个或多个操作、方法或技术。在一些实施例中,机器可读介质可包括有形和或非暂时机器可读存储介质。例如,非暂时机器可读存储介质可包括软盘、光存储介质、光盘、光数据存储装置、CD-ROM、磁盘、磁光盘、只读存储器(ROM)、可编程ROM(PROM)、可擦且可编程ROM(EPROM)、电可擦且可编程ROM(EEPROM)、随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、闪速存储器、相变存储器、相变数据存储材料、非易失性存储器、非易失性数据存储装置、非暂时存储器、非暂时数据存储装置等等。非暂时机器可读存储介质不是由暂时传播信号来组成。在一些实施例中,存储介质可包括有形介质,其包括固态物质或材料,诸如例如半导体材料、相变材料、磁固体材料、固体数据存储材料等。备选地,可选地可以使用非有形的暂时计算机可读传输介质,诸如例如电、光、声或其它形式的传播信号(例如,载波、红外信号和数字信号)。适合机器的示例包括但不限于通用处理器、专用处理器、数字逻辑电路、集成电路等等。适合机器的又一些示例包括计算机系统或其它电子装置,其包括处理器、数字逻辑电路或集成电路。此类计算机系统或电子装置的示例包括但不限于桌上型计算机、膝上型计算机、笔记本计算机、平板计算机、上网本、智能电话、蜂窝电话、服务器、网络装置(例如路由器和交换机)、移动因特网装置(MID)、媒体播放器、智能电视机、上网机、机顶盒和视频游戏控制器。例如,遍及本说明书中对“一个实施例”、“实施例”、“一个或多个实施例”、“一些实施例”的参考指示具体特征可包括在本发明的实践中,但是不一定要求这样。类似地,在本描述中,各种特征有时在单个实施例、附图或者其描述中分组在一起,以用于简化本公开,并且帮助理解各种发明方面的目的。然而,本公开的这种方法不要被解释为反映本发明要求超过每个权利要求中明确叙述的特征的意图。而是,如以下权利要求所反映的,发明方面在于少于单个所公开实施例的全部特征。因此,接着详细描述的权利要求书由此明确结合到本详细描述中,其中各权利要求自身代表本发明的单独实施例。示例1是一种处理器,包括解码从存储器读取指令的解码单元。所述从存储器读取指令要指示源存储器操作数和目的地存储位置。所述处理器还包括与所述解码单元耦合的执行单元。响应于所述从存储器读取指令,所述执行单元要执行以下操作:从所述源存储器操作数读取数据;当所述数据有缺陷时,将有缺陷数据的指示存储在架构上可见的存储位置中;以及当所述数据有缺陷时,完成执行所述从存储器读取指令而不引起异常条件。示例2包括示例1所述的处理器,可选地其中响应于所述从存储器读取指令,所述执行单元要从块存储存储器位置读取所述数据,所述块存储存储器位置要在由所述从存储器读取指令可寻址的物理存储器地址空间中,并且可选地其中所述处理器包括通用中央处理单元(CPU)。示例3包括示例1所述的处理器,可选地其中所述解码单元要解码第二从存储器读取指令,所述第二从存储器读取指令要具有与所述从存储器读取指令相同的操作码,并且其要指示第二源存储器操作数和第二目的地存储位置。可选地其中响应于所述第二从存储器读取指令,所述执行单元要执行以下操作:从所述第二源存储器操作数读取第二数据;当所述第二数据无缺陷时,将所述第二数据存储到所述第二目的地存储位置;以及当所述第二数据无缺陷时,将所述第二数据无缺陷的指示存储在所述架构上可见的存储位置中。示例4包括示例1所述的处理器,可选地其中在存储所述有缺陷数据的所述指示之前,响应于所述从存储器读取指令,所述执行单元要确定是否从块存储存储器位置读取了有缺陷的所述数据。示例5包括示例4所述的处理器,可选地其中当所述数据有缺陷时,以及当从所述块存储存储器位置读取有缺陷的所述数据时,响应于所述从存储器读取指令,所述执行单元要确定存储所述有缺陷数据的所述指示。示例6包括示例5所述的处理器,可选地其中所述解码单元要解码第二从存储器读取指令,所述第二从存储器读取指令要具有与所述从存储器读取指令相同的操作码,并且其要指示第二源存储器操作数。可选地其中响应于所述第二从存储器读取指令,所述执行单元要执行以下操作:从所述第二源存储器操作数读取第二数据;当所述第二数据有缺陷时,确定未从块存储存储器位置读取所述第二数据;以及在完成执行所述第二从存储器读取指令之前引起异常条件。示例7包括示例6所述的处理器,可选地其中响应于所述第二从存储器读取指令,所述执行单元要引起所述异常条件,所述异常条件要是机器检查异常。示例8包括示例1所述的处理器,还包括基于数据奇偶校验错误和纠错码(ECC)错误中的至少一个来检测所述数据有缺陷的逻辑。示例9包括示例1所述的处理器,可选地其中所述解码单元还要解码第二从存储器读取指令,所述第二从存储器读取指令要已经包括在在所述从存储器读取指令之前的指令集中,并且可选地其中当读取有缺陷的数据时,响应于所述第二从存储器读取指令所述处理器要引起异常条件。示例10包括示例1至9的任一项所述的处理器,可选地其中所述解码单元要解码所述从存储器读取指令,所述从存储器读取指令要指示通用寄存器作为所述架构上可见的存储位置,并且可选地其中当所述数据有缺陷时,响应于所述从存储器读取指令,所述执行单元要将所述有缺陷数据的所述指示存储在所述通用寄存器中。示例11包括示例1至9的任一项所述的处理器,可选地其中所述解码单元要解码所述从存储器读取指令,所述从存储器读取指令要指示至少一个条件码位作为所述架构上可见的存储位置,并且可选地其中当所述数据有缺陷时,响应于所述从存储器读取指令,所述执行单元要存储所述至少一个条件码位的所述指示。示例12包括示例1至9的任一项所述的处理器,可选地其中所述解码单元要解码所述从存储器读取指令,所述从存储器读取指令要指示要是目的地存储器操作数的所述目的地存储位置,并且可选地其中所述从存储器读取指令要指示第二架构上可见存储位置,所述架构上可见存储位置要存储要从所述源存储器操作数存储到所述目的地存储器操作数的数据量。示例13包括示例12的任一项所述的处理器,可选地其中响应于所述从存储器读取指令,所述执行单元要将更新的数据量存储在所述第二架构上可见存储位置中,所述更新的数据量指示当读取了有缺陷的所述数据时多少所述数据量已存储到所述目的地存储位置。示例14包括示例1至9的任一项所述的处理器,可选地其中所述解码单元要解码所述从存储器读取指令,所述从存储器读取指令要指示要是所述处理器的寄存器的所述目的地存储位置。示例15是一种由处理器执行的方法,包括:接收从存储器读取指令。所述从存储器读取指令指示源存储器操作数和目的地存储位置。所述方法包括响应于所述从存储器读取指令,从所述源存储器操作数读取数据;。所述方法包括当所述数据有缺陷时,响应于所述从存储器读取指令,将有缺陷数据的指示存储在架构上可见的存储位置中。所述方法包括当所述数据有缺陷时,响应于所述从存储器读取指令,完成执行所述从存储器读取指令而不引起异常条件。示例16包括示例15所述的方法,还包括:接收第二从存储器读取指令,所述第二从存储器读取指令具有与所述从存储器读取指令相同的操作码,并指示第二源存储器操作数和第二目的地存储位置。所述方法还包括响应于所述第二从存储器读取指令,从所述第二源存储器操作数读取第二数据。所述方法还包括当所述第二数据没有缺陷时,响应于所述第二从存储器读取指令,将所述第二数据存储到所述第二目的地存储位置。所述方法还包括当所述第二数据没有缺陷时,响应于所述第二从存储器读取指令,将所述第二数据没有缺陷的指示存储在所述架构上可见的存储位置。示例17包括示例15所述的方法,还包括:在存储所述有缺陷数据的所述指示之前,响应于所述从存储器读取指令,确定是否从块存储存储器位置读取了有缺陷的所述数据。示例18包括示例17所述的方法,还包括:当所述数据有缺陷时,以及当从所述块存储存储器位置读取有缺陷的所述数据时,确定存储所述有缺陷数据的所述指示,可选地其中如果替代地没有从所述块存储存储器位置读取所述有缺陷的数据,则将会进行确定引起异常条件。示例19包括示例15所述的方法,可选地其中所述接收包括接收指示作为目的地存储器操作数的所述目的地存储位置并指示存储要从所述源存储器操作数存储到所述目的地存储器操作数的数据量的指示的第二架构上可见存储位置的所述指令。示例20包括示例15所述的方法,可选地其中所述读取包括从块存储存储器位置读取所述数据,所述块存储存储器位置在物理存储器地址空间中,所述物理存储器地址空间通过所述从存储器读取指令可寻址,并且可选地其中所述处理器包括通用中央处理单元(CPU)。示例21包括示例15所述的方法,还包括,执行以下中的一个的特权系统软件:以无缺陷数据替换有缺陷的所述数据;以及修复有缺陷的所述数据以使其无缺陷。示例22是一种处理指令的系统,包括:互连以及与所述互连耦合的处理器。所述处理器要接收从存储器读取指令。所述从存储器读取指令指示源存储器操作数和目的地存储位置。所述处理器响应于所述从存储器读取指令,要执行以下操作:从所述源存储器操作数读取数据;当所述数据有缺陷时,将有缺陷数据的指示存储在架构上可见的存储位置;当所述数据有缺陷时,完成执行所述从存储器读取指令而不引起异常条件。所述系统还包括与所述互连耦合的动态随机存取存储器(DRAM)。所述DRAM存储指令集合。所述指令集合在由所述系统执行时引起所述系统执行以下操作:访问存储在所述架构上可见的存储位置中的所述有缺陷数据的所述指示;以及执行以下操作中的一个:以无缺陷数据替换有缺陷的所述数据以及修复有缺陷的所述数据以使其无缺陷。示例23包括示例22所述的系统,可选地其中在存储所述有缺陷数据的所述指示之前,响应于所述从存储器读取指令,所述处理器要确定是否从块存储存储器位置读取了有缺陷的所述数据。示例24是一种制品,包括非暂时性机器可读存储介质。所述非暂时性机器可读存储介质存储多个指令,所述多个指令包括从存储器读取指令。所述从存储器读取指令,如果由机器执行,要引起所述机器执行包括以下操作的操作:响应于所述从存储器读取指令,从要由所述从存储器读取指令指示的源存储器操作数读取数据。而且当所述数据有缺陷时,响应于所述从存储器读取指令,将有缺陷数据的指示存储在架构上可见的存储位置中;以及当所述数据有缺陷时,响应于所述从存储器读取指令,完成执行所述从存储器读取指令而不引起异常条件。示例25包括示例24所述的制品,可选地其中所述从存储器读取指令如果由所述机器执行,要引起所述机器执行操作,所述操作包括在存储所述有缺陷数据的所述指示之前,确定是否从块存储存储器位置读取有缺陷的所述数据。

权利要求:1.一种处理器,包括:解码从存储器读取指令的解码单元,所述从存储器读取指令指示源存储器操作数和目的地存储位置;以及与所述解码单元耦合的执行单元,响应于所述从存储器读取指令,所述执行单元执行以下操作:从所述源存储器操作数中读取数据;当所述数据有缺陷时,将有缺陷数据的指示存储在架构上可见的存储位置中;以及当所述数据有缺陷时,完成执行所述从存储器读取指令而不引起异常条件。2.如权利要求1所述的处理器,其中响应于所述从存储器读取指令,所述执行单元要从块存储存储器位置读取所述数据,所述块存储存储器位置要在由所述从存储器读取指令可寻址的物理存储器地址空间中,并且其中所述处理器包括通用中央处理单元(CPU)。3.如权利要求1所述的处理器,其中所述解码单元要解码第二从存储器读取指令,所述第二从存储器读取指令要具有与所述从存储器读取指令相同的操作码,并且所述第二从存储器读取指令要指示第二源存储器操作数和第二目的地存储位置,并且其中响应于所述第二从存储器读取指令,所述执行单元要执行以下操作:从所述第二源存储器操作数读取第二数据;当所述第二数据没有缺陷时,将所述第二数据存储到所述第二目的地存储位置;以及当所述第二数据没有缺陷时,将所述第二数据没有缺陷的指示存储在所述架构上可见的存储位置中。4.如权利要求1所述的处理器,其中在存储所述有缺陷数据的所述指示之前,响应于所述从存储器读取指令,所述执行单元要确定是否从块存储存储器位置读取了有缺陷的所述数据。5.如权利要求4所述的处理器,其中当所述数据有缺陷时,以及当从所述块存储存储器位置读取了有缺陷的所述数据时,响应于所述从存储器读取指令,所述执行单元要确定存储所述有缺陷数据的所述指示。6.如权利要求5所述的处理器,其中所述解码单元要解码第二从存储器读取指令,所述第二从存储器读取指令要具有与所述从存储器读取指令相同的操作码,并且其要指示第二源存储器操作数,并且其中响应于所述第二从存储器读取指令,所述执行单元要执行以下操作:从所述第二源存储器操作数读取第二数据;当所述第二数据有缺陷时,确定未从块存储存储器位置读取所述第二数据;以及在完成执行所述第二从存储器读取指令之前引起异常条件。7.如权利要求6所述的处理器,其中响应于所述第二从存储器读取指令,所述执行单元要引起所述异常条件,所述异常条件要是机器检查异常。8.如权利要求1所述的处理器,还包括基于数据奇偶校验错误和纠错码(ECC)错误中的至少一个来检测所述数据有缺陷的逻辑。9.如权利要求1所述的处理器,其中所述解码单元还要解码第二从存储器读取指令,所述第二从存储器读取指令要已经包括在在所述从存储器读取指令之前的指令集中,并且其中当读取有缺陷的数据时,响应于所述第二从存储器读取指令,所述处理器要引起异常条件。10.如权利要求1至9的任一项所述的处理器,其中所述解码单元要解码所述从存储器读取指令,所述从存储器读取指令要指示通用寄存器作为所述架构上可见的存储位置,并且其中当所述数据有缺陷时,响应于所述从存储器读取指令,所述执行单元要将所述有缺陷数据的所述指示存储在所述通用寄存器中。11.如权利要求1至9的任一项所述的处理器,其中所述解码单元要解码所述从存储器读取指令,所述从存储器读取指令要指示至少一个条件码位作为所述架构上可见的存储位置,并且其中当所述数据有缺陷时,响应于所述从存储器读取指令,所述执行单元要存储所述至少一个条件码位的所述指示。12.如权利要求1至9的任一项所述的处理器,其中所述解码单元要解码所述从存储器读取指令,所述从存储器读取指令要指示要是目的地存储器操作数的所述目的地存储位置,并且其中所述从存储器读取指令要指示第二架构上可见存储位置,所述第二架构上可见存储位置要存储要从所述源存储器操作数存储到所述目的地存储器操作数的数据量。13.如权利要求12的任一项所述的处理器,其中响应于所述从存储器读取指令,所述执行单元要将更新的数据量存储在所述第二架构上可见存储位置中,所述更新的数据量指示当读取了有缺陷的所述数据时多少所述数据量已存储到所述目的地存储位置。14.如权利要求1至9的任一项所述的处理器,其中所述解码单元要解码所述从存储器读取指令,所述从存储器读取指令要指示要是所述处理器的寄存器的所述目的地存储位置。15.一种由处理器执行的方法,包括:接收从存储器读取指令,所述从存储器读取指令指示源存储器操作数和目的地存储位置;响应于所述从存储器读取指令,从所述源存储器操作数读取数据;当所述数据有缺陷时,响应于所述从存储器读取指令,将有缺陷数据的指示存储在架构上可见的存储位置中;以及当所述数据有缺陷时,响应于所述从存储器读取指令,完成执行所述从存储器读取指令而不引起异常条件。16.如权利要求15所述的方法,还包括:接收第二从存储器读取指令,所述第二从存储器读取指令具有与所述从存储器读取指令相同的操作码,并指示第二源存储器操作数和第二目的地存储位置;响应于所述第二从存储器读取指令,从所述第二源存储器操作数读取第二数据;当所述第二数据没有缺陷时,响应于所述第二从存储器读取指令,将所述第二数据存储到所述第二目的地存储位置;以及当所述第二数据没有缺陷时,响应于所述第二从存储器读取指令,将所述第二数据没有缺陷的指示存储在所述架构上可见的存储位置。17.如权利要求15所述的方法,还包括:在存储所述有缺陷数据的所述指示之前,响应于所述从存储器读取指令,确定是否从块存储存储器位置读取了有缺陷的所述数据。18.如权利要求17所述的方法,还包括:当所述数据有缺陷时,以及当从所述块存储存储器位置读取了有缺陷的所述数据时,确定存储所述有缺陷数据的所述指示,其中如果替代地没有从所述块存储存储器位置读取所述有缺陷的数据,则将会进行确定引起异常条件。19.如权利要求15所述的方法,其中所述接收包括接收指示作为目的地存储器操作数的所述目的地存储位置并指示存储要从所述源存储器操作数存储到所述目的地存储器操作数的数据量的指示的第二架构上可见存储位置的所述指令。20.如权利要求15所述的方法,其中所述读取包括从块存储存储器位置读取所述数据,所述块存储存储器位置在物理存储器地址空间中,所述物理存储器地址空间通过所述从存储器读取指令可寻址,并且其中所述处理器包括通用中央处理单元(CPU)。21.如权利要求15所述的方法,还包括,执行以下中的一个的特权系统软件:以无缺陷数据替换有缺陷的所述数据;以及修复有缺陷的所述数据以使其无缺陷。22.一种处理指令的系统,包括:互连;与所述互连耦合的处理器,所述处理器接收从存储器读取指令,所述从存储器读取指令指示源存储器操作数和目的地存储位置,所述处理器响应于所述从存储器读取指令,而执行以下操作:从所述源存储器操作数读取数据;当所述数据有缺陷时,将有缺陷数据的指示存储在架构上可见的存储位置中;以及当所述数据有缺陷时,完成执行所述从存储器读取指令而不引起异常条件;以及与所述互连耦合的动态随机存取存储器(DRAM),所述DRAM存储指令集合,所述指令集合在由所述系统执行时引起所述系统执行以下操作:访问存储在所述架构上可见的存储位置中的所述有缺陷数据的所述指示;以及执行以下操作中的一个:以无缺陷数据替换有缺陷的所述数据以及修复有缺陷的所述数据以使其无缺陷。23.如权利要求22所述的系统,其中在存储所述有缺陷数据的所述指示之前,响应于所述从存储器读取指令,所述处理器要确定是否从块存储存储器位置读取了有缺陷的所述数据。24.一种设备,包括用于执行权利要求15至21中的任一项的所述方法的部件。25.一种非暂时性机器可读存储介质,其存储包括第一指令的指令,所述第一指令如果由机器执行,则操作以促使所述机器执行权利要求15至21中的任一项的所述方法。

百度查询: 英特尔公司 不对有缺陷数据采取异常的从存储器读取指令、处理器、方法和系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。