CN115777097A - 清除寄存器数据 - Google Patents

清除寄存器数据 Download PDF

Info

Publication number
CN115777097A
CN115777097A CN202180047765.9A CN202180047765A CN115777097A CN 115777097 A CN115777097 A CN 115777097A CN 202180047765 A CN202180047765 A CN 202180047765A CN 115777097 A CN115777097 A CN 115777097A
Authority
CN
China
Prior art keywords
data
write
registers
processing unit
register
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.)
Pending
Application number
CN202180047765.9A
Other languages
English (en)
Inventor
J.L.弗格森
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.)
Graphcore Ltd
Original Assignee
Graphcore Ltd
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
Application filed by Graphcore Ltd filed Critical Graphcore Ltd
Publication of CN115777097A publication Critical patent/CN115777097A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)

Abstract

一种具有寄存器文件的处理单元,该寄存器文件包括:多个寄存器,每个寄存器具有被配置为接收写使能信号的写使能输入和连接到处理单元写数据路径的写数据输入,并且被配置为当写使能信号生效时,从写数据路径写数据值以存储在寄存器中;写电路,被配置为在正常操作模式下使寄存器中的相应一个的写使能信号生效,以使得操作数据值从写数据路径被写入该寄存器;以及控制数据清理模式的数据清理电路,在数据清理模式下,使寄存器文件中所有寄存器的写使能信号同时生效,使得清理数据值从写数据路径被同时写入所有寄存器。

Description

