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

【发明授权】针对拼贴式末级高速缓存的非统一总线(NUB)互连协议_三星电子株式会社_201810371505.7 

申请/专利权人:三星电子株式会社

申请日:2018-04-24

公开(公告)日:2023-07-25

公开(公告)号:CN108874687B

主分类号:G06F12/06

分类号:G06F12/06;G06F30/398

优先权:["20170512 US 62/505,313","20170815 US 15/677,739"]

专利状态码:有效-授权

法律状态:2023.07.25#授权;2020.04.14#实质审查的生效;2018.11.23#公开

摘要:提供一种针对拼贴式末级高速缓存的非统一总线NUB互连协议的方法和设备。所述设备包括:多个中央处理器、多个核输入输出单元、多个末级高速缓存存储体、互连网络,其中,互联网络包括专用数据通道的多个例示,其中,每个专用数据通道被专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,每个专用数据通道独立于其它数据通道而操作。

主权项:1.一种非统一总线NUB互连协议的设备,包括:多个中央处理器;多个核输入输出单元;多个末级高速缓存存储体;互连网络,包括专用数据通道的多个例示,其中,每个专用数据通道被专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,每个专用数据通道独立于其它专用数据通道而操作,其中,仲裁多路选择器包括右到左多路选择器、左到右多路选择器和自多路选择器,并且每个仲裁多路选择器实施公平共享策略。

