原创 多重执行绪技术创造高效率视频转换器SoC架构

2007-12-23 20:44 1984 6 6 分类: MCU/ 嵌入式

视频转换器制造商在软硬体系统架构设计方面,正面临许多严苛的挑战,包括:

*额外增加的功能,衍生更多效能需求问题
*同一部设备必须支援日益增加的标准:MHP、OCAP、DVB-T/S等
*若继续采用传统架构,势必难以达成成本压力导致厂商修正新的价效比的目标

这些挑战涵盖入门级及全功能产品,除面临须在最点时间内上市的压力外,全功能产品更面临支援各种功能与服务的压力。

在系统设计中采用多重执行绪(Multi-Threading)处理器核心即可因应这些挑战。多重执行绪不仅带来许多效益、降低整体系统成本,亦可大幅缩短产品的上市时程。我们将把讨论焦点放在MIPS多重执行绪的特定应用延伸指令(Application Specific Extension, ASE),它是业界标准MIPS32®架构的延伸方案,目前已建置在MIPS32 34K系列核心。

34K处理器中硬件多重执行绪的重要功能包括:

*硬件的执行绪环境(TCs),将内容切换(Context Switch)的耗用资源减到零。不同的执行绪内容指令,会在连续的周期中发送,让硬件能在任何因素造成的延迟周期中立即插入进行运算
*多个虚拟处理元件(VPEs)分享相同的运算资源,提升处理器使用效能
*运用闸控储存(Gating Storage)与YIELD检验器做硬件程序控制, 以达到硬件将处理器的周期资源分配给特定的执行绪。如此, 可提供执行绪保证服务品质(Guaranteed Quality of Service,QoS)

本文中,我们将介绍在SoC设计中运用多重执行绪的优势,并阐述如何在视讯转换器中发挥这些效益。同时将建议新系统分割选项,让设计人员能运用34K系列核心,发挥其独特的多重执行绪功能,藉以达到最佳价效比。

运用多重执行绪规划全新SoC架构

定义一个新的SoC架构,向来是困难重重的挑战,不论是锁定更多功能、更低成本的新一代产品,或是将进入新市场的解决方案。所有功能必须对应到软硬件的单元功能。多重执行绪处理器,因具有更高效能、QoS策略以及提供作业隔离机制,因此能在增加极少的成本下,扩充更多功能。此外,若已有现成的硬件模组或软体模组,重新切割这些元件到多重执行绪将更具有弹性化。

多重执行绪处理器整合至SoC 2种可行的作法:

1. 将2个以上的单执行绪核心换成一个多重执行绪核心。
2. 将1个单执行绪处理器换成多重执行绪核心。

这2种方法中,都是运用多重执行绪处理器,创造更多机会,进行系统层级最佳化并提高软件效能,我们将在下面的章节中详细说明。
将2个单执行绪核心换成一个多重执行绪核心

可利用一个像MIPS 32 34Kc这类的多重执行绪处理器,取代2个单执行绪处理器。在原始的设计中,2个处理器当中通常有一个作为控制应用处理器,执行Linux或类似的作业系统,主要是控制SoC上的系统功能。在现在的设计中,经常用来执行Java程式。第二个处理器通常执行即时性作业,像是Dolby Digital音效应用,这类应用需要QoS,以确保一定的流量,或用于语音应用时必须确保语音延迟性功能。

将2个单执行绪处理器换成1个多重执行绪处理器的优点,包括:

*更低的价格/效能比:降低成本主要归功于更小的晶片空间、减少给付权利金及不需使用多个开发工具链来支援异质化架构。执行2个处理器时,会耗费可观的通信资源,对效能与空间都会产生显着的影响。不论是协调或非协调式架构,在互连硬件与软件方面都会耗用一定的资源。运用统合的工具链,能缩短产品上市时程,因为软件设计人员在使用单一工具链时,其负担较低,可在单一平台上进行软件的开发与除错工作。

*简化、更弹性化的运算资源分割:一个多重执行绪处理器的运算资源,能以更有效率的模式,分配给多个应用程式分享。分析典型控制应用中每个週期执行的指令(Instruction per Cycle),可明显看出有一半以上的时间都是闲置,一直等候存储器或其他延迟时间极长的事件。因此,运用2个处理器是非常浪费资源的作法,造成整体运算资源使用率偏低的状况。在相同的处理器上进行多重执行绪作业,将闲置的时槽填入作业,有效运用处理器上的所有资源。运用34Kc核心的QoS逻辑与执行绪策略管理器,让要求QoS的作业仍能及时获得所需的运算资源。极关键的程式码可载入并锁定在第一阶快取,或是储存在暂存存储器 。

