一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

CPU和GPU雙低效,摩爾定律之后一萬(wàn)倍

 AS400r 2017-05-26

CPU和GPU雙低效,摩爾定律之后一萬(wàn)倍——寫于TPU版AlphaGo重出江湖之際

新智元 2017-05-25 14:34
CPU和GPU雙低效,摩爾定律之后一萬(wàn)倍——寫于TPU版AlphaGo重出江湖之際

新智元專欄

CPU和GPU雙低效,摩爾定律之后一萬(wàn)倍——寫于TPU版AlphaGo重出江湖之際

2008年,《三體2:黑暗森林》里寫到:

真的很難,你冬眠后不久,就有六個(gè)新一代超級(jí)計(jì)算機(jī)大型研究項(xiàng)目同時(shí)開(kāi)始,其中三個(gè)是傳統(tǒng)結(jié)構(gòu)的,一個(gè)是非馮結(jié)構(gòu)的,另外兩個(gè)分別是量子和生物分子計(jì)算機(jī)研究項(xiàng)目。但兩年后,這六個(gè)項(xiàng)目的首席科學(xué)家都對(duì)我說(shuō),我們要的計(jì)算能力根本不可能實(shí)現(xiàn)。量子計(jì)算機(jī)項(xiàng)目是最先中斷的,現(xiàn)有的物理理論無(wú)法提供足夠的支持,研究撞到了智子的墻壁上。緊接著生物分子計(jì)算機(jī)項(xiàng)目也下馬了,他們說(shuō)這只是一個(gè)幻想。最后停止的是非馮結(jié)構(gòu)計(jì)算機(jī),這種結(jié)構(gòu)其實(shí)是對(duì)人類大腦的模擬,他們說(shuō)我們這只蛋還沒(méi)有形成,不可能有雞的。最后只有三個(gè)傳統(tǒng)結(jié)構(gòu)計(jì)算機(jī)項(xiàng)目還在運(yùn)作,但很長(zhǎng)時(shí)間沒(méi)有任何進(jìn)展。


好在我們要的計(jì)算機(jī)還是出現(xiàn)了,它的性能是你冬眠時(shí)最強(qiáng)計(jì)算機(jī)的一萬(wàn)倍。傳統(tǒng)結(jié)構(gòu)?傳統(tǒng)結(jié)構(gòu),能從摩爾定律這個(gè)檸檬里又榨出這么多汁來(lái),計(jì)算機(jī)科學(xué)界都很吃驚。但這次,親愛(ài)的,這次真的到頭了

那是我讀計(jì)算機(jī)體系結(jié)構(gòu)專業(yè)博士的最后一年,當(dāng)時(shí)我對(duì)此嗤之以鼻:摩爾定律怎么可能還有那么多油水可以榨。工藝極限近在眼前,不用智子出手,摩爾定律就會(huì)死翹翹了;傳統(tǒng)結(jié)構(gòu)更是沒(méi)戲,CPU的架構(gòu)已經(jīng)被研究到頭了,從2000年后,幾乎沒(méi)有搗鼓出啥新東西。

所以,這個(gè)“一萬(wàn)倍”,真的是好科幻好科幻啊。

回顧三體2出版之后的這九年,工藝進(jìn)展步履維艱,微架構(gòu)亮點(diǎn)寥寥,CPU的性能每一代都是擠牙膏。一切都好像在印證我悲觀的預(yù)期——計(jì)算機(jī)硬件的性能,好像真的提升不上去了。

