发布信息

系统直接存储器访问引擎卸载的制作方法

作者:admin      2022-08-03 07:14:56     645



计算;推算;计数设备的制造及其应用技术系统直接存储器访问引擎卸载1.相关申请的交叉引用2.本技术要求于2019年12月20日提交的美国非临时专利申请第16/723,709号的权益,所述申请的全部内容特此通过引用并入本文。背景技术:3.系统直接存储器访问(sdma)引擎是用于协调计算机系统内的装置与存储器之间或存储器中的不同位置之间的数据的直接存储器访问(dma)传递的装置。sdma引擎通常位于诸如图形处理器(gpu)的处理器上,并从在处理器上运行的应用程序接收命令。基于命令,sdma引擎从sdma源(例如,在主存储器中限定的第一存储器缓冲区)读取数据,并将数据写入sdma目的地(例如,在主存储器中限定的第二缓冲区)。4.在一些情况下,sdma源和sdma目的地在物理上位于不同的装置上。在多处理器系统中,在一些情况下,sdma源和sdma目的地位于与不同处理器相关联的不同装置上。在此类情况下,sdma引擎解析虚拟地址以获得物理地址,并发出远程读取和/或写入命令以实现dma传递。附图说明5.可以从结合附图以举例的方式给出的以下描述中获得更详细的理解,其中:6.图1是可以在其中实施本公开的一个或多个特征的示例性装置的框图;7.图2是示出示例性计算系统的部分的框图;8.图3是示出示例性多处理器计算系统的部分的框图;9.图4是示出示例性直接存储器访问消息传递的消息序列图;以及10.图5是示出用于直接存储器访问的示例性方法的流程图。具体实施方式11.一些实施方式提供了一种被配置用于直接存储器访问的计算系统。所述系统包括处理器管芯上的sdma装置。sdma装置向数据结构装置发送消息。所述消息包括源缓冲区的物理地址、目的地缓冲区的物理地址以及从源缓冲区到目的地缓冲区的数据传递的大小。数据结构装置向第一代理装置发送一个指令或多个指令。所述指令包括源缓冲区的物理地址、目的地缓冲区的物理地址以及数据传递的大小。第一代理装置各自从源缓冲区的物理地址处的存储器装置中读取源缓冲区的一部分。第一代理装置各自还向第二代理装置中的一者发送源缓冲区的所述部分。第二代理装置各自操作存储器控制器以将源缓冲区的所述部分写入目的地缓冲区。12.在一些实施方式中,sdma装置从处理器管芯上的处理器接收一个指令或多个指令。所述一个指令或多个指令指示源缓冲区的虚拟地址和目的地缓冲区的虚拟地址。sdma装置将源缓冲区的虚拟地址转译成源缓冲区的物理地址。sdma装置将目的地缓冲区的虚拟地址转译成目的地缓冲区的物理地址。在一些实施方式中,数据结构装置包括数据结构的杂项(misc)功能块。在一些实施方式中,代理装置包括数据结构的一致的从装置。在一些实施方式中,第一代理装置在处理器管芯上,而第二代理装置在远程处理器管芯上。在一些实施方式中,第二代理装置在处理器管芯上,而第一代理装置在远程处理器管芯上。在一些实施方式中,第一代理装置中的每一者在向第二代理装置中的一者发送源缓冲区的所述部分之前将源缓冲区的所述部分存储在本地缓冲区中。一些实施方式包括处理器管芯和远程处理器管芯之间的一致的链路,并且第一代理装置通过一致的链路与第二代理装置通信。在一些实施方式中,第一代理装置各自操作存储器控制器以从源缓冲区的物理地址处的存储器装置中读取源缓冲区的所述部分。在一些实施方式中,数据结构装置将一个指令或多个指令广播到第一代理装置。13.一些实施方式提供了一种用于直接存储器访问的方法。所述方法包括将消息从设置在处理器管芯上的系统直接存储器访问(sdma)装置发送到数据结构装置。所述消息包括源缓冲区的物理地址、目的地缓冲区的物理地址以及从源缓冲区到目的地缓冲区的数据传递的大小。所述方法还包括由数据结构装置向第一代理装置发送一个指令或多个指令。所述一个指令或多个指令包括源缓冲区的物理地址、目的地缓冲区的物理地址以及数据传递的大小。所述方法还包括第一代理装置中的每一者从源缓冲区的物理地址处的存储器装置中读取源缓冲区的一部分。所述方法还包括第一代理装置中的每一者向第二代理装置中的一者发送源缓冲区的所述部分。所述方法还包括第二代理装置中的每一者将源缓冲区的所述部分写入目的地缓冲区。14.一些实施方式包括sdma装置从处理器管芯的处理器接收一个指令或多个指令。所述指令指示源缓冲区的虚拟地址和目的地缓冲区的虚拟地址。一些实施方式包括sdma装置将源缓冲区的虚拟地址转译成源缓冲区的物理地址。一些实施方式包括sdma装置将目的地缓冲区的虚拟地址转译成目的地缓冲区的物理地址。在一些实施方式中,数据结构装置包括数据结构的misc功能块。在一些实施方式中,代理装置包括数据结构的一致的从装置。在一些实施方式中,第一代理装置在处理器管芯上,而第二代理装置在远程处理器管芯上。在一些实施方式中,第二代理装置在处理器管芯上,而第一代理装置在远程处理器管芯上。一些实施方式包括第一代理装置中的每一者在向第二代理装置中的一者发送源缓冲区的所述部分之前将源缓冲区的所述部分存储在本地缓冲区中。一些实施方式包括第一代理装置通过处理器管芯与远程处理器管芯之间的一致的链路与第二代理装置通信。一些实施方式包括第一代理装置中的每一者操作存储器控制器以从源缓冲区的物理地址处的存储器装置中读取源缓冲区的所述部分。一些实施方式包括数据结构装置将一个指令或多个指令广播到第一代理装置。15.图1是可以在其中实施本公开的一个或多个特征的示例性装置100的框图。装置100可以包括例如计算机、游戏装置、手持式装置、机顶盒、电视机、移动电话或平板计算机。装置100包括处理器102、存储器104、存储装置106、一个或多个输入装置108以及一个或多个输出装置110。装置100还可以任选地包括输入驱动器112和输出驱动器114。应当理解,装置100可以包括未在图1中示出的附加部件。16.在各种替代方案中,处理器102包括中央处理单元(cpu)、图形处理单元(gpu)、位于同一管芯上的cpu和gpu、或者一个或多个处理器核心,其中每个处理器核心可以是cpu或gpu。在各种替代方案中,存储器104与处理器102位于同一管芯上,或者与处理器102分开定位。存储器104包括易失性或非易失性存储器,例如随机存取存储器(ram)、动态ram或高速缓存。17.存储装置106包括固定或可移动存储装置,例如硬盘驱动器、固态驱动器、光盘或快闪驱动器。输入装置108包括但不限于键盘、小键盘、触摸屏、触摸板、检测器、传声器、加速计、陀螺仪、生物特征扫描仪或网络连接(例如,用于传输和/或接收无线ieee 802信号的无线局域网卡)。输出装置110包括但不限于显示器、扬声器、打印机、触觉反馈装置、一个或多个灯、天线或网络连接(例如,用于传输和/或接收无线ieee 802信号的无线局域网卡)。18.输入驱动器112与处理器102和输入装置108通信,并且允许处理器102从输入装置108接收输入。输出驱动器114与处理器102和输出装置110通信,并且允许处理器102将输出发送到输出装置110。注意,输入驱动器112和输出驱动器114为任选部件,并且装置100在不存在输入驱动器112和输出驱动器114的情况下将以相同方式操作。输出驱动器116包括与显示装置118耦合的加速处理装置(“apd”)116。apd从处理器102接受计算命令和图形渲染命令,处理那些计算命令和图形渲染命令,并将像素输出提供给显示装置118以进行显示。如下面进一步详细描述的,apd 116包括一个或多个并行处理单元,所述一个或多个并行处理单元根据单指令多数据(“simd”)范例执行计算。因此,虽然本文中将各种功能描述为由apd 116执行或与其结合来执行,但是在各种替代方案中,被描述为由apd 116执行的功能另外地或替代地由具有类似能力的其他计算装置执行,所述其他计算装置不由主机处理器(例如,处理器102)驱动并且向显示装置118提供图形输出。例如,可以设想,根据simd范例执行处理任务的任何处理系统可以执行本文所描述的功能性。替代地,可以设想,不根据simd范例执行处理任务的计算系统执行本文所描述的功能性。19.图2是示出示例性计算系统200的部分的框图。在一些示例中,计算系统200使用如关于图1示出和描述的装置100的一些或全部来实施。计算系统200包括第一半导体管芯205。半导体管芯205包括一个或多个处理器210a-n、输入/输出(i/o)接口220、互连件230、存储器控制器240和网络接口250。在其他示例中,计算系统200包括另外的部件、不同的部件和/或以不同的方式布置。20.在一些实施方式中,处理器210a-n中的每一者包括一个或多个处理装置。在该示例中,处理器210a-n中的至少一者包括一个或多个通用处理装置,诸如cpu。在一些实施方式中,使用如关于图1示出和描述的处理器102来实施此类处理装置。在该示例中,处理器210a-n中的至少一者包括一个或多个数据并行处理器。数据并行处理器的示例包括图形处理单元(gpu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、专用集成电路(asic)等。在一些实施方式中,此类处理装置是使用如关于图1示出和描述的apd 116来实施。21.在一些实施方式中,每个处理器包括具有一个或多个层级的高速缓存的高速缓存子系统。在一个实施方案中,每个核心复合体210a-n包括在多个处理器核心之间共享的高速缓存(例如,三级(l3)高速缓存)。22.存储器控制器240包括可由核心复合体210a-n例如通过互连件230访问的至少一个存储器控制器。存储器控制器240包括任何合适类型的存储器控制器中的一种或多种。存储器控制器中的每一者耦合到任何数量和类型的存储器装置(未示出)(或以其他方式与其通信)并控制对其的访问。在一些实施方式中,此类存储器装置包括动态随机存取存储器(dram)、静态随机存取存储器(sram)、nand闪存存储器、nor闪存存储器、铁电随机存取存储器(feram)和/或任何其他合适的存储器装置。互连件230包括适用于图2中所示的装置之间的通信的任何计算机通信介质,诸如总线、数据结构等。23.i/o接口220包括一种或多种i/o接口(例如,外围部件互连(pci)总线、pci扩展(pci-x)、pcie(pci express)总线、千兆以太网(gbe)总线、通用串行总线(usb)等)。在一些实施方式中,i/o接口220使用如关于图1示出和描述的输入驱动器112和/或输出驱动器114来实施。各种类型的外围装置可以耦合到i/o接口220.此类外围装置包括(但不限于)显示器、键盘、鼠标、打印机、扫描仪、操纵杆或其他类型的游戏控制器、媒体记录装置、外部存储装置、网络接口卡等等。在一些实施方式中,此类外围装置是使用如关于图1示出和描述的输入装置108和/或输出装置118来实施。24.图3是示出示例性多处理器计算系统300的部分的框图。系统300或其部分可使用半导体管芯205(如关于图2示出和描述)和/或装置100(如关于图1和图2示出和描述)中的一些或全部来实施。25.系统300包括一个或多个处理器310a-n和通过互连件330(例如,经由其他部件)与处理器310a-n通信的一个或多个存储器控制器340a-n。在一些示例中,处理器310a-n经由一致的主装置315a-n耦合到互连件330,并且存储器控制器340a-n经由一致的从装置345a-n耦合到互连件330。互连件330、一致的主装置315a-n和一致的从装置345a-n形成促进系统300的部件之间的通信的数据结构的部分。26.在该示例中,系统300包括半导体管芯0和半导体管芯1,并且一致的链路350经由互连件330和i/o接口360a-b(其也形成数据结构的部分)在两个管芯上扩展数据结构。互连件330包括适用于图3中所示的装置之间的通信的任何计算机通信介质,诸如总线、数据结构等。处理器310a-n中的每一者包括一个或多个处理器核心(例如,cpu和/或gpu,如关于图2所讨论的)。处理器310a-n中的每一者还包括对应的sdma引擎370a-n。27.每个处理器310a-n与对应的一致的主装置315a-n通信。在一些实施方式中,一致的主装置是处理在互连件(例如,互连件330)上流动的流量并管理连接的cpu或核心复合体的一致性的代理。在一些实施方式中,为了管理一致性,一致的主装置接收并处理一致性相关消息和探针,并生成一致性相关请求和探针。28.每个处理器310a-n经由其对应的一致的主装置315a-n并通过互连件330与一个或多个一致的从装置345a-n通信。一致的从装置是管理存储器控制器(例如,连接到一致的从装置的存储器控制器)的一致性的代理装置。在一些实施方式中,为了管理一致性,一致的从装置接收并处理以对应存储器控制器为目标的请求和探针。29.在图3的示例中,处理器310a通过一致的主装置315a和互连件330与一致的从装置345a通信。一致的从装置(cs)345a与控制存储器装置(例如,主存储器dram装置)的存储器控制器(mc)340a通信。在一些实施方式中,每个处理器310a-n经由对应的一致的主装置315a-n和对应的一致的从装置340a-n与任何合适数量的存储器控制器340a-n通信。30.探针包括从一致性点(例如,一致的从装置)传递到计算机系统中的一个或多个高速缓存的消息,以请求指示高速缓存是否具有数据块的副本的响应,并且在一些实施方式中,指示高速缓存应将数据块置于其中的高速缓存状态。在一些实施方式中,如果一致的从装置接收到针对其对应的存储器控制器的存储器请求(例如,对存储在由一致的从装置管理其一致性的存储器控制器控制的存储器中的地址或地址区域处的数据的存储器请求),则一致的从装置对其对应的高速缓存目录执行查找(例如,基于标签的查找)以确定所述请求是否以缓存在高速缓存子系统中的任一者的至少一个高速缓存行中的存储器地址或区域为目标。31.sdma引擎370a-n协调系统300内的装置与存储器之间或存储器中的不同位置之间的数据的dma传递。sdma引擎370a-n能够从它们对应的处理器310a-n接收指令。基于接收到的指令,在一些情况下,sdma引擎370a-n经由数据结构从任何存储器读取和缓冲数据,并经由数据结构将缓冲的数据写入任何存储器。在一些实施方式中,基于接收到的指令,sdma引擎370a-n向数据结构装置(诸如数据结构的杂项(misc)块)发送消息,其具有用于实现dma的指令。32.misc块380a-b是处理杂项功能的数据结构装置。在一些情况下,misc块380a-b托管电源管理和中断功能。在一些示例中,misc块380a-b如本文所讨论的那样托管sdma功能。例如,misc块380a从sdma引擎370a(例如,经由代理装置,诸如一致的主装置315a)接收消息,其具有用于实现从物理地址处的源缓冲区到物理地址处的目的地缓冲区的指定大小的dma传递的指令。在该示例中,misc块380a还向同一管芯上的代理装置(例如,一致的从装置345a-d)广播对应的命令以实现dma传递,例如,如本文进一步讨论的。33.在一些实施方式中,互连件330连接到其他部件和/或与其通信,为了便于描述,所述部件在图3中未示出。例如,在一些实施方式中,互连件330包括与一个或多个网络接口250的连接,如关于图2示出和描述的。34.图4是示出示例性直接存储器访问消息传递400的消息序列图,所述直接存储器访问消息传递例如可在如关于图3示出和描述的系统300的装置之间实施。35.sdma 370a协调从物理上位于处理器310a本地的存储器上(即,可经由管芯上存储器控制器340a-440b访问)的源存储器缓冲区到物理上位于处理器310n本地的存储器上(即,可经由管芯上存储器控制器340e-n访问)的目的地缓冲区的dma。这在本文中被称为“本地读取,远程写入”dma。通过相应地重新布置消息传递来实现对应的“远程读取,本地写入”操作。类似地,对应的“本地读取,本地写入”或“读取远程,远程写入”操作也通过相应地重新布置消息传递来实现。36.处理器310a在指令405中向sdma 370a发送sdma命令,所述sdma命令包括源缓冲区的虚拟地址、目的地缓冲区的虚拟地址以及数据传递的大小。应注意,在一些实施方式中,指令405包括一个以上的指令和/或消息。37.在步骤410处,sdma 370a对源缓冲区的虚拟地址和目的地缓冲区的虚拟地址执行虚拟到物理地址转译,以分别获得源缓冲区的物理地址和目的地缓冲区的物理地址。38.sdma 370a在sdma消息415中向misc块380a发送源缓冲区的物理地址、目的地缓冲区的物理地址和数据传递的大小。39.misc块380a向管芯0上的所有一致的从装置发送sdma命令广播420,所述sdma命令广播包括源缓冲区的物理地址、目的地缓冲区的物理地址和数据传递的大小。在该示例中,cs 345a-d在芯片0上。40.cs 345a-d各自向其相关联的本地mc 340a-d发送读取命令425。每个mc 340a-d在步骤430中读取其源缓冲区的对应部分,并在步骤435中将源缓冲区数据返回给cs 340a-d。每个cs 340a-d将源缓冲区数据缓冲在本地缓冲区440中(如果和/或根据需要)以用于传输。41.cs 345-ad各自向远程cs 345e-n发送远程写入命令445,所述远程cs各自向其相关联的mc 340e-n发送写入命令450。每个mc340e-n在步骤455中写入其目的地缓冲区的对应部分,并向其相应的cs 345e-n返回确认460。在一些实施方式中,仅针对最后传递(即,针对最后写入命令450)请求确认,因此对于所有写入命令450仅返回一个确认460。42.在目的地缓冲区被完全写入之后;即,在最终的mc 340e-n已经向其相应的cs 345e-n返回了确认之后,接收最终确认(或在仅针对最后写入命令450请求确认的情况下的唯一确认)的cs445e-n向cs445a-d返回累积确认465。在接收到累积确认465之后,每个cs 345a-d向misc块380a发出命令470以指示传递完成。在一些实施方式中,命令470包括传递的身份(例如,传递id)。基于命令470,misc块380a向sdma 370a发送指示传递完成的指示475。43.图5是示出用于直接存储器访问的示例性方法的流程图。例如,方法500可在系统300(如关于图3示出和描述)上和/或在一些示例中使用信令400(如关于图4示出和描述)实施。44.在框505中,sdma 370a从处理器310a接收指令。所述指令可以是包括源缓冲区的虚拟地址、目的地缓冲区的虚拟地址和数据传递的大小的sdma命令,例如,如在指令405中(如关于图4示出和描述)。45.在框510中,sdma 370a对源缓冲区的虚拟地址和目的地缓冲区的虚拟地址执行虚拟到物理地址转译,以分别获得源缓冲区的物理地址和目的地缓冲区的物理地址(例如,如相对于关于图4示出和描述的410示出和描述)。46.在框515中,sdma 370a在框515中向misc块380a发送源缓冲区的物理地址、目的地缓冲区的物理地址和数据传递的大小(例如,如关于图4示出和描述的消息415)。47.在框520中,misc块380a接收消息,并且在框525中,向管芯0上的所有一致的从装置发送sdma命令广播(例如,如图4示出和描述的广播420),所述sdma命令广播包括源缓冲区的物理地址、目的地缓冲区的物理地址以及数据传递的大小。在该示例中,cs 345a-d在管芯0上。在一些实施方式中,广播420包括传递的标识(例如,传递id)来标识传递任务。48.在源缓冲区在本地而目的地缓冲区在远处的条件530下,在框535中,本地cs 345a-d各自向其相关联的mc 340a-d发送读取命令(例如,如关于图4示出和描述的命令425),使得每个mc 340a-d读取其源缓冲区的对应部分(如果有)并向cs 340a-d返回源缓冲区数据。每个cs 340a-d将源缓冲区数据缓冲在本地缓冲区中(如果和/或根据需要)以用于传输。49.在框540中,本地cs 345a-d各自向远程cs 345e-n发送远程写入命令以将缓冲区写入远程存储器。在框545中,远程cs 345e-n各自向其相关联的mc 340e-n发送写入命令,使得每个mc 340e-n将其源缓冲区数据的对应部分写入其相关联存储器中的目的地缓冲区。在写入其目的地缓冲区的对应部分之后,每个mc 340e-n向其相应的cs 345e-n返回确认。50.在框550中,在目的地缓冲区已被完全写入之后;即,在最终mc 340e-n已经向其相应的cs 345e-n返回确认之后,接收最终确认的cs 345e-n向本地cs 345a-d返回累积确认465。在接收到累积确认465之后,每个cs 345a-d向misc块380a发出命令以指示传递完成。在一些实施方式中,所述命令包括传递的身份(例如,传递id)。基于所述命令,misc块380a向sdma 370a发送指示传递完成的指示。51.在源缓冲区在远处而目的地缓冲区在本地的条件530下,本地cs 345a-d在框555中各自向远程cs 345e-n发送远程读取命令。基于远程读取命令,远程cs 345e-n各自在框560中向其相关联的mc 340e-n发送读取命令,使得mc 340e-n向cs 345e-n返回源缓冲区数据。cs 345e-n将源缓冲区数据缓冲在本地缓冲区中(如果和/或根据需要)以用于传输。52.在框565中,远程cs 345e-n通过一致的链路将缓冲的数据传输到本地cs 345a-d。本地cs 345a-d在框570中经由相关联的mc 340a-d将数据写入物理存储器地址处的目的地缓冲区。在目的地缓冲区已被完全写入之后;即,在最终mc 340a-d已经向其相应的cs 345a-d返回确认之后,接收到最终确认的cs 345a-d在框575中向misc块380a发出命令以指示传递完成。在一些实施方式中,所述命令包括传递的身份(例如,传递id)。基于所述命令,misc块380a向sdma 370a发送指示传递完成的指示。53.应当理解,基于本文的公开内容,许多变型是可能的。尽管上文以特定组合描述了特征和要素,但是每个特征或要素均可以单独使用而无需其他特征和要素,或者以具有或不具有其他特征和要素的各种组合使用。54.图中所示和/或本文所描述的各种功能单元(包括但不限于处理器102、输入驱动器112、输入装置108、输出驱动器114、输出装置110、加速处理装置116)可以被实施为通用计算机、处理器或处理器核心,或者被实施为存储在非暂时性计算机可读介质中或另一种介质中、可由通用计算机、处理器或处理器核心执行的程序、软件或固件。所提供的方法可以在通用计算机、处理器或处理器核心中实施。合适的处理器包括例如通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、多个微处理器、与dsp核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)电路、任何其他类型的集成电路(ic)和/或状态机。可以通过使用处理后的硬件描述语言(hdl)指令的结果和其他中间数据(包括网表)(此类指令能够存储在计算机可读介质上)配置制造过程来制造此类处理器。此类处理的结果可以为掩模作品,所述掩模作品然后用于半导体制造过程中以制造实施本公开的特征的处理器。55.本文提供的方法或流程图能够在并入非暂时性计算机可读存储介质的计算机程序、软件或固件中实施,以便由通用计算机或处理器执行。非暂时性计算机可读存储介质的示例包括只读存储器(rom)、随机存取存储器(ram)、寄存器、高速缓存存储器、半导体存储器装置、磁性介质(诸如内部硬盘和可移动磁盘)、磁光介质以及诸如cd-rom盘和数字通用光盘(dvd)等光学介质。56.***









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部