*降低功耗:运用多重执行绪机制,让处理器的管线达到更高的效率,降低每项执行作业消耗的电力。避免使用第2颗处理器,还能降低整体系统的耗电量,因为可消除第2颗处理器的漏电流。
将1个单执行绪核心换成1个多重执行绪核心

主要优势:(1)更有效率地运用多重执行绪管线(multi-threading pipeline),发挥更高的效能。(2)增进QoS,因为运用有保障的即时排程机制。

当主要目标不是追求更高效能,则可将附加优势转向降低功耗及降低成本。多重执行绪发挥更高的管线效率(pipeline efficiency),让处理器的操作频率能够降低,在结束运算作业时,就可关闭时脉。此外,当在使用较低的时脉频率来合成核心,核心所佔用空间也得以缩减。

根据单执行绪处理器核心所执行的任务,我们须考量2种差异极大的状况:
1. 将负责执行作业系统与即时性任务的处理器,换成一个多重执行绪处理器:运用一个多重执行绪元件,透过不同的虚拟处理元件(VPEs)分别执行作业系统与即时性的任务,模拟出多重处理器解决方案的效果。这些作业可在不同的硬件执行绪环境中执行。
2. 负责执行QoS型作业、作业系统或Java程式的处理器,换成一个多重执行绪处理器:作业系统通常可用人工或自动将应用程式分割成多个执行绪。在Java程式中,作业系统可自动化将Java虚拟机器(JVM)上执行的应用程式连结到执行绪环境(TC)。

SoC效能需求

在运用非对称多重处理器的SoC解决方案中,每个处理器核心效能需求,在标准与功能组合持续变迁之际,必须提前做好规划。过去业者都会预留较多的弹性空间,导致最终产品成本较昂贵。在这种情况下,若多重执行绪处理器能因应非对称式多重处理器的处理需求,就能带来显着的利益,因为它省去精确估算每个核心效能的需求。运用多重执行绪解决方案,仅须估算整个系统的效能需求,就能着手开始设计晶片。

运用多重执行绪解决方案,不必把应用从已经超载的数字信号处理器移给主处理器,或从主处理器移给数字信号处理器。使用这种方案,也不必把安全型应用从安全处理器移到通用型处理器。多重执行绪处理器可作为单一运算资源,不仅不必重新设计并可加快产品上市时程,更让半导体产品增加在市场的存活时间。业者还能扩展产品的阵容。

多重执行绪处理器核心效能优势

多重执行绪可有效隐藏任何作业的延迟效应,包括快取错置(cache misses)、 I/O汇流排的週边元件存取、无快取(non-cached)且多重周期的存储器存取或多重周期延迟的乘法运算。无快取多重周期的存储器存取,有时会被另一个主控端应用在资料结构或缓冲区的修改作业,或处理少见的资料存取模式,同时维持资料快取(data cache)中的内容。在高频率可合成设计中,像乘法与除法等作业,可能长时间拖住主发送管线。系统可运用高效率的多重执行绪机制,将其他执行绪的作业拿来填补这些闲置的周期。预测失准的分枝(mispredicted branches),所造成的泡泡,也可用这种方法来填补。34K核心能针对处理中的执行绪,进行细分式的内容切换,只要系统中有其他运行执行绪,就能填补核心中任何延迟的周期。因此,34K核心不仅能填补延迟的闲置周期,像是快取错置,还能填补其他因素造成的延迟周期,像是资料相关性、乘法、同步化等。

在单执行绪系统中,执行指令主要从指令快取读出,整体系统效能受到指令快取错置率(instruction cache miss rate)所影响,其他影响因素还包括撷取指令所耗费的周期数,CPU必须等待撷取到指令才能继续执行。指令快取的错置率取决于应用,主要为指令存取在空间与时域上的局限性及快取的容量与组态。