但是,從去年開(kāi)始,“科幻”般的事件相繼降臨:

  • 2016年3月,AlphaGo戰(zhàn)勝李世石,它使用了1202個(gè)CPU和176個(gè)GPU


  • 2016年4月,NVidia發(fā)布Pascal架構(gòu),峰值性能達(dá)到11TFLOPS/s,黃仁勛在接受新智元專訪時(shí)表示,半導(dǎo)體技術(shù)迭代在放緩,但GPU Pascal架構(gòu)比上一代性能在兩年內(nèi)提升了近十倍,因此可以說(shuō)我們正處在一個(gè)“超級(jí)摩爾定律”時(shí)代。


  • 今年5月11日,NVidia發(fā)布Volta架構(gòu),峰值性能達(dá)到120TFLOPS/s


  • 今年5月11日,Google公布TPU二代,峰值性能達(dá)到180TFLOPS/s,且可以通過(guò)Google Cloud訪問(wèn)


  • 今年5月23日AlphaGo重出江湖并且毫無(wú)懸念地戰(zhàn)勝了柯潔;24日,DeepMind CEO 哈薩比斯和AlphaGo項(xiàng)目總負(fù)責(zé)人David Silver 在新聞發(fā)布會(huì)上接受媒體采訪時(shí)表示,AlphaGo實(shí)際上是在谷歌云端的單一一臺(tái)機(jī)器上運(yùn)行的,此機(jī)器建立于二代TPU之上(據(jù)說(shuō)這臺(tái)機(jī)器使用了4塊TPU)

在摩爾定律已經(jīng)嚴(yán)重減速甚至失效的今天,我們實(shí)實(shí)在在地看到了算力的大幅度提升,而且這場(chǎng)算力的軍備競(jìng)賽還在繼續(xù)!

而我,也改變了自己悲觀的預(yù)期,相信在不遠(yuǎn)的將來(lái),“摩爾定律結(jié)束之后,性能提升一萬(wàn)倍”,將不會(huì)是科幻,而是發(fā)生在我們眼前的事實(shí)。

這是不是太瘋狂了?設(shè)計(jì)計(jì)算機(jī)硬件的技術(shù)宅男們,憑什么做到這一點(diǎn)?憑TPU所代表的技術(shù)路線以及新的商業(yè)模式。且聽(tīng)我慢慢道來(lái)。

為什么CPU是低效的

在解釋憑什么能做到“摩爾定律之后一萬(wàn)倍”之前,我們先聊聊為什么CPU和GPU無(wú)法擔(dān)此重任。

如果你問(wèn)我,CPU最大的特點(diǎn)是什么?我會(huì)說(shuō):它給程序員一個(gè)假象,讓你感覺(jué)訪問(wèn)大容量的內(nèi)存任何一個(gè)位置的延遲都是相同的,而且和做一次加法的延遲差不多,近乎為0。

制造這個(gè)假象非常困難。要知道CPU所采用的Logic生產(chǎn)線,同內(nèi)存用的Memory生產(chǎn)線,有天壤之別。簡(jiǎn)單地說(shuō),由于某種底層的物理定律,Memory產(chǎn)線無(wú)法實(shí)現(xiàn)CPU所需要的高速度,Logic產(chǎn)線無(wú)法實(shí)現(xiàn)內(nèi)存所需要的大容量。更糟糕的是,Memory制程相對(duì)于Logic制程還越來(lái)越慢,從1986年到2000年,Logic每年提速55%,而Memory只有10%。

何為“快”“慢”?口語(yǔ)中的“快”,可以指延遲小(從開(kāi)始到結(jié)束間隔的時(shí)間短),也可以指帶寬大(單位時(shí)間內(nèi)通過(guò)的量大),說(shuō)“高鐵快”,指前者,說(shuō)“網(wǎng)速快”,指后者。內(nèi)存的帶寬其實(shí)增長(zhǎng)得還湊合,486時(shí)代CPU跑100MHz,SDRAM內(nèi)存帶寬為100MT/s;如今CPU達(dá)到2GHz~3GHz,DDR4內(nèi)存帶寬3200MT/s。雖然內(nèi)存帶寬有了幾十倍的提升,但從發(fā)出讀請(qǐng)求到內(nèi)存條返回?cái)?shù)據(jù)的延遲,這二十年來(lái)只減小了兩倍多。