清除寄存器数据
技术领域
本公开涉及从处理器中的寄存器清除数据。
背景技术
在处理复杂或高容量应用的数据的环境中,工作加速器可以是将某些数据的处理从主机系统卸载到其上的子系统。这种工作加速器可以具有用于执行特定类型处理的专用硬件。这种工作加速器的特征在于,它被配置为以高工作速率运行,即以高功率和高时钟速度处理大量数据。
这种工作加速器可以应用在所谓的“机密计算”场景中。也就是说,可以从主机向它们提供工作负载,其中该工作负载可能包含敏感或机密数据。希望能够为不同的这种工作负载重用工作加速器。在某些情况下,例如,如果这些工作负载不属于同一实体,则有必要在向加速器提供新的工作负载之前,从加速器中清除所有机密数据。
加速器可以包括一个或多个处理器。数据留存在存储器和/或寄存器中的处理器中。寄存器是可写存储装置,其被配置为在处理器运行时保存数据,通常是临时的。所谓的寄存器文件包括多个寄存器。寄存器文件在物理上比主存储器更靠近处理器的处理单元,并且可以紧密地耦合到该处理单元。数据写入寄存器文件的速度比写入主存储器的速度快得多。类似地,可以比从主存储器中取回数据更快地从寄存器文件中取回数据以供在处理单元中使用。
寄存器文件可以用来存储任何类型的数据。其可以包括与进入处理单元的指令一起提供的操作数、从主存储器取回的操作数、由处理单元中的指令提供的地址、从主存储器取回的地址和指针等等。可以存储在主存储器中的任何数据也可以存储在寄存器文件中。一些处理器具有专用于特定操作的寄存器文件。例如,在多线程处理单元的环境中,每个操作线程可以有它自己的环境,该环境存储在它自己的寄存器文件中。
在机密计算场景下,在下一个工作负载被提供给处理器之前,不仅主存储器而且寄存器文件都需要清理它们可能已经临时存储的任何数据。为此,寄存器包括复位输入。在操作的复位阶段,寄存器的复位输入被激活,寄存器中的数据被清理(例如,通过将其写入预定值,例如全0或全1)。
发明内容
根据本发明,提供了一种寄存器文件,在寄存器上没有这种复位输入。描述了一种清理寄存器文件中的数据的方法,该方法不需要这种复位输入,但是仍然可靠地清理可能已经存储在寄存器文件中的任何数据。
虽然数据清理操作对于机密计算应用是重要的,但是在寄存器文件中的每个寄存器的物理构造中提供复位输入使得寄存器更加复杂。提供没有这种复位输入的寄存器的能力使得能够构造更简单并且占用更少硅面积的寄存器。
本公开的一个方面提供了一种具有寄存器文件的处理单元,该寄存器文件包括:
多个寄存器,每个寄存器具有被配置为接收写使能信号的写使能输入和连接到处理单元的写数据路径的写数据输入,并且被配置为当写使能信号被生效时,从写数据路径写数据值以存储在寄存器中;
写电路,被配置为在正常操作模式下使寄存器中的相应一个的写使能信号生效,以使得操作数据值从写数据路径被写入该寄存器;以及
数据清理电路,被配置为控制数据清理模式,在该数据清理模式下,使寄存器文件中的所有寄存器的写使能信号同时生效,以使得清理数据值从写数据路径被同时写入所有寄存器。
在一些实施例中,处理单元包括被配置为执行计算机指令的执行单元,其中在正常操作模式下,写使能信号由执行单元执行的计算机可执行指令提供。
处理单元可以被配置为对由计算机可执行指令指示的地址进行解码,用于生成写使能信号。
操作数据值可以由执行单元执行的计算机可执行指令来指示。
在一些实施例中,处理单元包括被配置为与处理单元外部的主机计算机通信的端口。
处理单元可以被配置为从连接到端口的主机计算机接收数据清理值,并将数据清理值施加到写数据路径。
在一些实施例中,处理单元被配置为经由端口从主机计算机接收数据清理模式信号,该数据清理模式信号使所有寄存器上的写使能信号生效。
本公开的另一方面提供了一种计算机系统,包括与处理单元外部的主机计算机通信的处理单元,该处理单元具有寄存器文件,该寄存器文件包括:
多个寄存器,每个寄存器具有被配置为接收写使能信号的写使能输入和连接到处理单元的写数据路径的写数据输入,并且被配置为当写使能信号生效时,从写数据路径写数据值以存储在寄存器中,
写电路,被配置为在正常操作模式下使寄存器中的相应一个的写使能信号生效,以使得操作数据值从写数据路径被写入该寄存器,以及
数据清理电路,被配置为控制数据清理模式,在该数据清理模式下,使寄存器文件中所有寄存器的写使能信号同时生效,以使得清理数据值从写数据路径被同时写入所有寄存器;
其中主机包括存储装置,该存储装置被配置为保存清理数据值的存储器,并且被配置为向清理数据值提供数据清理模式信号,该处理单元被配置为接收清理数据值,然后将其施加到写数据路径,并且使用数据清理模式信号来使所有寄存器上的写使能信号同时生效。
存储装置可以包括片上系统寄存器。
本公开的另一方面提供了一种清理连接到主机的处理器的寄存器文件中的数据的方法,该方法包括:
在数据清理模式下,在处理器处从主机接收数据清理模式信号和清理数据值,以及将从主机接收的清理数据值施加到连接到多个寄存器中的每一个的写数据输入的写数据路径,其中数据清理模式信号使得寄存器文件中所有寄存器的写使能信号同时生效,以使得清理数据值从写数据路径被同时写入所有寄存器。
在正常操作模式下,该方法可以包括使寄存器中相应一个的写使能信号生效,以使得操作数据值从写数据路径被写入该寄存器。
在一些实施例中,该方法包括对由处理器执行的计算机可执行指令所指示的地址进行解码,用于在正常操作模式下生成写使能信号。其中操作数据值由处理器执行的计算机可执行指令来指示。
可以在时钟信号的控制下,使写使能信号同时生效,该时钟信号由控制处理器执行计算机可执行指令的时钟提供。
为了更好地理解本发明,并示出如何实现本发明,现在将通过示例的方式参考以下附图。
附图说明
图1是具有复位输入的寄存器的示意图;
图2是包括没有复位输入的寄存器的寄存器文件示意图;
图3是处理单元的示意框图;
图4是处理单元内的处理流水线和寄存器文件的示意框图;以及
图5是包括连接到主机的多个处理单元的处理器的示意框图。
具体实施方式
根据本公开,提供了一种包括没有复位输入的寄存器的寄存器文件。这使得寄存器能够由较小的触发器或锁存器构成,这些触发器或锁存器能够比具有复位输入的触发器或锁存器更快地操作。此外,描述了一种用于清理存储在寄存器文件中的数据而不需要这种复位输入的技术。
图1以简化的方式示出了现有的寄存器结构。寄存器Ri包括写使能输入40,其被配置为接收经解码的写地址,用于将数据写入寄存器。寄存器文件可以包括多个这样的寄存器,在任何给定时间,只有其中一个寄存器使其写使能输入40使能,以允许数据被写入其中。在写数据总线42上提供要写入寄存器的数据。写数据总线的宽度在不同的体系结构中不同,但是例如可以是32位宽。当针对该特定寄存器激活写使能输入40时,写数据总线42上的数据被写入写数据输入44上的寄存器文件。寄存器可以具有一个或多个数据读端口46。例如,可以经由输出三态缓冲器从该端口读数据。与寄存器Ri相关联的三态缓冲器48具有控制输入,当被激活时,该控制输入使得数据能够从读端口46传送到读数据总线50。图1所示的已知寄存器文件结构包括用于寄存器文件的每个寄存器的复位输入52。复位输入的目的是当需要清理数据时,对已经存储在寄存器文件中的任何数据进行复位,例如开始新的操作或处理器接收新的工作负载。这在机密计算应用的环境中特别有用。
现在将参考图2来说明寄存器文件的一个示例,其中各个寄存器没有复位输入。这种寄存器文件可以由从合适的库中访问的单元形成。
图2示出了包括多个这样的寄存器R0…Rm的示例寄存器文件。每个寄存器具有写数据端口400…44m和读数据端口460…46m。请注意,实际上可能有一个以上的读数据端口。每个寄存器与逻辑电路48相关联,逻辑电路48接收经解码的读地址,以确定从哪个寄存器将数据读取到读数据总线50上。从写数据总线42写入数据。在正常操作中,这类似于将数据写入图1的寄存器的方式。也就是说,每个寄存器具有写使能输入400…40m,当使能时,使得写数据总线上的数据被写入该寄存器。写输入由写逻辑180提供的写地址选择性地使能。读地址由读取解码逻辑182提供。请注意,在图2中,为了清楚起见,没有示出读解码逻辑和逻辑电路48之间的连接。
由于这些寄存器并非都有复位输入,因此当进程用于不同工作负载时(例如,在机密计算环境中),需要不同的技术来清理来自寄存器的数据。这是通过使用使得寄存器的所有写使能输入400…40m同时被激活的信号来实现的。该信号例如可以是控制处理单元操作的时钟信号的边沿。图2示出了时钟3,其提供具有上升沿和下降沿的时钟信号43。在一些实施例中,时钟3还控制其他功能,如下所述。时钟信号43被提供给开关电路47的一个输入端,开关电路47在另一个输入端接收来自写逻辑180的写地址。如下所述,控制值45被设置在寄存器位置中。可以是单个比特的控制值45控制开关电路47的操作。当控制值被设置时,开关电路47将时钟信号43连接到每个寄存器的写使能输入400…40m,以使得所有寄存器从写数据总线42读入数据。任何清理数据都可以放在写数据总线上。例如,可以将全0或全1提供给写数据总线,以重写所有寄存器中的现有数据。复位时写入寄存器的值是实现细节;在芯片由硅构成之前,它可能会发生变化。一旦在硅中,该值可能是固定的。
图3示出了根据本公开实施例的示例处理单元。在一些实施例中,处理单元可以包括多片式处理器的片,如下所述。在一些实施例中,每个片包括用于处理多个执行线程的处理流水线。应当注意,本文所描述的寄存器清理技术不限于这种环境,并且也可以用于单线程执行环境。在图3的示例的片中,多个指令线程通过共享的处理执行流水线交错。流水线的操作由时钟3控制。该片包括多个环境26,每个环境被安排成表示以下的状态:多个线程的不同集合;多个线程共用的共享指令存储器12;多个线程共用的共享数据存储器22;共享的处理流水线14、16、18,其同样为多个线程所共用;以及线程调度器,用于调度多个线程以通过共享流水线以交错方式执行。
线程调度器24在图中由时隙S0…S5序列示意性地表示,但是实际上,它是一种管理与它们的时隙相关的线程的程序计数器的硬件机制。执行流水线包括提取级14、解码级16和执行级18。每个环境26包括相应的一组寄存器R0…Rm,用于表示相应的线程的程序状态。这些寄存器可以如本文所描述的那样被实现和控制。
图4示出了每组寄存器(寄存器文件)与处理流水线的关系。处理流水线的执行级18可以包括多个子级,用于执行不同的执行操作,例如数学和累加操作。执行级中的最后级可以是加载存储阶段。这包括控制寄存器文件的写地址输入的写逻辑180。加载存储单元184可将待写入到写入数据总线42的数据提供到寄存器文件中。流水线中的其他级也能够将值写入寄存器文件,例如执行流水线中的算术单元。
在处理单元的正常操作中,提取级14从指令存储器12中提取计算机可执行指令,并将其提供给解码级16。根据正常的流水线操作,当解码级16对先前的提取指令进行解码时,提取级可以提取下一指令。应该裂解,本发明的各方面可以用于处理流水线的环境中或不使用流水线处理的处理单元中。
解码级16包括读解码逻辑182,其可以对经解码的指令中指示的读地址进行解码,以访问先前已存储到寄存器文件的数据。这种数据可从读数据端口46从寄存器文件读入到执行流水线的执行级18中。执行级根据经解码的指令中定义的操作对从寄存器文件读取的数据进行操作。解码级16还负责对指令进行解码以提取所需的操作。执行级的每一级都能够对从寄存器文件中读取的数据执行不同的操作。在执行级18的最后级,加载存储单元184保存准备存储回寄存器文件的、已经在处理流水线中执行的操作的结果。为此,加载存储单元184连接到写数据总线42。请注意,在正常操作中,写数据总线上的信息将只被写入由适当的写地址选择的寄存器。写逻辑180控制寄存器文件的写地址输入,以便在正常操作中选择将被来自加载存储单元的数据值写入的适当的寄存器。请注意,写逻辑也可以存在于其他流水线级中,并且执行类似的功能。写地址由计算机指令来指示。写地址可以在解码级被识别。例如,指令可以定义目的地寄存器,操作数据值(指令被执行的结果)可以被写入该目的地寄存器。替代地,这种目的地寄存器可以隐含在指令中。例如,指令中的某个代码可以指示某个寄存器编号总是隐含的。在另一种表现形式中,指令操作的一部分可以是访问存储器地址,该存储器地址本身指示寄存器充当目的地寄存器。请注意,这将是一个多级指令,它本身必须利用寄存器文件。在任何情况下,需要存储由指令操作产生的操作数据值的寄存器由在正常操作模式下由处理流水线执行的计算机指令来指示。
现在将描述数据清理操作模式。在这种数据清理操作模式下,寄存器文件被配置为以不同的方式操作。在数据清理操作模式下,寄存器文件的所有寄存器都被使能以从写数据路径接收数据。也就是说,在其写地址端口生效的写使能信号同时激活所有寄存器,以接收放置在写数据路径上的清理数据值。图5示出了包括连接到主机5的多个处理单元的示例处理器。主机5确定要触发数据清理模式。例如,当处理器将被复位以接收不同的工作负载时,可以触发数据清理模式。当处理器将被完全清理并重新用于不同的应用或不同的所有者时,可以触发数据清理模式。可以触发数据清理模式的原因有很多,上面的示例并不是穷举的。
当主机5触发数据清理模式时,它向处理单元提供数据清理值。主机写入复位处理器的复位寄存器49。设置控制值45,这使得寄存器文件清理发生在时钟3的下一个上升时钟沿。
该控制值超越正常地址解码逻辑180,并通过切换开关电路47以传递时钟信号43来强制寄存器文件的所有寄存器组获取写数据。
例如,如下所述和图5的示例所示,连接到主机的处理器的输入端口8a可以用于实现复位。存储在该处理单元或每个处理单元内部的数据清理值被放置在写数据路径上。
主机5还提供数据清理模式信号,该信号在该处理单元或每个处理单元处被接收,并且使得写使能信号在寄存器文件的所有寄存器的写地址输入上同时生效。这具有写数据总线上的清理数据值被同时写入寄存器文件的所有寄存器的效果。
清理数据值可以保存在该处理单元或每个处理单元中的片上系统寄存器中。例如,它们可以在制造硅时储存。替代地,它们可以由主机提供,或者在新程序加载到处理器中时重新编程。
虽然处理器包括多个处理单元,但是它们都被一起复位。在一些实施例中,通过使得来自主机的数据清理模式信号仅被路由到一组一个或多个处理单元来选择将由主机复位的一个或多个处理单元是可能的。
数据清理值可以是任何合适的无意义值。例如,它们可以是全0或全1或随机值。
下文通过上下文给出了一种特定工作加速器的细节。然而,容易理解的是,本文所描述的技术可以用于需要清理寄存器文件的任何情况。
一种这样的专用工作加速器是由Graphcore开发的所谓的智能处理单元(IPU),例如在美国专利申请16/389682和15/886131中有所描述。这些申请的内容通过引用并入本文。在这种架构中,多个处理单元排列在芯片上的相应列中。处理器具有交换结构,用于以所谓的时间确定性方式在发送和接收处理单元之间交换消息。也就是说,基于发送和接收处理单元的物理位置,从发送处理单元向接收处理单元发送消息有固定的传输时间。
列(以及列内的处理单元)相对于交换结构排列,使得固定发送时间取决于处理电路相对于交换结构的距离。图5示意性地示出了单芯片处理器2的示例架构。多个单芯片处理器可以使用芯片上的链路连接在一起,形成计算机。此外,单芯片处理器可以经由芯片到主机的链路连接到主机,如下所述。处理器2包括被称为片的多个处理单元。在一个示例中,在芯片上的相应阵列中组织有1216个片。应当理解,本文所描述的概念扩展到许多不同的物理架构,本文给出一个示例来帮助理解。芯片2具有两条芯片到主机链路8a、8b和四条芯片到芯片链路30a、30b。在图5的示例中,主机5被示为通过双向链路31连接到芯片到主机链路8a和8b。芯片2从主机5接收工作。请注意,取决于来自主机应用的工作负载,主机5可以与加速器一起操作,该加速器被构造为如本文所述的单芯片处理器2或一组多个互连的单芯片处理器2。为了简化图5,这里假设主机连接到单个芯片2。芯片2具有控制芯片活动时序的时钟3。时钟连接到所有的芯片电路和组件,尽管为了清楚起见,这些连接没有在所有的图中示出。芯片2包括交换结构或互连34,经由该交换结构或互连34可以在片上片之间交换数据。该交换还可用于在芯片上和芯片发送数据和控制信号,例如去往和来自主机。触发数据清理模式的复位信号也可以通过交换机34发送,但是它是一个专用信号,并且遵循与交换机上的数据分离的路径。复位信号连接到位于芯片外围的复位寄存器49。主机可以执行软件来写复位寄存器49,并通过外围设备中的链路上经由PCIe命令来设置控制值45。
虽然已经描述了特定的实施例,但是一旦给出了本文的公开内容,所公开的技术的其他应用和变型对于本领域技术人员来说将变得显而易见。本公开的范围不受所描述的实施例的限制,而是仅受所附权利要求的限制。