当系统中的错置率极低或可以忽略不计时,管线延迟的主要来源就来自管线的相依性-长延迟的作业,譬如乘法与除法、因执行绪同步化产生的延迟或分支预测失准产生的延迟。在这种情况下,多重执行绪处理器可将这些延迟的周期,填入其他执行绪的指令,如此一来其效能就胜过无法填满这些延迟周期的单执行绪处理器。能用硬件填满分支预测失准造成的延迟时槽,是非常重要的功能,因为这些状况不可能事先排程,不像因乘法与其他资料相关性所造成的延迟。

qrs_074814d-1.jpg

图1中深蓝线代表快取错置率如何影响系统效能。图中显示的行为代表指令快取以及资料快取。快取背后的存储器子系统,对效能衰退的程度有极大的影响。因记忆体延迟造成效能衰退,归因于CPU管线与其他资源因为延迟导致使用率低落。


在多重执行绪系统中,一个执行绪中的CPU闲置周期,通常会被另一执行绪的指令填补。图1中红线显示出能执行越多执行绪,CPU使用率也就越高。

但当延迟週期时间愈来愈短时,效能也随之降低,愈来愈多的执行绪会让管线趋于饱和。当所有执行绪运用相同存储器子系统,包括快取在内,让CPU仍维持在使用率低落的状况。红线显示整体系统效能与快取错置率间的关系。整体效能取决于执行绪快取的错置率、多个同步执行绪之间的干扰及多个执行绪共用的快取管线。红线显示典型的效能区域。每个执行绪预估的执行时间抖动(run-time jitter),端视应用而定。在一般的情况下,预测的抖动都在可被接受的范围内,产生合理、稳定、可预测的整体行为。

当至少有一个执行绪被启动执行于平行存储器次系统中时,CPU使用率能因此增加,而获得更高的效能。这平行记忆体次系统可以是另一个快取或无快取的存储器子系统,像是ISPRAM (Instruction ScratchPad RAM) 或DSPRAM (Data ScratchPAD RAM)。当应用程式的程式码与/或资料量尽可能优化到最小时,将指令与资料锁定在快取中,CPU效能可获得提升。例如一个密集运算的信号处理作业,多数时间都用在处理SPRAM的FFT loop。若运算密集作业耗用大部份的效能(35%以上),支援其他作业的存储器子系统就可简化,例如可降低快取容量,且不会降低整体效能。

在分析行为模式后,像运算密集(computation-intensive)或分支密集(branch-intensive),这类资讯可作为软件分割的参考,用来填满未使用的闲置周期,藉以提昇效能。量测每项作业的每周期处理指令(IPC)及其快取作业的特性,以获得有用的参考资讯。

服务品质(Quality of Service, QoS)

多重执行绪可透过3个方法提升服务品质:
1. 运用背景执行绪监控流量导向的执行绪,并视实际情况给予有需要的执行绪更多周期,运用现有的机制控制执行绪的排程。在34K核心方面,内含一个比重分配(weighted round-robin)策略管理器(policy manager),建置在硬件元件中。
2. 配合独立的执行绪内容,将重要任务指派给独立执行绪,以达立即反应效率。此外,2项重要任务则以交错模式执行,比起执行完一个再执行另一个的模式,能获得更快的反应速度
3. 运用MIPS多重执行绪架构支援硬件执行绪排程策略。此作法让使用者能在硬件中定义策略,并运用软件可编程的暂存器。34K核心建置一个硬件策略管理器,支援分配及比重分配的排程机制。亦能支援新型硬件策略管理器,像是最早的动态优先或保障比例排程。

QoS 要求即时执行绪须符合作业期限,让效能不会出现严重的延迟。目前有许多技术被运用来确保高效能。

1.若这些执行绪有充裕的效能空间,则任何执行绪在最糟状况下的执行阶段抖动,都可加以弥补,而不会让即时反应应用产生中断现象。在一个多重执行绪处理器中,这样的余量空间通常低于累积的缓冲空间,无法配合传统的多重核心解决方案,因为最糟状况效能的高峰不会同时出现在机率空间,因此在针对单一处理器核心计算最糟状况的余量度时,不需要进行累计。
2.将周期配置给关键的执行绪,或运用硬件或软硬件混合式的策略管理器,可降低所需的弹性空间。MIPS 多重执行绪提供充裕的弹性,可针对每个系统,对这些策略管理器进行最佳化调整。运用这类管理机制,业者仅须针对有绝对必要的状况,运用DMT (Disable Multi-Threading)指令切换至单执行绪模式。
3. 系统设计人员可将存储器子系统和要求QoS的元件中断作分割,以达到最低的执行时间抖动(run-time jitter)