且不說(shuō)外行人,很多初級(jí)程序員都不知道內(nèi)存的延遲如此糟糕,即使是資深程序員,在大多數(shù)時(shí)候,也可以在編碼中忽略它,為什么?這都是CPU的功勞。CPU使用了很多復(fù)雜的技術(shù)來(lái)隱藏內(nèi)存的延遲,例如:

  1. CPU使用非常大量的片上存儲(chǔ)來(lái)做cache(緩存),把程序經(jīng)常訪問(wèn)的數(shù)據(jù)放在片上,這樣就不必訪問(wèn)內(nèi)存了


  2. CPU用復(fù)雜的技術(shù)猜測(cè)程序即將訪問(wèn)哪些數(shù)據(jù),用預(yù)取的方式,提前把這些數(shù)據(jù)從內(nèi)存中搬運(yùn)到片上


  3. 當(dāng)某一段程序由于等待內(nèi)存數(shù)據(jù)而卡住無(wú)法執(zhí)行時(shí),CPU用亂序的方式,執(zhí)行接下來(lái)的片段


  4. 使用超線程技術(shù),當(dāng)一個(gè)程序因?yàn)榈却齼?nèi)存數(shù)據(jù)而卡住時(shí),選擇另外一個(gè)程序來(lái)執(zhí)行

CPU的硅片上,絕大多數(shù)面積都是用來(lái)制造“內(nèi)存訪問(wèn)近乎零延遲”這一假象的,真正用來(lái)做運(yùn)算的邏輯,所占面積甚至不到1%——這就是它低效的根源。

CPU誕生于Logic和Memory的速度差不多的年代,那個(gè)時(shí)候,程序員就已經(jīng)習(xí)慣于假設(shè)“內(nèi)存訪問(wèn)近乎零延遲”,為了保證對(duì)軟件的兼容,CPU多年來(lái)不惜一切代價(jià)維持這一假象。積重難返,時(shí)至今日,軟件已經(jīng)無(wú)法通過(guò)CPU來(lái)充分利用集成電路制造工藝所提供的澎湃動(dòng)力。

為什么GPU是低效的

再用一句話來(lái)總結(jié)GPU最大的特點(diǎn):它給程序員一個(gè)假象,讓你感覺(jué)GPU上面有數(shù)十萬(wàn)個(gè)小程序在運(yùn)行,彼此相安無(wú)事。

GPU的架構(gòu),簡(jiǎn)單地說(shuō),就是把類似CPU超線程的技術(shù)用到極致來(lái)隱藏內(nèi)存訪問(wèn)的超長(zhǎng)延遲。GPU里面有數(shù)千個(gè)小核心,每個(gè)都可以看成是個(gè)小CPU,與此同時(shí),它同時(shí)運(yùn)行最多數(shù)十萬(wàn)個(gè)小程序,大多數(shù)程序會(huì)因?yàn)榈却L存而卡住,真正在小CPU上執(zhí)行的程序只有數(shù)千個(gè)。

因?yàn)橥瑫r(shí)在工作的小核心有數(shù)千個(gè),GPU比起CPU,單位時(shí)間內(nèi)完成的運(yùn)算量大多了。但它也有軟肋,那就是:這數(shù)十萬(wàn)個(gè)小程序,彼此之間根本不可能相安無(wú)事,它們會(huì)搶存儲(chǔ)帶寬,搶得很兇。GPU要付出的管理代價(jià)相當(dāng)高:

  1. 要做復(fù)雜的緩存,以備一塊從顯存取來(lái)的數(shù)據(jù)被很多小核心使用


  2. 訪存接口只有8個(gè),能發(fā)出訪存請(qǐng)求的小核心確有數(shù)千個(gè),必須分析它們發(fā)出的請(qǐng)求,把訪問(wèn)相鄰地址的請(qǐng)求捏在一起作為一個(gè)請(qǐng)求送給顯存


  3. 訪存帶寬必須做得遠(yuǎn)高于CPU,才能喂飽數(shù)千個(gè)小核心


  4. 數(shù)千個(gè)小核心上,每個(gè)時(shí)鐘周期所運(yùn)行的小程序都可能不一樣,每個(gè)小程序的上下文都要保留,以備將來(lái)喚醒。為了存儲(chǔ)上下文所付出的片上Memory的面積,堪比CPU上的龐大緩存