Claims (18)

1.一种具有寄存器文件的处理单元,包括:
多个寄存器,每个寄存器具有被配置为接收写使能信号的写使能输入和连接到所述处理单元的写数据路径的写数据输入,并且被配置为当所述写使能信号生效时,从所述写数据路径写数据值以存储在寄存器中;
写电路,被配置为在正常操作模式下使所述寄存器中的相应一个的所述写使能信号生效,以使得操作数据值从所述写数据路径被写入该寄存器;以及
数据清理电路,被配置为控制数据清理模式,在所述数据清理模式下,使所述寄存器文件中的所有寄存器的所述写使能信号同时生效,以使得清理数据值从所述写数据路径被同时写入所有寄存器。
2.根据权利要求1所述的处理单元,包括被配置为执行计算机指令的执行单元,其中在正常操作模式下,所述写使能信号由所述执行单元执行的计算机可执行指令提供。
3.根据权利要求2所述的处理单元,其被配置为对由所述计算机可执行指令指示的地址进行解码,以生成所述写使能信号。
4.根据任一前述权利要求所述的处理单元,其中所述操作数据值由所述执行单元执行的计算机可执行指令来指示。
5.根据任一前述权利要求所述的处理单元,包括被配置为与所述处理单元外部的主机计算机通信的端口。
6.根据权利要求5所述的处理单元,其被配置为从连接到所述端口的主机计算机接收数据清理值,并将所述数据清理值施加到所述写数据路径。
7.根据权利要求5所述的处理单元,其被配置为经由所述端口从所述主机计算机接收数据清理模式信号,所述数据清理模式信号使得所有寄存器上的写使能信号同时生效。
8.根据权利要求2所述的处理单元,其中所述操作数据值由所述执行单元执行的计算机可执行指令来指示。
9.根据权利要求2所述的处理单元,其被配置为对由所述计算机可执行指令指示的地址进行解码,以生成所述写使能信号。
10.根据权利要求6所述的处理单元,其被配置为经由所述端口从所述主机计算机接收数据清理模式信号,所述数据清理模式信号使得所有寄存器上的写使能信号同时生效。
11.一种计算机系统,包括与处理单元外部的主机计算机通信的处理单元,所述处理单元具有寄存器文件,所述寄存器文件包括:
多个寄存器,每个寄存器具有被配置为接收写使能信号的写使能输入和连接到所述处理单元的写数据路径的写数据输入,并且被配置为当写使能信号生效时,从所述写数据路径写数据值以存储在寄存器中,
写电路,被配置为在正常操作模式下使寄存器中的相应一个的所述写使能信号生效,以使得操作数据值从所述写数据路径被写入该寄存器,以及
数据清理电路,被配置为控制数据清理模式,在所述数据清理模式下,使所述寄存器文件中所有寄存器的所述写使能信号同时生效,以使得清理数据值从所述写数据路径被同时写入所有寄存器;
其中所述主机包括存储装置,所述存储装置被配置为保存清理数据值并且被配置为向所述清理数据值提供数据清理模式信号,并且所述处理单元被配置为接收清理数据值,并且然后将其施加到所述写数据路径,并且使用所述数据清理模式信号来使所有寄存器上的所述写使能信号生效。
12.根据权利要求11所述的计算机系统,其中所述存储装置包括片上系统寄存器。
13.一种清理连接到主机的处理器的寄存器文件中的数据的方法,所述方法包括:
在数据清理模式下,在所述处理器处从所述主机接收数据清理模式信号并清理数据值,以及
将从所述主机接收的清理数据值施加到连接到多个寄存器中的每一个的写数据输入的写数据路径,
其中所述数据清理模式信号使得所述寄存器文件中所有寄存器的写使能信号同时生效,以使得所述清理数据值从所述写数据路径被同时写入所有寄存器。
14.根据权利要求13所述的方法,包括:在正常操作模式下,使所述寄存器中的相应一个的所述写使能信号生效,以使得操作数据值从所述写数据路径被写入该寄存器。
15.根据权利要求14所述的方法,包括对由所述处理器执行的计算机可执行指令指示的地址进行解码,以在正常操作模式下生成所述写使能信号。
16.根据权利要求15所述的方法,其中所述操作数据值由所述处理器执行的计算机可执行指令来指示。
17.根据权利要求13至16中任一权利要求所述的方法,其中,在时钟信号的控制下,使所述写使能信号同时生效。
18.根据权利要求17所述的方法,其中所述时钟信号由控制所述处理器执行计算机可执行指令的时钟提供。
CN202180047765.9A 2020-07-14 2021-07-14 清除寄存器数据 Pending CN115777097A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2010808.0A GB2597077B (en) 2020-07-14 2020-07-14 Clearing register data
GB2010808.0 2020-07-14
PCT/EP2021/069660 WO2022013315A1 (en) 2020-07-14 2021-07-14 Clearing register data