*处理指令存取:最佳的解决方案是运用独立的ISPRAM。另一种解决方案,不需要ISPRAM,则是锁定关键快取管线(cache line)或针对特定VPE保留快取通道。这项技术通常能大幅提升效能,并改进QoS。
*处理资料存取:在指令方面有专属的DSPRAM是最佳的解决方案。其在串流资料方面尤其有效率,例如像音效与/或影片及部分没有快取的特殊资料(像是讯框缓冲区frame buffers)
*处理中断:可运用专属的VPE支援要求QoS的执行绪,就能轻易处理。发送到VPE与执行绪的中断讯号,和其他VPE的中断不同。最显着的是,送到其他VPE的中断不会阻挡要求QoS的VPE。若有可能,作业系统会阻挡相同环境中其他的VPE,像是关闭多重执行绪的服务常式。这种情况应避免或尽可能减少。

针对视频转换器进行SoC分割

对于新一代视频转换器平台而言,有许多选项可用来分割硬件与软件元件。许多因素会影响选择:产品定位(入门级或全功能),网路支援(卫星、有线电视或纯乙太网路),现有的软硬件元件是否可重复使用。

模组检视

qrs_074814d-2.jpg

图2显示一个现代视频转换器的SoC架构,其中不含多重执行绪CPU。执行作业系统的应用处理器,位于图中间下方。分别是无阻碍交换光纤连结应用处理器、影片解码器、绘图引擎、音效、存储器、前端元件及周边元件。高阶元件提供2个存储器控制器,支援2条外部DDR存储器,以满足资料频宽需求。周边元件的数量与种类端视产品用途而定 – 例如,不是每个产品都需要PCIe与硬碟机。

左边要求高安全性的前端作业部份,应用处理器的存取能力有限。若无法存取前端所有的周边元件与存储器,通常会透过邮件与专属的DMA通道,和系统其他部份进行通信。

qrs_074814d-3.jpg

图3是视频转换器以多重执行绪处理器运作的范例。范例中,有三个能让多重执行绪核心提供许多效益的选项:

(1) 在34K核心上执行音效、作业系统及各种控制功能
(2) 在34K核心上只执行音效功能
(3) 在34K核心上只执行作业系统与控制功能

在34K核心上执行音效、作业系统及各种控制功能

如图3所示,业者乐于在入门级系统中将音效解码功能整合到CPU系统。
音效演算法(audio algorithms)可在不同执行绪关联与虚拟处理单元上执行,在虚拟处理单元上时效能更佳,运用低开销的即时作业系统,或单纯型装置(无作业系统)。此作法的好处是可省下专属的音效解码引擎,藉以降低成本、节省晶片空间、降低权利金成本及功耗。运用共用核心的模式,可提高运算资源的使用效率,而不必使用2个资源使用率偏低的核心。

此解决方案适合运用在高整合度与低成本的视频转换器,尤其是刚跨入此市场没有音效解码器的客户,也适合想要汰换现有音效解码器的客户。

为达到所要求的QoS,须运用适当的系统组态来执行音效处理作业。可透过一个由软体管理的比重分配策略管理器,来管制音效执行绪的执行。业者可评估音效缓冲区的深度及可利用的效能空间,再视情况分析是否需要ISPRAM。以独立的虚拟处理单元取代执行绪关联也能带来更多效益,虚拟处理单元有专属的中断功能,不会产生相互阻挡的状况。

在34K核心上只执行音效功能

当在多重执行绪的34Kc核心上只执行音效功能时,音效处理作业可分割成多个执行绪。为达到最高效能,可将音效编码与解码串流相互分割。此外,不同的音效处理步骤,像是Dolby Digital解码、环绕音效技术(SRS TruSurround XT)、取样率转换及重低音管理等,都可分割成不同的执行绪,以达到最佳效能。这些音效处理演算法常以串联模式执行,演算法后端产生的资料,会被次个演算法的前端部份使用。当以正确的组态执行管线的平行化处理时,产出的资料可让不同执行绪的快取使用,藉此进一步提升效能。取得效能幅度,取决于实际演算法组合及其之间的互动,在不同的系统组态中,可很容易达到增加30%的效能幅度。