相對(duì)于CPU,GPU制造假象的能力稍遜一籌,稍有經(jīng)驗(yàn)的GPU程序員,都明白要盡可能讓GPU上并行跑的數(shù)十萬(wàn)小程序在訪存時(shí)呈現(xiàn)一定的規(guī)律,否則GPU的效率會(huì)大打折扣。

GPU的定位,不單單是圖形加速,而是所有的有海量數(shù)據(jù)并行運(yùn)算的應(yīng)用,因此它必須非常通用,不能對(duì)其上運(yùn)行的數(shù)十萬(wàn)個(gè)小程序做限制。事實(shí)上,這數(shù)十萬(wàn)的小程序每個(gè)都可以任意訪問(wèn)到顯存的所有位置,而且訪問(wèn)的位置各不相同,在這種情況下,GPU也要保證功能的正確性,哪怕跑得慢些。管理和組織這數(shù)十萬(wàn)個(gè)不受限制的小程序所付出的硅片面積代價(jià)和內(nèi)存帶寬的代價(jià),是GPU低效的根源。

為什么FPGA只是過(guò)渡方案

CPU和GPU的架構(gòu)都有非常沉重的歷史包袱,體現(xiàn)在:

  1. 它們都有很強(qiáng)的通用性,不能僅僅只針對(duì)某個(gè)領(lǐng)域做優(yōu)化


  2. 它們都有很強(qiáng)的兼容性,過(guò)去編寫的程序必須能夠運(yùn)行


  3. 它們都有穩(wěn)定而龐大的程序員隊(duì)伍,這些程序員的思維方式不加改變的話,它們就不能放棄提供那些“假象”

這些也是非常偉大而甜蜜的包袱,正因?yàn)楸池?fù)著它們,CPU和GPU廠商才能在它們既有的市場(chǎng)里呼風(fēng)喚雨,并且把競(jìng)爭(zhēng)者擋在門外。

如果扔掉這些包袱,設(shè)計(jì)全新的架構(gòu),就可以做到:

  1. 僅僅針對(duì)某個(gè)領(lǐng)域做優(yōu)化


  2. 不考慮對(duì)過(guò)去軟件的兼容


  3. 用全新的方式對(duì)其編程,不拘泥于之前的思維定勢(shì)

這樣設(shè)計(jì)出的架構(gòu),對(duì)其目標(biāo)領(lǐng)域,性能指標(biāo)會(huì)大幅度超越CPU和GPU這類通用架構(gòu)。原因非常淺顯易懂,通用性和最優(yōu)化無(wú)法兩全。歷史上已有先例,當(dāng)計(jì)算化學(xué)領(lǐng)域和天體物理領(lǐng)域?qū)τ?jì)算性能的需求無(wú)法被滿足時(shí),分別有科學(xué)家們?yōu)樗鼈冮_(kāi)發(fā)出了專用的Anton和Grape-DR計(jì)算機(jī)。只不過(guò)它們的專業(yè)性太強(qiáng),不為大眾所知。

如今,當(dāng)CPU和GPU的架構(gòu)已經(jīng)無(wú)法滿足人工智能應(yīng)用對(duì)速度、功耗和成本的需求時(shí),尋找新的架構(gòu)成為了大家共同的選擇。在尋找新架構(gòu)的過(guò)程中,F(xiàn)PGA起到了開(kāi)路先鋒的作用。