Publications (1)

Publication Number Publication Date
CN115777097A true CN115777097A (zh) 2023-03-10

Family

ID=72086889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180047765.9A Pending CN115777097A (zh) 2020-07-14 2021-07-14 清除寄存器数据

Country Status (7)

Country Link
US (1) US11847455B2 (zh)
EP (1) EP4154102A1 (zh)
JP (1) JP7507304B2 (zh)
KR (1) KR20230034386A (zh)
CN (1) CN115777097A (zh)
GB (1) GB2597077B (zh)
WO (1) WO2022013315A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220291947A1 (en) * 2021-03-10 2022-09-15 Meta Platforms, Inc. Apparatus, systems, and methods for facilitating efficient hardware-firmware interactions
CN113128172B (zh) * 2021-04-23 2023-10-27 中国科学院计算技术研究所 超导寄存器堆装置及其控制方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4004280A (en) * 1973-06-11 1977-01-18 Texas Instruments Incorporated Calculator data storage system
WO1993011500A1 (en) * 1991-11-27 1993-06-10 Seiko Epson Corporation Pixel modification unit
JP2004102799A (ja) * 2002-09-11 2004-04-02 Nec Electronics Corp レジスタファイル及びレジスタファイルの設計方法
US8583897B2 (en) * 2009-02-02 2013-11-12 Arm Limited Register file with circuitry for setting register entries to a predetermined value
JP7035361B2 (ja) 2017-07-28 2022-03-15 富士通株式会社 記憶装置、レジスタファイル回路及び記憶装置の制御方法
US20190205061A1 (en) * 2017-12-29 2019-07-04 Intel Corporation Processor, method, and system for reducing latency in accessing remote registers