在34K核心上只执行作业系统与控制功能

在此方案中,34K核心可提供2种效益。首先,Java 虚拟机器可利用硬件多重执行绪机制。一般而言,Java 虚拟机器依赖软件执行绪的函式库,如,用Pthreads (POSIX 执行绪)来支援执行绪服务。Pthreads是一C与C++函式库,针对Linux下的多重执行绪作业提供许多标准应用程式介面(APIs)。任何以Pthreads撰写的应用程式,都可透过作业系统自动连结到执行绪关联,这类作业系统包括能支援34K核心硬件执行绪环境的SMTC Linux。

再来是对QoS要求较高 (如传输层的解多工)应用程式,可通过策略管理器(policy manager)与要求较低的服务加以区隔。

功能检视

各个视频转换器软件元件,有不同的效能与服务品质需求,可分成以下类型:

*流量导向的运算作业
*在万分之一秒范围内的低延迟即时事件
*在数毫秒内的即时事件
*软性即时事件
*背景作业


考量到系统中各功能元件之间的互动,系统软件分割可分为以下几类:
*硬件影片解码器控制:通常发生在具有顺向及逆向格放播放功能下的控制作业。必须在数十毫秒或甚至更短的时间内进行反应,让影片解码作业可即时完成。CPU控制的影片处理作业,也能在如运用多重执行绪等可调式编码技术下执行。对误差復原与支援非标准位元串流处理而言,多重执行绪更具有较高弹性。
*硬件音效解码器控制:对于持续处理音效串流的应用而言,硬体音效解码器控制是必要功能,但因音效串流的资料密度比影片串流低,因此控制作业负荷也低于影片控制。
*软件音效解码器:若建置在MIPS核心,不论是专属或与其他功能共用的音效元件,都属于具备特定效能需求的流量导向运算作业。实际的效能需求取决于建置的演算法。
*传输解多工器(Transport demux):从前端传来的资料流会进行分析,解出音效、影片及资讯等类型的串流,并转送到不同的加速器或存储器。这些功能主要在硬件完成。电子节目表资讯通常由软年进行中断处理。在此作业中,MIPS32位元撷取指令(bit-extract instructions)可用来分析资料流。
*硬件解扰(Hardware descrambling)控制:解扰码方法採用DES (Digital Encryption Standard)、DVB (Digital Video Broadcast) 或 NRSS (National Renewable Security System)规格标准。
*MHP/OCAP:新型多媒体家用平台(Multimedia Home Platform, MHP)与其他同种类的标准,如开放有线电视应用平台(OpenCable Application Platform, OCAP)等都是开放式中介软件系统标准。执行环境以Java 虚拟机器及通用型应用程式介面为基础,这些在系统CPU上执行的应用程式介面将负责控制整个系统。

qrs_074814d-4.jpg

视频转换器的软体架构

多媒体家用平台与开放有线电视应用平台标准针对数字互动电视定义订立独立完备的应用执行环境,不受底层软/硬件指定供应商影响。此执行环境以Java 虚拟机器为基础,并透过通用性函数定义(generic API),以存取数字互动电视终端机的资源与设备。可在应用程式介面上执行互通的多媒体家用平台应用设备。多媒体家用平台与开放有线电视应用平台标准构成一连串包括软件执行阶段、背景作业及数毫秒的即时事件。SMTC Linux是其中一种针对视频转换器开发并支援MIPS32 34K多重执行绪核心架构的作业系统。SMTC (Symmetric Multiprocessing on TCs)是针对轻量型执行绪关联所开发。

qrs_074814db-1.jpg

图4表示一典型的多媒体家用平台终端软件架构。中介软体(Middleware)或(多)媒体架构,是最复杂的元件之一。虽然目前中介软件没有特定的标准,然而,Khronos Group已发表一个通用性应用程式介面,能撷取大多数中介软件方案中的设计理念。

註(4)中提到:终端的设计运用高度非同步通信模式,让系统能在另一个执行绪、多个处理元素或在特殊硬件元件上执行处理作业。

非同步通信不只运用在中介软件,也能运用在硬件/趋动程式供应商提供的多媒体家用平台层。在作业系统层级中,非同步通信会转化执行多个执行绪,管理缓冲区及处理执行绪/缓冲相关事件和中断指令。

