资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,新型多核网络处理器,主要参考文献,Advanced Processor with System on a Chip Interconnect Technology.,思科QuantumFlow处理器及其战略研究。,研发背景,今天的网络要求越来越高的带宽和越来越复杂的数据包处理:,链路带宽迅速提高增长速度高于CPU性能的提升速度,新的业务大量涌现音/视频通信、P2P业务等,要求网络设备具备快速的业务升级能力。,业务流量持续增长每12个月翻一番,包处理越来越复杂:,平安:IPSec/VPN,SSL,防火墙,应用认知application awareness,流量工程Traffic Engineering:QoS/SLA等。,深度数据包检查Deep Packet Inspection,DPI,现状,目前的网络设备大多采用通用处理器+ASIC的设计模式:,ASIC无法提供业务快速升级所需的灵活性,传统网络处理器:,主要用于加速根本的包处理任务,内部资源有限,无法支持DPI这样的复杂处理,采用低级语言,缺乏相应的支持软件,新型NP与传统NP的不同,传统NP只处理数据面任务,新型NP可应用于控制面、数据面、管理面处理。,传统NP主要卸载网络层和传输层功能,而新型NP可以卸载第四层以上的处理如DPI、加/解密、压缩/解压缩等,这主要通过集成各种特殊的硬件加速器来实现。,传统NP一般采用微码编程,新型NP支持标准嵌入式操作系统和高级语言C/C+编程。,主要的多核NP半导体厂商,CavirmMIPS架构,BroadcomMIPS架构,RMIMIPS架构,Cisco,FreescalePowerPC架构,Tilera,1.,Cavium OCTEON处理器,面向网络、无线、控制和存储等应用,提供高度集成和低本钱的64位计算解决方案,广泛用于各种网络设备。,一种片上系统SoC,集成了:,12个定制的cnMIPS64 CPU core:专门针对网络效劳而设计,功耗很小。,各种硬件加速器应用,平安:针对下一代IP网络各种需求的L3-L7数据、内容和平安效劳硬件加速选项,分担MIPS core的很多任务。,丰富的可配置网络接口:以太网、PCI/PCI-X、VoIP、USB 2.0等。,OCTEON CN31XX的内部结构,CN31XX的组成,cnMIPS64 core:,带有片上存储管理单元MMU负责虚拟地址和物理地址之间的映射,增强的MIPS64 Release 2整数指令集,双发射、5级流水线的超标量体系结构,32KB指令缓存和8KB L1数据缓存,一致存储子系统:,256KB L2 cache,64/72-bit DDR2 内存控制器,可选的低延迟16-bit DDR2-667,用于基于内容的处理和保存元数据,CN31XX的组成续,集成的应用加速协处理器:,数据包I/O处理引擎:针对L2-L4的包处理和缓冲区管理引擎。,TCP加速:包括全面的检查、标签产生、校验和、定时器和缓冲区管理。,队列/调度和效劳质量硬件:对于输入包实现基于Diffserv、QoS/ToS、输入端口的队列/调度;对于输出包实现基于固定优先级或加权公平队列WFQ的队列/调度。,平安硬件完全分担:针对IPSec、SSL、SRTP、WLAN 802.11i平安协议处理,支持所有的标准算法。,压缩/解压缩硬件加速:实现GZIP、PKZIP和各种协议。,模式匹配硬件加速引擎8个:深度数据包检查。,不同的处理器版本通信处理器、平安通信处理器、网络效劳处理器包含不同的硬件加速选项。,CN31XX的组成续,集成的高性能网络接口:,最多3个可配置的以太网接口:3个10/100/1000 Ethernet MAC RGMII,或者1个RGMII+1个GMII。,32位PCI/PCI-X 主设备或从设备。,支持无缝VoIP的TDM/PCM接口。,480Mbps USB2.0 主设备,性能,每秒最多执行10亿条CN3110或20亿条CN3120指令。,500Mbps2Gbps的应用性能:,最高2Gbps 64B IP转发,最高2Gbps TCP、IPSec、SSL、压缩/解压缩,最高1Gbps正规表达式匹配,工业标准的编程模型,不需要任何专用工具或微代码,2. Broadcom BCM1480,3. RMI XLR处理器,采用SoC技术,将网络连接、负载平衡、平安、XML等功能集成在一个芯片上。,基于Mips64架构。,支持Linux SMP和VxWorks等常见的操作系统,允许利用工业标准的开发工具和环境进行软件设计,没有代码空间的限制。,可用于任何需要网络加速的场合,目标市场包括多业务交换机,路由器,防火墙/VPN/IDS/内容认知网络、网络效劳、虚拟存储和负载平衡等网络应用。,XLR732的内部结构,XLR处理器的设计特色,多核多线程:包含多个Mips64核心,每个核心拥有4个线程,每个线程拥有完全独立的存放器组,在线程调度时不需要进行上下文切换。,高速内部网络:采用专利技术构成的内部网络连接各个核、网络接口、DMA和平安引擎,允许以上各部件之间独立并行地传递数据。,硬件加速器:数据包处理,平安处理。,丰富的接口:以太网、Hyper Transport、内存、PCI-X、DMA、串口等。,XLR处理器内部结构,XLR的专利设计,自带数据cache和指令cache的处理器核,与各个核的cache相连的data switch interconnect ringDSI,在各个核之间传递与内存相关的数据。,连接到DSI上的共享L2 cache,存放内核可直接访问的数据。,与各个核的指令cache及各个通信端口相连的fast messaging ring,在核与通信端口之间提供与存储无关的点对点消息传输。,与消息网络及通信端口相连的interface switch interconnectISI,用于在消息网络和通信端口之间传输消息。,与DSI和至少一个通信端口相连的内存桥,在DSI和通信端口之间直接通信。,与DSI、ISI和至少一个通信端口相连的超级内存桥,与DSI、ISI和通信端口通信。,3.1 处理器核,每个处理器核采用4路多线程单发射10级流水线结构,为线程级并行而优化。指令级并行对于访存密集型应用而言意义不大,而数据包处理具有自然的线程级并行。 ,不同的核可以执行不同的程序,甚至运行不同的操作系统。,一个核中的不同线程可以执行不同的程序,甚至运行不同的操作系统。,处理器核之间通过消息网络进行通信。,线程调度-Eager round-robin,线程调度Multithreaded fixed-cycle scheduling,线程调度-Multithreaded fixed-cycle scheduling with eager round-robin,可编程中断控制器PIC,可编程中断控制器PIC从中断源接受中断请求后,可以将中断指派给任何一个核/线程去处理。,CPU mask是一个32比特的数,用于指示哪些核/线程不处理该中断。,如有多个未屏蔽的核或线程,采用round-robin方式进行任务分配。,XLR还允许一个线程中断另一个线程。,3.2 L2 Cache,统一的指令与数据片上L2 Cache,2MB容量,32B cache line。,包含与处理器核数量一样多的bank。,每个时钟周期最多可以同时接收8路访问。,可以不包括L1 cache中的内容,从而有效地提高整个内存系统的容量。,可被处理器核直接访问。,3.3 数据交换data switch,DSI、内存桥和超级内存I/O桥构成一个用于数据交换的环,其中内存桥连接存储端口与处理器核,超级内存I/O桥连接存储端口、通信端口与处理器核。,每个处理器核、内存桥和超级内存I/O桥各自通过一个环单元连接到环上。每个处理器核的环单元与该处理器核的指令cache以及 L2 cache中的相应bank连接。,实际上有4个环构成了这个环结构:请求环RQ、数据环DT、Snoop RingSNP和响应环RSP,每个节点包括了4个环上的环单元。,环上的通信是基于包的通信,每个包包含像目的ID、事务ID等域,包在环上传递直至被接收节点收到。,数据交换互连环示意图,环单元结构,包在环上的传递过程,3.4 消息传递网络,FMN环单元结构,消息的数据结构,基于信用的流量控制,对于一个特定的接收者,分配给所有发送者的信用总数不能超过接收队列RCV Queue的入口总数如256。,软件可以控制信用的分配。比方,启动时每个发送者可以被分配一个缺省的信用数,然后软件再可以为每个发送者分配信用。,当一个代理要发送一个消息给某个接收者时,它必须具有向该目标发送消息的信用。当发送一个消息后,其相应的信用要减1。当信用为0时,必须停止向该目标发送消息。,目标取得消息后,向发送者发送一个响应信号,发送者的信用加1。,3.5 本地节点上的分组流,Packet Distribution EnginePDE,PDE包括一个XGMII/SPI-4.2接口和4个RGMII接口。,PDE利用FMN,将数据包负载均衡地、快速地分发到软件指定的线程。,事实上,数据包并没有真正地在FMN上传递。网络接口将数据包写入内存,PDE将一个包描述符插入到消息中兴旺给软件指定的接收者。,PDE分配数据包举例之一,在这个例子中,软件选择thread 4thread7处理接收的数据包,并且PDE均匀地将数据包分配到4个线程上。,PDE分配数据包举例之二,基于信用的round-robin,Packet Ordering DevicePOD,许多应用要求维持包序,维持包序的方法:,用软件实现,达不到线速处理速度。,将属于同一个流的包发送到同一个线程,要求包分类,影响性能,且不利于负载均衡。,XLR使用硬件加速部件POD,在发送到输出网络接口前排序数据包。,POD续,每个数据包都被输入接口分配一个序号,该序号连同其它包信息一起由PDE发送给工作线程。线程处理完数据包后,将包描述符和原始序号交给POD。,POD根据序号建立一个队列,对每一个收到的数据包在队列中排序,并按顺序发送到输出端口。,POD的工作机制,POD续,队头阻塞问题:,较早的一个数据包一直没有到达POD:用定时器解决,在超时前队列满:丢弃队头的包,以便接收新的包,损坏的包或控制包:软件知道这些包不会到达POD,可以在POD中插入一个哑“包描述符来消除暂时的队头阻塞问题。,芯片上可以有5个可编程的POD,可以指定哪个POD对应哪个接口,也可以配置成绕过POD。,XLR的最大特色,高速内部网络是XLR处理器的最大特色:,对于1.5GHz的XLR,FMN的带宽到达96GBps,DSI的带宽到达3.84TBps。,允许各个核、核与接口网络接口、平安引擎、DMA之间在同一时间各自并行地传递数据,防止了通常的总线所需要的仲裁阶段。,4. 思科QuantumFlow网络处理器,QuantumFlowQFP是思科在广域接入和智能化边缘设备解决方案中的重要技术支持,定位在边缘路由器和企业路由器。,芯片主要解决基于状态的效劳stateful service和转发合一如音/视频、防火墙、深度包检查等,芯片内部包含40个处理器核,每个处理器核有4个硬件线程,可以同时做160个数据处理,计算能力超强。,芯片的一般情况,处理器核:最多40个核,每个核4个线程,主频:最高1.2GHz,晶体管数量:8亿,内存:两个片上DDR2控制器,最高1GB RLDRAM,片上包内存:存储包头和载荷,以便进行快速的DPI,CAM:外挂TAM,最高40MB,片内高速互联:Crossbar Switch,片外互联:ESI,网络接口:4个10Gbps SPI4.2,功耗:80瓦,QFP体系结构,QFP结构-处理器观点,指令集:购置了Tensilica的Xtensa的ISA,32位,流水线:3发射5级流水线,4个线程共享一个L1指令缓存,每个线程有自己的L1数据缓存,40个核共享一个L2指令缓存,所有节点通过crossbar交换机构成一个2维mesh全联通图,QFP体系结构互联观点,QFP体系结构报文观点,从报文的观点来看,QFP是一个L2-L7的数据处理与转发引擎。,在ASR1000系列中,QFP用于集中式的数据控制和处理。从线卡和控制平面卡来的所有数据都进入QFP,处理后再转发给某个线卡或控制平面卡。,QFP的逻辑分为两大局部:,Processor engine:主要是40个CPU核,Traffic Manager:由一些数据缓存、队列和相应的调度算法逻辑组成。,包处理流程,数据包通过一个SPI-4.2通道进入,包分发器将一个完整的帧传送到片上包内存中,进行一些根本的包处理和分析,然后将这个包分配给一个线程去处理。,该线程负责数据包的全部处理输入、转发、输出,将数据包送到流量管理器的某个队列。,流量管理器调度数据包,将数据包发往另一个线卡、控制平面、备用ESP卡或片上包内存如果需要再处理一遍,假设需加密那么启动外挂的加密部件。,流量管理器支持128K队列、三级报文队列调度和多种队列调度算法。,QFP体系结构-软件观点,ASR1000运行的操作系统称为IOS-XE,这是一个基于Linux的IOS操作系统。,IOS-XE的根本特点是:,在控制平面卡上,支持单卡上两个IOS运行,从而支持单控制平面卡的高可用性,这是很重要的一个亮点。,在数据处理卡ESP上,主控CPUPowerPC运行一个Linux内核和相应的管理进程,与控制平面卡的IOS和相应的进程通过标准的IPC进行通信,使控制平面和数据平面同步工作。主控CPU还控制QFP,负责安装、启动和运行QFP的软件。QFP那么相当于一个专门处理数据包的协处理器。,在线卡SIP上,也通过一个主控CPU运行一个Linux内核和相应的管理进程,与控制平面卡的IOS和相应的进程通过标准的IPC进行通信,使控制平面和线卡同步工作。,ESP和QFP的软件结构图,QFP上的软件结构,QFP上没有宿主操作系统。,多核局部的数据包处理逻辑运行在一个裸机环境下,或者一个非常简单的硬件抽象层上。,QFP的启动、包处理软件的下载、安装和运行,都是由主控CPU通过HT接口控制的。,QFP的线程作为引擎的角色,运行包处理软件。,QFP体系结构系统观点,QFP是作为思科的边缘路由器ASR1000的重要组成局部设计的。,ASR1000是一个分布式结构,但采用的是集中式数据处理。任何一个数据包都要通过线卡SPA-线卡接口模块SIP-ESI互联-ESP-QFP进行处理,从控制平面卡出来的数据包如BGP、OSPF报文等也是如此。因此,QFP起着一个枢纽的作用。,ASR1000逻辑结构图,战略规划,核心主导思想:,针对企业网的高性能WAN接入,包括网络平安、WAN优化、音/视频接入等。,智能化边缘路由器,将防火墙、IPSec/VPN、DPI、会话边界控制等多种应用集成在一个系统中。,5. Freescale PowerQUICC处理器,Freescale的PowerQUICC通信处理器是一种高度集成化的设计,将网络处理和控制处理功能合并在一起。,增强型的Power e500-mc内核,用于控制面处理。目前的产品集成了两个Power e500-mc核。,增强型的QUICC引擎技术,用于数据面处理。,包含丰富的接口:DDR2/DDR3存储控制器、以太网接口SGMII、串行RapidIO互连、 PCI-X、USB2.0等。,采用标准的微代码编程,提供开放式的编程模式,具有第三方厂商的软件支持。,Freescale MPC8572E,Freescale的多核SoC路线图,6. Tilera TILE64处理器,TILE64,64个相同的处理器核,通过iMesh片上网络互连在一起。,每个核是一个全功能的处理器,包括集成的L1和L2高速缓存和一个非阻塞的交换机,交换机将处理器核连接到mesh中。,集成了完全的存储和I/O控制器,从而不再需要外部的南桥或北桥。,每个核可以独立地运行一个完整的操作系统,或者几个核一起运行一个多处理OS。,可以根据不同应用的需要将适当数量的核组织成簇。,支持C/C+编程,利用iMesh将几个处理器核组合起来完成某个功能,可获得ASIC或FPGA的性能,同时具有强大的软件可编程性。,每秒最多4430亿个操作,31Tbps的片上mesh互联,最高50Gbps的I/O带宽,支持各种计算密集型应用。,7. 新型网络处理器的特点及面临的困难,特点:,芯片上集成大量的处理器内核。,芯片上集成多个存储控制器、大量的硬件加速器和大量高速的I/O接口。,包含高效率的片上网络。,面临的困难:,随着处理器内核数量的增长,存储一致性成为一个让人头痛的问题。,提供足够高的I/O带宽,让芯片吃饱同样是一个挑战。,多核软件的开发需要新的编程工具和技术。,新型网络处理器:吞吐量 VS. 可编程性,总结,通用处理器是早期的网络处理器。,今天的网络是高带宽和“智能的,要求极高的包处理能力。,传统网络处理器是具有不同程度可编程性和硬件加速的专用多核多线程SoC。,新型网络处理器是支持通用编程模型的专用多核多线程SoC。,x+B2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3FMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-zH8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JaMePhTkWnZr$u*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s&v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSkVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQiTlWo#r%v(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4G7JaMePhSkWnZq$uB3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjVmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t&w-z1C4G7JbMePhTkWnZr$u(x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F7IaLdPgSjVnYu*x+A2E5H8KcNfQiUlXp#s%v)y0B3F6IaLdOgSjVmYq!t*w-z1D4G7JbMeQhTkWoZr$u(x+B2E5H9KcNfRiUmXp#s&v)y0C3F6IaLdPgSjVnYq!t*w-A1D4G8JbMeQhTlWoZr%u(x+B2E6H9KcOfRiUmXp!s&v)z0C3F7IaMdPgSkVnYq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTls&v)z0C3F7IaMdPgSkVnYq$t*w-A1D5G8JbNeQhTlWo#r%u(y+B2E6H9LcOfRjUmXp!s&w)z0C4F7IaMdPhSkVnZq$t*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6H9LcOgRjUmYp!s&w)z1C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w-z1C4G7JaMePhTkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)C4F7JaMdPhSkWnZq$u*x-A2D5H8KbNfQiTlXo#s%v(y0B3E6I9LdOgRjVmYp!t&w)z1C4G7JaMePhSkWnZr$u*x+A2D5H8KcNfQiUlXo#s%v)y0B3F6I9LdOgSjVmYq!t&w-z1D4G7JbMePhTkWoZr$u(x+A2E5H9KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOVmYq!t&w-z1D4G7JbMePhTkWnZr$u(x+A2E5H8KcNfRiUlXp#s%v)y0C3F6IaLdOgSjVnYq!t*w-z1D4G8JbMeQhTkWoZr%u(x+B2E5H9KcOfRiUmXp#s&v)z0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8KbNeQmXp#s&v)y0C3F7IaLdPgSjVnYq$t*w-A1D4G8JbNeQhTlWoZr%u(y+B2E6H9KcOfRjUmXp!s&v)z0C4F7IaMdPgSkVnZq$t*x-A1D5G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNfQiTlXo#r%v(y0B3E6I9LcOgRjUmYp!t&w)z1G8JbNeQiTlWo#r%u(y+B3E6H9LcOfRjUmYp!s&w)z0C4F7JaMdPhSkVnZq$u*x-A2D5G8KbNeQiTlXo#r%v(y+B3E6I9LcOgRjUmYp!t&w)z1C4F7JaMePhSkWnZq$u*x+A2D5H8KbNfQiUlXo#s%v(y0B3F6I9LdOgRjVmYq!t,
展开阅读全文