FPGA是什么?如果說(shuō)CPU和GPU是在架構(gòu)級(jí)別做到“通用”的話,F(xiàn)PGA就是在更低一級(jí)的電路級(jí)做到了“通用”。通過(guò)硬件描述語(yǔ)言對(duì)FPGA編程后,它可以模擬任何一種芯片的架構(gòu),包括CPU和GPU的架構(gòu),通俗地說(shuō),F(xiàn)PGA是一種可編程的“萬(wàn)能芯片”。它非常適合探索性的、小批量的產(chǎn)品。

我們已經(jīng)看到了很多的FPGA方案,實(shí)現(xiàn)了比GPU更好的速度、功耗或成本的指標(biāo)。但是,F(xiàn)PGA依然無(wú)法擺脫“通用就無(wú)法最優(yōu)”這一規(guī)律的制約。它之所以還能體現(xiàn)出相當(dāng)?shù)膬?yōu)勢(shì),是因?yàn)樵谝粋€(gè)軟硬件系統(tǒng)中,算法的影響遠(yuǎn)大于硬件架構(gòu),而硬件架構(gòu)的影響又遠(yuǎn)大于電路——在電路級(jí)別做“通用”付出的代價(jià),比起在架構(gòu)級(jí)別做“通用”的代價(jià),還是小得多了。

一旦FPGA給某個(gè)專用架構(gòu)趟出路來(lái)之后,它就會(huì)退居幕后,讓位給更專用的ASIC。

TPU代表了未來(lái)的方向

這次同柯潔對(duì)陣的AlphaGo,采用了Google自研的第二代TPU。TPU的特點(diǎn)是:

  1. 僅僅針對(duì)線性代數(shù)做優(yōu)化


  2. 不兼容CPU或GPU的程序


  3. 用全新的方式對(duì)其編程


  4. 用ASIC而非FPGA的方式來(lái)實(shí)現(xiàn)

深度學(xué)習(xí)所使用算法,絕大多數(shù)可以被映射為底層的線性代數(shù)運(yùn)算。TPU(Tensor Processing Unit)中的Tensor,就是線性代數(shù)中的基本數(shù)據(jù)類型。線性代數(shù)運(yùn)算有兩大特點(diǎn):Tensor的流動(dòng)非常規(guī)整且可預(yù)期;計(jì)算密度很高,即每個(gè)數(shù)據(jù)都會(huì)歷經(jīng)非常多次的計(jì)算。這兩大特點(diǎn)使得線性代數(shù)運(yùn)算特別適合做硬件加速——所有用來(lái)制造“假象”的邏輯都不再必要,每個(gè)晶體管都可以用做有意義的運(yùn)算或存儲(chǔ)。

TPU上無(wú)法運(yùn)行CPU上跑的Java或C++程序,也無(wú)法運(yùn)行GPU上的CUDA程序。雖然尚未有公開(kāi)信息,但它的編程方式非??赡苁沁@樣:TensorFlow把神經(jīng)網(wǎng)絡(luò)用一種中間格式表示出來(lái),然后這種中間格式被編譯器轉(zhuǎn)換為TPU上獨(dú)特的程序。這種中間格式被稱為TensorFlow XLA,它也將是TensorFlow支持其它線性代數(shù)加速器的工具。

Google之所以選擇ASIC而非FPGA,與其說(shuō)是它的眼光好,不如說(shuō)是它的魄力強(qiáng)。內(nèi)行人都知道ASIC效能遠(yuǎn)超F(xiàn)PGA,但仍然有很多人不敢選擇ASIC,為什么?自己做ASIC的風(fēng)險(xiǎn)太大:周期長(zhǎng),投入多,門檻高。一旦芯片做錯(cuò),就和石頭無(wú)異,落個(gè)血本無(wú)歸。當(dāng)年Apple決定自己做芯片時(shí),并沒(méi)有直接組建隊(duì)伍,而是收購(gòu)了P.A. Semi;這么多年后,成果赫赫,但依然不敢在Mac電腦中使用自研的CPU來(lái)淘汰Intel的芯片。而Google在短短幾年內(nèi),組建了隊(duì)伍,設(shè)計(jì)了合理的架構(gòu),做出了能work的芯片,并且敢于在自己的云上部署自己的產(chǎn)品,只能說(shuō)一聲“服!”