此重点在于,各种媒体堆叠架构,如多媒体家用平台等,均有多重执行绪的本质。每个元件层都有少数的执行绪会通过缓冲区,每秒回应数百个中断指令,还可留下充足的周期时间供可下载的应用程式使用。

从软件设计的立场来看,在34K核心搭配SMTC Linux的环境中执行媒体堆叠,能发挥何种效能?以下将分项介绍主要效能及阐述如何影响整个产品生命周期。

设计与建置

就定义而言,不同供应商在不同环境中,都以元件模式来设计、建置及测试每个功能层。某些供应商基于特殊理由,会设定一个系统效能目标。然而,一旦所有元件整合后,实际状况往往是某些软体层难以复制内容,无法达到预期效能。系统软体工程师可事先预防这种扩充问题。

观察所知的重点是虚拟处理单元与执行绪关联的扩充效率,胜过在单一执行绪处理器上执行的软件绪。硬件环境切换的性能较容易预测,提升的幅度也超越软件环境切换机制。多重执行绪的优点在于其扩充性:CPU上执行的每个执行绪,都可独立运作,产生的效能增益也都可累加。

零周期硬件环境切换(Zero-cycle hardware context switching),能快速处理中断作业,故能降低互动式作业(interactive task.)的反应延迟。如个人录影机中,从使用者按下遥控钮,到萤幕内容更新的时间,是影响使用者经验的重要因素。视频转换器最重要的性能标准,就是重绘EPG或运算出浏览页所耗费的时间。藉由多重执行绪发挥的整体效益,包括快速环境切换的延迟缩减,可大幅减短重绘时间,打造最佳终端产品。

另一附加效益是低开销、可调适性执行绪管理与同步化原生元件(互斥信号、条件式变数及旗号),因其属于硬件元件,可带来低资源耗用率与扩充性。执行绪环境切换与同步化的可预测性与速度,协助厂商缩短开发时程,开发测试结果更优越的元件。

终端使用者经验

在开发出基本的多媒体家用平台终端装置后,下一个挑战就是提供可下载的多媒体家用平台应用程式。当终端装置运用34K硬件多重执行绪核心,达到更平衡设计时,会剩下更多的CPU效能资源,可用来执行其他应用及增进整体使用者的经验。这些应用通常没有专属的硬件执行绪环境,但多媒体家用平台建置元件可在其虚拟处理单元中执行。

在图4中,韧体(FW)载入器是实地升级能力的重要元件。这种升级能让产品支援更多功能。装置可透过网际网路,存取广播节目与网页内容;透过智能卡进行电子商务或将广播应用储存在快取存储器,藉以加快启用时间。更多功能将转换为更多执行绪,因此需要更好的扩充能力。

平台寿命

各种新功能可持续加入到任何多媒体平台,多媒体家用平台也不例外。「介绍MHP」文件中註(5)特别介绍多媒体家用平台 1.1.2更优异的扩充性,这类装置内含多个影片解码器与调协器。从中介软件的建置观点而言,处理多个影片串流,只需进行像加入少数影片控制物件或执行绪等极小幅度的变更。

硬件平台能够针对额外负载进行扩充,使用硬件多重执行绪机制,能达成这方面的目标。考量各种功能,像是同时显示内编码影像、缩放影片内容或马赛克型态的EPG及其他服务的音效内容。然后再以可插入性的档案系统(存储器、USB-2储存等级装置),在支援多重执行绪越紧迫时,加入档案存取的支援功能。

对软件架构设计人员的挑战,是一方面要运用现有的基础架构,另一方面要扩充新元件。硬件多重执行绪平台是目前最佳选择,不只能因应目前扩充方面的需求,还能支援各种新标准。

结论

对视频转换器产品来说,多重执行绪技术让SoC与软件架构能进行最佳化,使系统发挥更高效能,减少未用效能的负荷。多重执行绪也缩短SoC开发周期,减轻系统设计人员的工作负担,并改良终端产品的价效比。由MIPS32 34K处理器核心建置的多重执行绪机制,业界标准架构带来大幅效益,提供使用者一个强固、弹性化并可用来开发多重执行绪的系统设计环境。

来源:http://www.52rd.com/S_TXT/2007_9/TXT8083.HTM

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条