全文数据:针对拼贴式末级高速缓存的非统一总线NUB互连协议[0001]本申请要求于2017年5月12日在美国专利商标局提交的62505,313号美国临时专利申请和于2017年8月15日在美国专利商标局提交的15677,739号美国专利申请的优先权,这些申请的全部内容通过引用合并于此。技术领域[0002]本公开总体涉及高速缓存存储器,更具体地说,涉及一种用于针对拼贴式末级高速缓存的非统一总线互连协议的方法和设备。背景技术[0003]与动态随机存取存储器DRAM的存储器存取相比,中央处理器CPU中的末级高速缓存LLC的大小通常被设置为保留若干兆字节的最近存储器存取的数据或指令线以降低来自CPU的请求的延迟。存储若干兆字节的数据的高速缓存需要大的物理面积和集成电路板以规划资源从而以最小响应延迟提供最大容量。在多CHJ多LLC存储体共享高速缓存系统中,互连网络有时被称为片上网络NoC能够在主CPU与LLC存储体之间提供高带宽,但是对于CPU和LLC存储体的每一个例示,会以指数方式扩大电线、电力、时间和面积需求。[0004]集成电路系统设计可偏向将诸如CPU或LLC存储体的块设计为尽量统一并且可拼贝占,意思是设计一个模块并重复例示或拼贴与原始相邻的若干相同副本以达到期望的配置。对于大型LLC存储器系统,如果LLC的存储器协议也是可拼贴和模块化的,则可拼贴或模块化的LLC存储体设计可以以最少的再设计纳入到多种产品配置中。[0005]常见的方案可包括全环总线、网格和直接的端到端电线,其中,每种方案对系统复杂度、功耗、裸片面积、电线成本、可扩展性和选择性的存储器连贯性需求进行平衡。当高端服务器系统具有高复杂度、高功率方案例如,环、网格和开关),低端设计具有低复杂度、非可扩展方案例如,端到端的专用连接时,需要一种在实现拼贴能力的同时具有低功耗、中等复杂度和中等带宽需求的移动装置的CHJ系统例如,在1至8节点CPU的中等范围)的方案。发明内容[0006]根据本公开的一方面,提供一种设备,包括:多个中央处理器;多个核输入输出单元;多个末级高速缓存存储体;互连网络,包括专用数据通道的多个例示,其中,每个专用数据通道被专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,每个专用数据通道独立于其它数据通道操作。[0007]根据本公开的另一方面,提供一种方法,包括:独立地操作互连网络的每个专用数据通道,其中,互连网络包括专用数据通道的多个例示,其中,每个专用数据通道专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,专用数据通道的每个例示连接到多个中央处理器、多个核输入输出单元和多个末级高速缓存存储体。[0008]根据本公开的另一方面,提供一种制造处理器的方法,包括:将所述处理器形成为晶片或封装的一部分,其中,所述晶片或封装包括至少一个其它处理器,其中,所述处理器被配置为独立地操作互连网络的每个专用数据通道,其中,互连网络包括专用数据通道的多个例示,其中,每个专用数据通道专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,专用数据通道的每个例示连接到多个中央处理器、多个核输入输出单元和多个末级高速缓存存储体;测试所述处理器,其中,测试所述处理器的步骤包括:使用一个或更多个电光转换器、将光信号分为两个或更多个光信号的一个或更多个分光器以及一个或更多个光电转换器来测试所述处理器和所述至少一个其它处理器。[0009]根据本公开的另一方面,提供一种构造集成电路的方法,包括:产生针对集成电路的层的一组特征的掩模布局,其中,掩模布局包括针对包括处理器的一个或更多个电路特征的标准单元库宏,其中,所述处理器被配置为独立地操作互连网络的每个专用数据通道,其中,互连网络包括专用数据通道的多个例示,其中,每个专用数据通道专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,专用数据通道的每个例示连接到多个中央处理器、多个核输入输出单元和多个末级高速缓存存储体;在产生掩模布局期间忽略宏的相对位置是否符合布局设计规则;在产生掩模布局之后检查宏的相对位置是否符合布局设计规则;在检测到任何宏不符合布局设计规则时,通过将每个不符合的宏修改为符合布局设计规则来修改掩模布局;根据修改后的具有针对集成电路的所述层的所述一组特征的掩模布局产生掩模;根据所述掩模制造集成电路。附图说明[0010]从下面结合附图进行的详细描述中,本公开的上述和其它方面、特征和优点将变得更加明显,其中:[0011]图1示出根据一个实施例的在通信网络中的电子装置的示例性框图;[0012]图2示出根据一个实施例的NUB互连网络的框图;[0013]图3示出根据一个实施例的包括在NUB互连网络中的总线的框图;[0014]图4示出根据一个实施例的单个NUB分片slice中的AR读请求通道的框图;[0015]图5示出根据一个实施例的具有四个拼贴式的NUB分片的NUB互连网络中的AR读请求通道的框图;[0016]图6示出根据一个实施例的NUBAR读请求通道信用循环的示例性示图;[0017]图7示出根据一个实施例的在AW写通道中的转发进程forwardprogress的示例性示图;[0018]图8示出根据一个实施例的NUB互连协议方法的示例性流程图;[0019]图9示出根据一个实施例的测试NUB互连协议的处理器的方法的示例性流程图;[0020]图10示出根据一个实施例的制造NUB互连协议的处理器的方法的示例性流程图。具体实施方式[0021]现在将参照附图在下面更充分地描述本公开,在附图中示出本公开的实施例。然而,可以以多种不同的形式实现本公开,并且不应该将本公开视为受限于这里阐述的实施例。相反,提供这些实施例是为了使本公开将是彻底的和完整的,并将向本领域技术人员完全传达装置和方法的范围。相同的标号始终表示相同的元件。[0022]将理解,当元件被称为“被连接”或“被耦合”到另一元件时,其可直接连接或耦合到所述另一元件,或者可存在中间元件。相反,当元件被称为“被直接连接”或“被直接耦合”到另一元件时,不存在中间元件。如这里使用的,术语“和或”包括但不限于关联列出项中的一个或更多个项的任意组合和全部组合。[0023]将理解,虽然这里可使用术语第一、第二和其它术语来描述各种元件,但这些元件不应该受限于这些术语。这些术语仅被用于将一个元件与另一元件区分开。例如,在不脱离本公开的教导的情况下,第一信号可被称为第二信号,类似地,第二信号可被称为第一信号。[0024]这里使用的术语仅是为了描述特定实施例的目的,而不意图限制本装置和方法。如这里使用的,除非上下文明确指示另外情况,否则单数形式意图还包括复数形式。还将理解,当在本说明书中使用术语“包括”和或“包括…的”或者“包含,但不限于”和或“包含但不限于…的”时,所述术语是指存在所陈述的特征、区域、整数、步骤、操作、元件和或组件,但不排除存在或添加一个或更多个其它特征、区域、整数、步骤、操作、元件、组件和或它们的组合。[0025]除非另有定义,否则这里使用的所有术语包括但不限于技术术语和科学术语具有与本装置和方法所属领域的普通技术人员通常理解的含义相同的含义。还将理解,术语诸如在常用字典中定义的术语应被解释为具有与它们在相关领域和或本说明书的上下文中的含义一致的含义,并且将不被理想化或过于正式地解释,除非这里明确地这么限定。[0026]图1示出根据一个实施例的在网络环境中的电子装置的示例性框图。[0027]参照图1,电子装置100包括但不限于通信块110、处理器120、存储器130、显示器150、输入输出块160、音频块170、图像传感器175和无线收发器180。无线收发器180可被包括在车辆、接入点、移动电子装置或蜂窝基站诸如eNodeB中,并包括但不限于无线发送器和接收器。[0028]电子装置100包括用于将装置100连接到另一电子装置或者用于语音和数据的通信的网络的通信块110。通信块110提供通用分组无线业务GPRS、LTE、增强型数据率GSM演进EDGE、蜂窝、广域、局域、个域、近场、装置到装置D2D、机器对机器M2M、卫星、增强型移动宽带(eMBB、海量机器类通信mMTC、超可靠低延迟通信(URLLC、窄带物联网(NB-IoT、V2X和短距离通信。[0029]通信块110或其包括收发器113的部分的功能可通过芯片集实现。具体地,蜂窝通信块112使用诸如第二代2G、GPRS、EDGE、D2D、M2M、LTE、第五代5G、先进长期演进LTE-A、码分多址CDM、宽带码分多址WCDMA、通用移动通信系统UMTS、无线宽带WiBro、V2X和全球移动通信系统GSM的技术,通过地面基地收发站或直接向车辆或其它电子装置提供广域网连接。蜂窝通信块112包括但不限于芯片集和收发器113。收发器113包括但不限于发送器和接收器。无线保真WiFi通信块114使用诸如IEEE802.11的技术通过网络接入点提供局域网连接。蓝牙β通块块116使用诸如IEEE802.15、低功耗蓝牙eBLE和长距离蓝牙sBLR的技术来提供个域直连和网络通信。近场通信NFC块118使用诸如IS0IEC14443的标准提供点对点短距离通信。通信块110还包括GNSS接收器119ANSS接收器119支持从卫星发射器接收信号。[0030]电子装置100可从包括但不限于电池的电源接收用于操作功能块的电力。无线收发器180可以是地面基地收发站BTS诸如蜂窝基站)的一部分,并可包括符合第三代合作伙伴项目(3GPP标准的射频发送器和接收器。无线收发器180可向移动用户设备UE的用户提供数据和语音通信服务。在本公开中,术语“UE”可与术语“电子装置”互换使用。[0031]处理器120提供由电子装置100的用户请求的应用层处理功能。处理器120还提供电子装置100中的各种块的命令和控制功能。处理器120提供对由功能块请求的控制功能的更新。处理器120可提供由收发器1330请求的资源的协调包括但不限于功能块之间的通信控制)。处理器120还可更新与蜂窝通信块112或蓝牙β通信块116相关的固件、数据库、查找表、校准方法程序和函数库。[0032]存储器130提供用于装置控制程序代码的存储、用户数据存储、应用代码和数据存储。存储器130可提供用于固件、库、数据库、查找表、算法、方法和NUB互连协议的数据存储。当装置启动时,由蜂窝通信块112或蓝牙*通信块116请求的程序代码和数据库可从存储器130被加载到本地存储。蜂窝通信块112或:蓝牙®通信块116还可具有用于存储程序代码、库、数据库、校准数据和查找表数据的本地易失性和非易失性存储器。[0033]显示器150可以是触摸面板,并可被实现为液晶显示器(LCD、有机发光二极管OLED显示器、有源矩阵OLEDAMOLED显示器等。输入输出块160控制与电子装置100的用户的接口。音频块170提供从电子装置100输入的音频和向电子装置100输出的音频。[0034]无线收发器180可被包括在接入点或基站中以用于接收、发送或转发无线信号。无线收发器180可通过将数据通信信号发送和转发到电子装置100和从电子装置100接收数据通信信号,来促进与电子装置100的通信。电子装置100可通过无线收发器180连接到网络。例如,无线收发器180可以是用于将信号发送到电子装置100诸如智能电话或从电子装置100接收信号的接入点、蜂窝塔、无线路由器、天线、多天线或它们的组合。无线收发器180可通过网络转发无线信号以能够与其它电子装置100诸如用户设备UE、车辆、服务器或它们的组合通信。无线收发器180可被用于发送通信信号诸如语音或数据)。[0035]根据一个实施例,多CPU核系统包括与系统互连耦合的多CPU,每个CPU由多级高速缓存存储器层次结构支持,多级高速缓存存储器层次结构的较低级可被一个或更多个CPU共享。[0036]高速缓存存储器通常被用于临时存储可由CPU访问的存储块,从而通过降低必须从系统存储器加载数据和指令而引起的存储器访问延迟来提高处理速度。在多CHJ系统中,高速缓存层次结构可包括多个级。响应于存储器访问指令诸如加载或存储指令),CPU可首先访问末级高速缓存的目录。如果在末级高速缓存中没有找到请求的存储块,则CHJ访问其它CPU的相邻高速缓存以寻找请求的存储块。[0037]多CPU可请求对同一数据高速缓存行进行写访问,修改的高速缓存行可能不会立即与系统存储器同步。因此,多CHJ系统的高速缓存层次结构可实现高速缓存存储器连贯性协议,从而至少确保在CPU看来,系统存储器的内容具有最低级别的连贯性。具体地,高速缓存存储器连贯性要求:在CHJ访问存储块的副本并随后访问该存储块的更新的副本之后,CPU无法再次访问该存储块的过期的副本。高速缓存存储器连贯性协议可定义与每个高速缓存层次结构的高速缓冲行相关联地存储的一组高速缓存状态以及用于在高速缓存层次结构之间通信高速缓存状态信息的一组连贯性消息。[0038]本公开描述了LLC共享高速缓存存储器互连这里,被称为非统一总线NUB,NUB通过为每个存储器事务类专门分配共享的、可暂停的(stall-able、双向的端口使得在高速缓存连贯的可拼贴的模块化设计中在事务类型之间实现独立的非统一的性能,从而平衡复杂度、带宽和电线互连。可拼贴的设计是这样的设计:在集成电路中,NUB的每个例示都可被布置为紧挨着NUB的另一个相同的例示并可与NUB的所述另一个相同的例示连接。独立的性能允许读事务独立于写事务发生,写事务独立于读事务发生。NUB协议可以是这样的可拼贴互连网络:允许读操作、写操作和对独立网络通道上的每一段传送的响应具有唯一的延迟、带宽、暂停协议。对于每一类事务来说,延迟、带宽、暂停协议是唯一的,即,对于系统中的所有读事务,读事务类型具有唯一的一组协议,而对于系统中的所有写事务,写事务类型具有唯一的一组协议,其中,这些协议可具有延迟带宽暂停机制的不同组合。[0039]NUB不要求跨通道意识和内容可寻址存储器来实现连贯性。反而,NUB依赖于起点和终点。每个事务的起点和终点可以是CPU核、更高级别的高速缓存存储器、LLC存储体和外部端口中的任何一个,每一个都发送和接收握手信号以确保对于冲突地址的连贯性排序。冲突地址的示例为:当CPU使用十六进制地址0x4000的高速缓存行地址对LLC存储体执行写事务时,在高速缓存行0x4000被写入LLC存储体之前,CPU立即返回执行读事务以读取0x4000。由于本公开具有完全独立的通道,因此存在一个风险,S卩,在执行写事务之前执行读事务,CPU读取到错误的数据。因此,要求CPU在匹配地址时保护它们免受由CPU发送的未响应的事务,在检测到相同地址的风险时,等待握手信号以表示事务的完成。NUB协议不要求事务不断地在网络上移动以进行转发进程转发进程确保每个高速缓存在写操作中被适当地更新)。替代地,NUB协议允许转发进程事务在必要时暂停,或者绕过其它事务,以降低功耗。[0040]根据一个实施例,本系统提供CPU核、LLC存储体和外部端口之间的互连。NUB互连在伪环拓扑中提供共享总线。NUB互连提供多个分片,每个分片都是各种宏级块诸如CPU终点、LLC存储体或外部端口)之间的各种通道的单个例示,其中,各种宏级块可通过在集成电路裸片上以任意期望的配置和数量邻接而被拼贴在一起。本公开以四个分片为示例进行描述,但不限于此。大多数通道可使用共享的信号线或专用的信号线双向地移动数据或进行控制。然而,少数通道可单向地移动数据。NUB可被称为伪环,这是因为NUB逐步地向其目标执行事务,但不是围绕一个环。如果终点无法执行事务,则其可使总线暂停,并且在该事务执行之如后续的事务进彳丁等待。如果事务的终点在起始分片的右侧,则事务进彳丁到右侧。如果事务的终点在起始分片的左侧,则事务进行到左侧。本公开与现有技术不同之处在于:到达最左侧分片的事务将不会像在环结构中那样绕回到最右侧分片。类似地,到达最右侧分片的事务将不会绕回到最左侧分片。[0041]根据一个实施例,NUB允许每个通道上的事务独立于其它通道上的事务而移动。独立的事务允许任何通道背压、暂停或甚至在不使用内容可寻址存储器的情况下绕过其它通道上的更早的事务。与通常环形总线或分组交换协议相比,NUB协议配置可能需要更多的信号线和附加的握手协议。然而,NUB协议具有以下好处:允许暂停、与其它通道不同地微调特定通道的性能例如,通过公平共享方法)、本地信用循环、唯一的转发进程机制和简化的协议复杂度。[0042]图2示出根据一个实施例的NUB互连网络的框图。对于每个分片的每种事务类型,NUB可具有多个专用通道。NUB互连网络包括多条总线,其中,多条总线包括从CPU200到LLC存储体230的读请求AR通道,以及从CPU200至LLC存储体230的写和内部监听响应AWCR通道。监听是这样的处理:每个LLC存储体监视用于访问它们已缓存到的存储器位置的地址线以保持连贯性。正常的写和监听响应可在待发生的写线唯一WLU写唯一WU的写事务周围传送。WLUWU写事务也在AW通道上进行。WLU和WU是不需要先读取的写事务,即,CPU不考虑先前存储的数据而将该数据发送以写入地址。WLU和WU事务不要求转发进程以避开死锁条件。[0043]读响应RRESP是来自多路选择器mux218至220的输出,多路选择器mux218至220具有右到左和左到右读响应缓冲器219至221作为输入。左到右读响应缓冲器221是来自DRAM外部端口的读响应,DRAM外部端口在相邻NUB分片中的右侧。右到左缓冲器219是来自LLC存储体IO231的读响应。由于图2示出一个NUB拼贴式分片,因此读响应通过多路选择器218传送到左侧或通过多路选择器220传送到右侧,如果读响应尚未到达分片中的请求该读响应的特定CPU,则该读响应将继续在此通道上到相邻NUB分片,直到该读响应到达该特定CPU。多路选择器205从LLC存储体IQ231、左到右读响应缓冲器221或右到左读响应缓冲器219之一选择读响应。由多路选择器205选择的读响应通过核IO201被提供给CPU200〇[0044]缓冲器222提供来自相邻NUB分片中的LLC存储体的外部读请求信号。多路选择器223在来自缓冲器222的外部读请求和来自LLC存储体IO231的外部读请求之间选择。来自多路选择器223的输出是对外部端口的读请求。[0045]多路选择器226在旁路缓冲器224和滑动缓冲器225之间选择。对旁路缓冲器224和滑动缓冲器225的输入是来自相邻NUB分片中的LLC存储体的写地址和监听响应EXTAWCR通道。多路选择器229在多路选择器226的输出和LLC存储体IO231的外部写之间选择。多路选择器229的输出被提供给外部存储器例如,DRAM或外部端口。[0046]多路选择器211在旁路缓冲器212和滑动缓冲器213之间选择。对旁路缓冲器212和滑动缓冲器213的输入是对从相邻NUB分片开始从右向左传送的LLC存储体通道的写事务。多路选择器210在多路选择器211的输出和来自CPU200的写信号之间选择。[0047]多路选择器216在旁路缓冲器214和滑动缓冲器215之间选择。对旁路缓冲器214和滑动缓冲器215的输入是对从相邻NUB分片开始从左向右传送的LLC存储体通道的写事务。多路选择器217在多路选择器216的输出和来自CPU200的写信号之间选择。[0048]多路选择器206在缓冲器207和来自CPU200的读信号之间选择,其中,缓冲器207是来自从相邻分片开始从右向左传送的LLC存储体通道的读请求。多路选择器208在缓冲器209和来自CPU200的读信号之间选择,其中,缓冲器209是来自从相邻NUB分片开始从左向右传送的LLC存储体通道的读请求。[0049]多路选择器227在缓冲器209、来自CPU200的读信号和缓冲器207之间选择,其中,缓冲器209是来自从相邻NUB分片开始从左向右传送的LLC存储体通道的读请求,缓冲器207是来自从相邻NUB分片开始从右向左传送的LLC存储体通道的读请求。多路选择器227的选择的输出是对LLC存储体IQ231的读信号。[0050]多路选择器228在多路选择器221的输出、来自CPU200的写信号和多路选择器216的输出,其中,多路选择器221的输出是对从相邻NUB分片开始从右向左传送的LLC存储体通道的写事务,多路选择器216的输出是对从相邻NUB分片开始从左向右传送的LLC存储体通道的写事务。多路选择器228的选择的输出是对LLC存储体IQ231的写信号。[0051]存储器屏障可被CPU200用来执行对在屏障指令之前和之后发出的存储器事务的排序约束。屏障响应是由CPU200或LLC存储体230提供给另一LLC存储体或外部DRAM的与写事务相关的握手确认。屏障响应在NUB通道上被提供,并提供对于用于保持高速缓存行的连贯性的责任已移交到负责确保连贯性的下一级代理的确认。实施存储器屏幕需要包括以下项的信号:从LLC存储体到CPU的存储体写屏障响应、从LLC存储体到CPU的存储体RAW释放和从外部端口到LLC存储体的EXT写屏障响应。[0052]图3示出根据一个实施例的包括在NUB互连网络中的总线的框图。[0053]参照图3,NUB互连网络包括四个CPU、四个核10、四个NUB分片和四个LLC存储体,其中,四个CPU包括CPUO200、CPU1310、CPU2320和CPU3330,四个核IO包括核IO0201、核IO1311、核IO2321和核IO3331,四个NUB分片包括NUB分片0302、NUB分片1312、NUB分片2322和NUB分片3332,四个LLC存储体包括LLC存储体0230、LLC存储体1313、LLC存储体2323和LLC存储体3333。冊8互连网络还包括通道AR341、AW342、AW0K343、81^5?344、1«^5?345^父1'_厶1?346^父1'_厶1347^父1'_81^5?348^1?341是0?1]200、310、320和330与LLC存储体230、313、323和333之间的读请求通道。AW342是CPU200、310、320和330与LLC存储体230、313、323和333之间的写和内部监听响应通道。AWOK343是CPU200、310、320和330与1^:存储体230、313、323和333之间的写后读1^¥风险释放通道。当CPU核在较早的指令写入一高速缓存行之前尝试读取该高速缓存行时,可能发生RAW风险。BRESP344是CPU200、310、320和330与LLC存储体230、313、323和333之间的存储体写屏障响应。RRESP345是外部端口和CPU200、310、320和330与LLC存储体230、313、323和333之间的读响应和监听请求通道。EXT_AR346是LLC存储体230、313、323和333与外部端口之间的读缺失通道。EXT_AW347是LLC存储体230、313、323和333与外部端口或DRAM存储器之间的外部写和外部监听响应通道。EXT_BRESP348是从外部端口和DRAM存储器到LLC存储体230、313、323和333的写屏障响应通道。[0054]根据一个实施例,CPUO200、CPU1310、CPU2320和CPU3330可通过核IO201、311、321和331连接到外部10端口和1^:存储体230、313、323和333。順8分片302、312、322和332是在集成电路裸片上通过邻接连接到相邻分片以支持8个配置终点的可拼贴式分片,其中,8个配置终点包括四个CPU200、310、320和330以及四个LLC存储体230、313、323和333。在每个NUB分片302、312、322和332内,NUB通道彼此独立地操作。[0055]图4示出根据一个实施例的单个NUB分片中的AR读请求通道的框图。[0056]参照图4,在单个NUB分片内示出的特定通道是AR读请求通道。CPU1310将读信号提供给核IO1311中的ARQ314。右到左多路选择器RL506在来自ARQ314的读信号与在RL滑动缓冲器507中从右到左传递的读信号之间选择。左到右多路选择器LR508在来自ARQ314的读信号与在缓冲器509中从左到右传递的读信号之间选择。为了访问LLC存储体1313中的高速缓存行,多路选择器527选择缓冲器509中的从左到右传递的读请求信号、RL滑动缓冲器507中的从右到左传递的读请求信号、或者来自ARQ314的读请求信号。由多路选择器527选择的读请求信号通过缓冲器532被提供给LLC存储体IO1315。[0057]图5示出根据一个实施例的具有四个拼贴式的NUB分片的NUB互连网络中的AR读请求通道的框图。[0058]参照图5,每个NUB分片具有用于在总线上的数据和来自CPU或LLC存储体的数据之间选择的仲裁多路选择器。每个多路选择器具有本地公平共享策略,并独立于其它仲裁多路选择器而操作。仲裁多路选择器是左到右LR多路选择器510和520、RL多路选择器506和516以及自多路选择器547、537、527和2271R多路选择器510允许可能起始于NUB分片1、2或3的事务从NUB分片1移动到NUB分片LLR多路选择器520允许可能起始于NUB分片2或3的事务从NUB分片2移动到NUB分片1。类似地,LR多路选择器506允许可能起始于NUB分片0或1的事务从NUB分片1移动到NUB分片21R多路选择器516允许可能起始于NUB分片0、1或2的事务从NUB分片2移动到NUB分片3。自多路选择器547、537、527和227允许到达NUB分片N或者起始于NUB分片N的事务发生在LLC存储体N中。具体地,NUB分片3中的自多路选择器547通过从包括核IO331或右到左滑动缓冲器524的两个源之一选择数据来允许事务在LLC存储体3333中。由多路选择器547选择的读请求通过缓冲器552被提供给LLC存储体3333JUB分片2中的自多路选择器537通过从包括左到右滑动缓冲器519、核IO321或右到左滑动缓冲器517的三个源之一选择数据来允许事务在LLC存储体2323中。由多路选择器537选择的读请求通过缓冲器542被提供给LLC存储体2323AUB分片1中的自多路选择器527通过从包括左到右滑动缓冲器509、核IO311或右到左滑动缓冲器507的三个源之一选择数据来允许事务在LLC存储体1313。由多路选择器527选择的读请求通过缓冲器532被提供给LLC存储体1313JUB分片0中的自多路选择器227通过从包括左到右滑动缓冲器209或核IO201的两个源之一选择数据来允许事务在LLC存储体0230中。由多路选择器227选择的读请求通过缓冲器232被提供给LLC存储体0230。[0059]滑动缓冲器被包括在总线上以用于时序目的和暂时存储两者。滑动缓冲器被用于允许另外的事务请求排队以去除事务请求的堵塞并结束死锁条件。滑动缓冲器包括存储装置以存储控制信息和数据。写事务AW和监听响应CR具有需要被存储并被绕过以避开死锁条件的地址以及控制信息和数据。读请求AR通道不传输数据,仅传输将被读取的数据的位置的控制地址。滑动缓冲器具有与先前的中继器级、LLC存储体和CPU核通信的请求接受协议。请求接受协议是本地信用循环。滑动缓冲器可请求用于确定在相邻的NUB分片的缓冲器中存储空间是否可用的信息、针对该请求指示请求的存储空间是否可用的确认。请求接受协议能够使滑动缓冲器之间进行通信以控制存储资源的使用和释放。每个滑动缓冲器具有高速缓存行存储,并具有绕过转发中继级。AW和CR通道避开死锁条件,并允许在不需要排序的WLUWU事务周围的事务的转发进程,直到这些事务到达它们的目的地。当事务到达滑动缓冲器时,AW和CR通道在必要时明确允许通过将一个事务绕过另一事务而进行转发进程。RRESP和AR通道不需要这样的功能。中继器级被用于存储事务以允许沿长路径将满足流水线或频率目标。长路径是那些跨越NUB分片发生的事务。参照图5,NUB分片2包括针对从NUB分片3指向NUB分片2的事务的LR滑动缓冲器519JUB分片1包括针对从NUB分片2指向NUB分片1的事务的LR滑动缓冲器509JUB分片0包括针对从NUB分片1指向NUB分片0的事务的LR滑动缓冲器209JUB分片1包括针对从NUB分片0指向NUB分片1的事务的RL滑动缓冲器507JUB分片2包括针对从NUB分片1指向NUB分片2的事务的RL滑动缓冲器517JUB分片3包括针对从NUB分片2指向NUB分片3的事务的RL滑动缓冲器524。[0060]图6示出根据一个实施例的NUBAR读请求通道信用循环的示意性示图。[0061]参照图6,拱形的箭头指示块之间的信用循环。信用循环是应用背压并防止死锁条件的机制。在实现信用循环时,试图互相发送事务的两个不同的块需要确定另一块具有多少资源以防止死锁条件。块可向回复指示具有可用资源的另一块请求资源。请求响应所需要的时间造成循环延迟,并对性能有影响。[0062]多路选择器仲裁逻辑仅使用具有它们的直接来源和邻接分片的信用循环。邻接分片是在实现本公开的NUB协议的集成电路的裸片上彼此物理相邻的NUB分片。直接来源可以是CPU0至CPU3或者LLC存储体0至LLC存储体3。邻接分片可以是相邻NUB分片。NUB分片0可使用具有相邻NUB分片1的信用循环。NUB分片1可使用具有相邻NUB分片0和相令NUB分片2的信用循环。NUB分片2可使用具有相邻NUB分片1和相令NUB分片3的信用循环。NUB分片3可以使用具有相邻NUB分片2的信用循环。本地信用循环以不观察通过整个通道的网络通信量为代价,降低了对于依赖非邻接非相邻)目的地信用响应的大型排队结构的需求。[0063]根据一个实施例,NUB互连网络提供特定情况下的转发进程以防止条件。NUB互连网络用作连贯系统,并提供针对外部和内容监听、读响应和正在执行的可高速缓存的写事务的转发进程。NUB提供在RRESP345通道上的针对读响应和监听请求的转发进程以及在AW342通道上的针对可高速缓存的写事务和监听响应的转发进程。[0064]根据一个实施例,执行转发进程的写事务包括清除(具有或不具有干净数据)、脏数据回写、写清洗操作和监听响应。当在LLC中有存储器的块被替换时,清除发生。诸如无所有权的写或在连贯域外部的写的写事务可不绕过其它将发生的事务。无所有权的写事务或在连贯域外部的写是这样的WLU和WU事务:在写之前不读取高速缓存行并且在转发进程域的外部进行直到它们到达控制该高速缓存行的高速缓存。所有权是一种协议概念,意思是LLC存储体或CPU具有对于写入高速缓存行的许可或信号量控制。必需执行转发进程的写事务可绕过非连贯事务。WLUWU事务或声明为非连贯的事务是低优先级事务,并且不需要转发进程。因此,NUB通道AWCR被允许绕过非连贯事务以继续执行转发进程。AWCR事务通过使用AWCR自己通道中的专用旁路路径来绕过NUB上的非连贯事务。背压的事务存留在滑动缓冲器中,直到信用循环再次可用于所有事务移动。[0065]图7示出根据一个实施例的在AW写通道中的转发进程的示例性示图。[0066]参照图7,写事务在可在滑动缓冲器725或滑动缓冲器715中的可被暂停的高速缓冲行上执行转发进程。RRESP345通道共享读响应和监听请求AC之间的通道。监听请求和读响应是有序的。排序由NUB系统控制以保持连贯性。CPU、LLC存储体、外部DRAM和通道保持连贯协议,其中,连贯协议按顺序放置随时间流逝所能看见的公共地址。如果读响应被首先发送,接着是监听请求,则顺序可不被颠倒。保持对于按时间顺序在CPU上执行的代码的需求。接着读响应的监听请求需要找到传输的结果,不绕过读响应。NUB可确定监听请求通过在相同的RRESP345通道上执行它们的传输而不绕过读响应。例如,如果LLC存储体从CPU接收到读请求,并将高速缓存行发送到该CPU,则外部源随后可立即请求该相同的高速缓存行。到CPU的读响应数据可以在NUB上传输,因此当LLC存储体发送关于该数据其刚在NUB上被发送到CPU的监听请求时,该监听请求“追赶”刚被发送的响应。该监听请求可赶上该响应,但是不可绕过它。被允许绕过的事务可使用旁路缓冲器724或旁路缓冲器714。[0067]类似于正常的可高速缓存的写事务,NUB的起点和终点被配置为防止读响应、监听请求、监听响应或可高速缓存的写事务的死锁。为了确保连贯性,由NUB发起的到起点或终点的相同高速缓存行地址的任何读事务或从属事务临时暂停从属事务,直到起点接收到握手,以防止结构风险,例如,在不具有内容可寻址存储器的NUB中读事务绕过写事务RAW风险或读后写WAR风险)。从属事务可在与正在NUB上执行的另一事务相同的地址上执行。为了保持连贯性,它们变为从属的并且不被处理,直到时间上在前的事务被执行。握手执行在AWOK343通道上,AWOK343通道控制终点保留从属相同地址的事务,直到LLC存储体接收到事务。[0068]虽然NUB允许事务重新排序,但是它们必须被控制以便在CPU上运行的程序保持代码执行的顺序。AW342通道具有写接收信号,写接收信号使用公平共享的NUB通道与CPU通信。AWOK343和BRESP344通道是这样的NUB通道:当两个不同的事务尝试使用相同的资源时,使用公平共享控制,从而确保这两个不同的事务以公平共享的方式被执行。公平共享方式可通过可用于通过使用计算器、历史或其它方法仲裁共享资源的共享的电路来实现。屏障响应BRESP344可表现为相似的方式,指示特定连贯事务例如,屏障同步可在起点或终点之一中进行。BRESP344使用来自较低级别的高速缓存或系统元件的握手信号来确认讨论中的写事务已跨过虚拟屏障并由较低级别的协议控制。屏障同步是这样的操作:在任何线程继续之前,使多个线程等待,直到所有线程已达到执行的特定点,并要求CPU等待暂停直到CPU的所有写事务已在系统上同步这是由正在执行的所有屏障响应确定的)。[0069]根据一个实施例,本系统和方法包括针对可拼贴式末级高速缓存的NUB互连网络,其中,互连网络被划分为多个分片,每个分片包括一个CPU、一个核IO和一个LLC存储体。每个NUB分片针对每种存储器事务类型具有专用通道,使得每个通道独立于其它通道操作,其中,针对每种事务类型的每个专用通道不需要用于连贯性的跨通道内容可寻址存储器。每个NUB分片包括仲裁多路选择器,其中,仲裁多路选择器用于在总线上的数据与来自LLC存储体或CPU的数据之间选择,使用信用循环将读或写事务转发到相邻连接的NUB分片。每个NUB分片允许使用旁路块的针对特定事务的转发进程,从而不合格的事务保留在滑动缓冲器中,直到所有事务都能够移动。[0070]图8示出根据一个实施例的NUB互连协议方法的示例性流程图。[0071]参照图8的流程图,在801,本方法独立地操作包括专用数据通道的多个例示的互连网络的每个专用数据通道。在802,每个专用数据通道专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,专用数据通道的每个例示连接到多个中央处理器、多个核输入输出单元和多个末级高速缓存存储体。[0072]图9是根据一个实施例的测试NUB互连协议方法的处理器的方法的流程图,其中,所述处理器在硬件中实现或者在用软件编程的硬件中实现。[0073]参照图9,在901,所述方法将所述处理器形成为晶片或封装的一部分,其中,所述晶片或封装包括至少一个其它处理器,其中,所述处理器独立地操作包括专用数据通道的多个例示的互连网络的每个专用数据通道,其中,每个专用数据通道专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,专用数据通道的每个例示连接到多个中央处理器、多个核输入输出单元和多个末级高速缓存存储体。[0074]在903,所述方法测试所述处理器,包括使用一个或更多个电光转换器、将光信号分为两个或更多个光信号的一个或更多个分光器以及一个或更多个光电转换器来测试所述处理器和至少一个其它处理器。[0075]图10是根据一个实施例的制造本NUB互连协议的处理器的方法的流程图。[0076]参照图10,在1001,所述方法包括初始化数据布局,其中,所述方法产生针对集成电路的层的一组特征的掩模布局。掩模布局包括针对包括处理器的一个或更多个电路特征的标准单元库宏。所述处理器被配置为独立地操作包括专用数据通道的多个例示的互连网络的每个专用数据通道,其中,每个专用数据通道专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,专用数据通道的每个例示连接到多个中央处理器、多个核输入输出单元和多个末级高速缓存存储体。[0077]在1003,进行设计规则检查,其中,所述方法在产生掩模布局期间忽略宏的相对位置是否符合布局设计规则。[0078]在1005,进行布局的调整,其中,所述方法在产生掩模布局之后检查宏的相对位置是否符合布局设计规则。[0079]在1007,产生新的布局设计,其中,所述方法在检测到任何宏不符合布局设计规则时,通过将每个不符合的宏修改为符合布局设计规则来修改掩模布局,根据修改后的具有针对集成电路的层的一组特征的掩模布局产生掩模,并根据所述掩模制造集成电路。[0080]虽然参照本公开的特定实施例具体示出和描述了本公开,但是本领域的普通技术人员将理解,可在不脱离由所附权利要求及其等同物限定的本公开的精神和范围的情况下,对其进行各种形式和细节上的改变。