Also Published As

Publication number Publication date
GB202010808D0 (en) 2020-08-26
EP4154102A1 (en) 2023-03-29
US11847455B2 (en) 2023-12-19
GB2597077A (en) 2022-01-19
GB2597077B (en) 2022-07-27
JP7507304B2 (ja) 2024-06-27
KR20230034386A (ko) 2023-03-09
JP2023533795A (ja) 2023-08-04
US20220019437A1 (en) 2022-01-20
WO2022013315A1 (en) 2022-01-20

Similar Documents

Publication Publication Date Title
CA2313462C (en) Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem
US6952749B2 (en) Multiprocessor interrupt handling system and method
US7373440B2 (en) Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format
KR100647526B1 (ko) 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트
US20060294344A1 (en) Computer processor pipeline with shadow registers for context switching, and method
US20070180334A1 (en) Multi-frequency debug network for a multiprocessor array
US7143271B2 (en) Automatic register backup/restore system and method
CN115777097A (zh) 清除寄存器数据
US7343480B2 (en) Single cycle context switching by swapping a primary latch value and a selected secondary latch value in a register file
US7870311B2 (en) Preemptive packet flow controller
CA2515283C (en) Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem
CN117112136A (zh) 中断虚拟化的方法、装置、操作系统、设备及存储介质
Biedermann et al. Virtualizable Architecture for embedded MPSoC
AU2002356010A1 (en) Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format
WO2008024697A2 (en) Multi-frequency debug network for a multiprocessor array
JPH06231085A (ja) 内蔵レジスタアクセス制御方式

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