Google是一家偉大的公司,在它發(fā)布MapReduce、GFS和BigTable的論文之前,這些東西被普遍認(rèn)為是不可能完成的。相信很多人在看到裝備TPU的AlphaGo戰(zhàn)勝柯潔之前,也會(huì)認(rèn)為TPU是不可能完成的。歷史證明,Google能做的事情,別人起碼可以模仿個(gè)七八分?,F(xiàn)在大家應(yīng)該相信,在一個(gè)足夠重要應(yīng)用領(lǐng)域中,完全可以把優(yōu)化和定制做到晶體管級(jí)別,而不是只做到某種現(xiàn)成的芯片架構(gòu)的級(jí)別。這不但可行,而且必要,因?yàn)槟悴贿@么做,競(jìng)爭(zhēng)對(duì)手也會(huì)這么做。

硬件的開(kāi)源時(shí)代

摩爾定律的通俗表示是:每一美元所能買到的電腦性能,將每隔18-24個(gè)月翻一倍以上。過(guò)去三十年,拜摩爾定律所賜,我們見(jiàn)證了超過(guò)百萬(wàn)倍的性價(jià)比提升。未來(lái)我們所能看到的這一萬(wàn)倍,也應(yīng)該按照“單位成本所能買到的電腦性能”來(lái)計(jì)算。

CPU和GPU這種通用架構(gòu),它們的歷史包袱不僅僅導(dǎo)致了優(yōu)化難以開(kāi)展,還導(dǎo)致了:一、壟斷導(dǎo)致的超額利潤(rùn);二、過(guò)度復(fù)雜所帶來(lái)的研發(fā)成本上升。于是,芯片的價(jià)格居高不下。

未來(lái),當(dāng)特定領(lǐng)域的定制芯片大行其道時(shí),這些芯片的價(jià)格也將顯著降低。原因在于:一、不再有壟斷;二、沒(méi)有歷史包袱所帶來(lái)的研發(fā)成本;三、開(kāi)源所帶來(lái)的研發(fā)成本降低。

硬件開(kāi)源過(guò)去有過(guò)嘗試,但無(wú)大成,原因是多種多樣的。但從長(zhǎng)遠(yuǎn)角度看,所有的基礎(chǔ)設(shè)施,被廣大廠商共享的,最終都會(huì)走向開(kāi)源的路子。如果說(shuō)Intel的CPU是大地(所有的優(yōu)化不能做到比它更加底層),那么Linux、Python和PHP就是大地之上最底層的基礎(chǔ)設(shè)施,它們是開(kāi)源的;如果說(shuō)GPU+CUDA是大地,那么各種深度學(xué)習(xí)的框架就是最底層的基礎(chǔ)設(shè)施,它們也都是開(kāi)源的。如果未來(lái)晶體管是大地,那么毫無(wú)疑問(wèn)芯片的架構(gòu)也會(huì)出現(xiàn)各種開(kāi)源方案。

這一切才剛剛開(kāi)始。這個(gè)月NVidia做了兩件有趣的事:贊助了開(kāi)源CPU架構(gòu)RISCV在上海舉辦的workshop;宣布Xavier自動(dòng)駕駛芯片中的針對(duì)線性代數(shù)的硬件加速模塊DLA將開(kāi)源。大廠支持開(kāi)源,絕不是搞慈善,而是為了扼殺競(jìng)爭(zhēng)對(duì)手,贏得業(yè)界事實(shí)標(biāo)準(zhǔn)的控制權(quán)。但開(kāi)源的后果,必然是降低設(shè)計(jì)門檻,降低整個(gè)行業(yè)的研發(fā)成本。