权利要求:1.一种非统一总线NUI3互连协议的设备,包括:多个中央处理器;多个核输入输出单兀;多个末级高速缓存存储体;互连网络,包括专用数据通道的多个例示,其中,每个专用数据通道被专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,每个专用数据通道独立于其它专用数据通道而操作。2.如权利要求1所述的设备,其中,所述多个末级高速缓存存储体中的每一个保持连贯性。3.如权利要求1所述的设备,其中,在集成电路上,专用数据通道的每个例示被拼贴为相邻于专用数据通道的另一例示。4.如权利要求1所述的设备,其中,专用数据通道的每个例示使用旁路块控制存储器事务的转发进程。5.如权利要求1所述的设备,其中,所述多个末级高速缓存存储体中的每一个在没有内容可寻址存储器的情况下保持连贯性。6.如权利要求1所述的设备,其中,仲裁多路选择器包括右到左多路选择器、左到右多路选择器和自多路选择器,并且每个仲裁多路选择器实施公平共享策略。7.如权利要求1所述的设备,其中,互连网络被配置为维持在所述多个中央处理器中执行的指令的顺序。8.—种非统一总线NUB互连协议的方法,包括:独立地操作互连网络的每个专用数据通道,其中,互连网络包括专用数据通道的多个例示,其中,每个专用数据通道专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,专用数据通道的每个例示连接到多个中央处理器、多个核输入输出单元和多个末级高速缓存存储体。9.一种制造处理器的方法,包括:将所述处理器形成为晶片或封装的一部分,其中,所述晶片或封装包括至少一个其它处理器,其中,所述处理器被配置为独立地操作互连网络的每个专用数据通道,其中,互连网络包括专用数据通道的多个例示,其中,每个专用数据通道专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,专用数据通道的每个例示连接到多个中央处理器、多个核输入输出单元和多个末级高速缓存存储体;测试所述处理器,其中,测试所述处理器的步骤包括:使用一个或更多个电光转换器、将光信号分为两个或更多个光信号的一个或更多个分光器以及一个或更多个光电转换器来测试所述处理器和所述至少一个其它处理器。1〇.—种构造集成电路的方法,包括:产生针对集成电路的层的一组特征的掩模布局,其中,掩模布局包括针对包括处理器的一个或更多个电路特征的标准单元库宏,其中,所述处理器被配置为独立地操作互连网络的每个专用数据通道,其中,互连网络包括专用数据通道的多个例示,其中,每个专用数据通道专用于一种存储器事务类型,专用数据通道的每个例示包括仲裁多路选择器,专用数据通道的每个例示连接到多个中央处理器、多个核输入输出单元和多个末级高速缓存存储体;在产生掩模布局期间忽略宏的相对位置是否符合布局设计规则;在产生掩模布局之后检查宏的相对位置是否符合布局设计规则;在检测到任何宏不符合布局设计规则时,通过将每个不符合的宏修改为符合布局设计规则来修改掩模布局;根据修改后的具有针对集成电路的所述层的所述一组特征的掩模布局产生掩模;根据所述掩模制造集成电路。

百度查询: 三星电子株式会社 针对拼贴式末级高速缓存的非统一总线(NUB)互连协议

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