我們的星辰大海:從應(yīng)用到晶體管的全棧優(yōu)化

對(duì)于從事計(jì)算機(jī)體系結(jié)構(gòu)專業(yè)的同仁而言,這是最好的時(shí)代,半導(dǎo)體制造的先進(jìn)工藝進(jìn)展緩慢,但軟件的各種應(yīng)用需求還在不斷涌現(xiàn),軟硬件接口逐漸模糊,成熟工藝的成本不斷下降。為了優(yōu)化特定應(yīng)用,做深入到晶體管級(jí)的全棧優(yōu)化成為一個(gè)現(xiàn)實(shí)的選項(xiàng)。只要正確地設(shè)計(jì)專用架構(gòu),使用成熟工藝也可以輕松超越GPU和CPU這種通用架構(gòu),哪怕它們采用最先進(jìn)的制造工藝。

這是一個(gè)全新的世界,以往的利益格局和設(shè)計(jì)思想都將被打破,誰(shuí)也無(wú)法預(yù)知將會(huì)發(fā)生怎樣的興衰變遷。但這就是我們的星辰大海,一起來(lái)探索和歷險(xiǎn)吧!

王逵,北京大學(xué)本碩博,自從大三讀了Hennessy和Patterson的書(shū)之后,就掉進(jìn)了計(jì)算機(jī)體系結(jié)構(gòu)的坑,至今也沒(méi)有爬出來(lái)。前后總共做了14年的CPU,從基礎(chǔ)軟件、芯片架構(gòu),到物理實(shí)現(xiàn)都攢了點(diǎn)經(jīng)驗(yàn)。2016年加入比特大陸,從事人工智能加速芯片的設(shè)計(jì)和實(shí)現(xiàn)工作。

參考文獻(xiàn):

[1]Astrophysics with GRAPE, Junichiro Makino & Takayuki Saitoh

[2]Green500:日本成功研發(fā)最高能效超算機(jī),王迪

[3]D.E.Shaw才是計(jì)算化學(xué)領(lǐng)域的人生贏家!via 超級(jí)數(shù)學(xué)建模

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    精品亚洲一区二区三区w竹菊| 色涩一区二区三区四区| 日韩精品视频一二三区| 在线免费国产一区二区| 亚洲综合日韩精品欧美综合区| 亚洲最新av在线观看| 一区二区欧美另类稀缺| 日韩精品一级一区二区| 国产三级黄片在线免费看| 亚洲国产四季欧美一区| 亚洲日本韩国一区二区三区| 日韩在线中文字幕不卡| 丁香六月婷婷基地伊人| 欧美丰满人妻少妇精品| 手机在线观看亚洲中文字幕| 亚洲av在线视频一区| 国产欧美一区二区另类精品| 99久热只有精品视频免费看| 亚洲国产欧美精品久久| 久久这里只精品免费福利| 精品少妇一区二区视频| 女生更色还是男生更色 | 久久热这里只有精品视频| 欧美日韩亚洲国产综合网| 国产欧美日韩一级小黄片| 在线精品首页中文字幕亚洲| 人妻少妇系列中文字幕| 色婷婷中文字幕在线视频| 色综合久久六月婷婷中文字幕| 日韩人妻有码一区二区| 亚洲中文字幕在线观看四区| 日韩一区二区三区免费av| 日韩成人午夜福利免费视频| 久久精品国产一区久久久| 五月婷婷六月丁香亚洲| 国产精品一区二区三区激情| 国产又粗又深又猛又爽又黄| 欧美日韩国产亚洲三级理论片| 熟女少妇一区二区三区蜜桃| 爱草草在线观看免费视频| 精品一区二区三区中文字幕|