成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當前位置:首頁>>軟件教程>>新聞內容  
研發人員解密內幕:我們的龍芯2號(下)
作者:胡偉武 發布時間:2003-12-23 16:52:39 | 【字體:

  編者:本文作者為“龍芯2號”主要研發人員,本文是他在BBS上發表的一篇文章。

  第三個階段為調整和優化階段,這個階段是狗剩2號邏輯設計的關鍵階段。與聯調階段相 比,優化階段發現的bug較少,但根據對RTL進行綜合以及用C模擬器進行性能分析的結果對整個設計的延遲、面積、性能進行了持續的優化。通過初步的優化,狗剩2號的延遲降低了一倍多,面積降低了30%以上,相同頻率的性能提高了30%以上。在這個階段的每一周都充滿了激動人心的改進,深刻體會到精益求精的道理。孔子說“食不厭精”,處理器設計更是如此。用1%的工夫可以完成一個正確的設計,但需要用99%的工夫來優化它。

  在狗剩2的RTL優化過程中,我們總結了三條經驗。第一條是精益求精的經驗。做一個正確的設計和做一個精品的設計是有很大區別的。為了做到精益求精,思想上要永不滿足,執著改進。碰到復雜的問題,不能滿足于用復雜的方法來解決,要努力把問題簡單化再用簡單的方法來解決。第二條經驗是在執著于細節的理解和把握的同時退后一步進行的全局的觀察和思考是十分必要的。在狗剩2號的優化中有很多都是在項目的推進過程中退后一步進行文檔整理、看文章、或封閉自查時得到的啟示。對設計的微觀了解和宏觀把握是不可偏廢的。如果對設計的細節不做一定的了解,則在整理文檔或看文章過程都比較虛,不會有靈感出現;反之,如果過于執著于細節,則可能只見樹木,不見森林,忽略了一些大的改進。第三條經驗是以事實為依據的經驗。對設計進行持續的性能分析、物理綜合、以及仿真驗證為狗剩2號的改進和改正提供了大量了事實依據。在根據事實進行設計和改進時,一定要在大量的事實和數據的基礎上(小量的、不具有代表性的不行)對事實進行深入的分析,弄清楚隱藏在這些事實后面的、本質的東西,這樣做的設計和改進才是最優的。

  與RTL設計和驗證同時進行的是FPGA驗證環境的建設。在這個方面我犯了個錯誤。由于覺得有了狗剩1號的FPGA驗證的經驗,狗剩2號的FPGA驗證應該沒有問題,因此只讓范寶峽一個人負責FPGA驗證工作。沒想到由于狗剩2號的規模較大,設計也更加復雜,導致FPGA驗證困難重重。主要困難是由于在一片FPGA中放不下,需要多片FPGA,而且多片FPGA之間互連信號太多需要在每片FPGA接口處進行倍頻傳輸。此外由多發射引起的多端口寄存器堆也難以在FPGA中實現。到4月下旬我才意識到FPGA驗證方面投入的力量很不夠并加強了這方面的力量。直到6月下旬狗剩2號的第一個芯片tapeout之前的半個月,才完成FPGA驗證工作并通過FPGA驗證及時地發現了設計中的一個錯誤。

  在進行處理器結構和邏輯設計的過程中,其它方面的工作也在同時展開,包括王劍和鄭保建帶領的狗剩1號系統的繼續開發以及狗剩2號軟件環境的開發,鄭為民帶領的狗剩2號主板的開發,許彤、趙繼業、鐘石強、張珩負責的物理設計和驗證方法的總結和研究等等。

  就在狗剩2號的RTL設計過程中,SARS在北京肆虐,并給我們極大的考驗。那時候所里的政策是所里不統一放假,但各個部門可以根據自己的具體情況放假。我和唐志敏商量后決定我們采取一定的預防措施并適當減輕工作強度。我們要求凡是乘坐公共交通系統上下班的都不來上班,晚上9點前必須下班,每天的中飯和晚飯由室里統一安排在辦公室吃。至于外界的來訪,所里早就不允許進入北樓了。此外,所里和室里都給我們發放了有關的預防藥物,我們自己也買了一些。在這段日子里,雖然我們的進度被迫放慢了一些,但依舊不斷地向前推進。我在為全國人民面對災難時眾志成城戰勝非典的精神所鼓舞的同時,也為全組在這么困難的情況下堅守崗位所感動。


  2003年3月份我們開始部署狗剩2號中用到的一個9個端口的寄存器堆的全定制設計。為了保險,我們部署了兩套方案來設計寄存器堆。首選方案是請一個大公司幫我們做這個寄存器堆,同時作為與中科院微電子中心的合作請微電子中心設計同樣的寄存器堆作為備選方案。由于首次流片主要是對設計的正確性和結構性能進行驗證,因此首次流片除了寄存器堆外還是用ASIC的設計方法,并準備用中科院EDA中心的Synopsys工具進行布局布線以減少購買EDA工具的費用,因此在5月份之前物理設計組的人員也對Synopsys的工具進行了進一步熟悉。2003年5月份開始狗剩2號的物理設計正式展開。從5月初到6月中下旬,我們對使用的方法和流程進行了反復的試驗、比較和確定,尤其是關于是否使用層次化設計方法、使用何種Wireload Model、以及Floorplan的方案等進行了反復的試驗和嘗試,并最后確定方法和流程。到6月底時確定了布局布線的方案并基本完成了布局布線,與流片廠家TSMC聯系好準備在7月10日前tapeout。本來一切都在“掌控之中”,但隨后發生的兩件事情卻大大出乎我們的意料。

  第一件事情是在6月底完成FPGA驗證平臺建設后,在用該平臺運行SPEC CPU2000程序進行性能分析時有一個程序的浮點結果有時正確有時錯誤。由于其它程序都運行正確,而且操作系統對虛地址CACHE支持部分還有bug,因此剛開始我沒有認為RTL有問題。7月2日下午,張福新在機房中說了一句話:“我覺得還是RTL有問題”,這句話使我心煩意亂,放下正在看的布線工具文檔,決定要把這個事情搞清楚。在隨后的幾十個小時中,我們使用FPGA驗證、C模擬器、以及RTL仿真對這段出錯的程序進行追蹤。終于在7月4日早上找到了一個RTL的bug。好在問題只涉及局部的設計,我們修改完RTL后通過手工修改網表花了一天就完成了ECO的布局布線。

  一波未平、一波又起。剛想歇會兒,負責全定制寄存器堆仿真的王林楠報告說寄存器堆不能正常工作。我剛開始不相信,因為為我們設計寄存器堆的C公司是業內非常有名的大公司。但不同的仿真結果都說明寄存器堆有問題。我們花了兩三天才說服C公司的設計人員認識到設計錯誤并且改正過來。此后我們又對寄存器堆做了更多的仿真,并跟一個工具的bug斗爭了幾天幾夜。在此期間,微電子中心的黃令儀老師給了我們極大的支持,否則我們不會這么快對寄存器堆的設計有深入的了解。

  由于這兩件事情的發生,到7月14日我們終于把狗剩2號的第一個設計tapeout到TSMC時,我們已經連續在機房不分晝夜地干了十幾天。但由于在臨tapeout前曾經發現寄存器堆設計的問題,因此tapeout之后也不敢松懈,繼續對寄存器堆進行分析和仿真。由于EDA工具對較大規模的模擬電路沒有有效的支持,主要依靠設計者的經驗,我們也請一些電路設計高手幫我們進行分析。經過一個多禮拜心驚肉跳的檢查,在排除了一系列可能存在的問題后,最后一個關于電源地規劃的問題成為我們關注的焦點,也成了我在此后的幾十天中的一塊心病。設計者似乎在這方面有疏忽,在最離譜的地方,幾十毫安的電流只用了0.28微米的地線。我們與C公司的工程師聯系時,他們覺得沒有問題,反而說過多的電流會通過襯底流掉。這時候我們在很多高手的指點下已經對全定制設計有所了解,覺得這個問題比較嚴重,因此在與C公司反復交涉得不到他們的積極配合后決定起用備份方案,再做一個流片。剛好黃老師她們做的寄存器堆也已經完成了。我們把已經tapeout的第一個芯片叫做狗剩2號的A方案,把準備做的叫做B方案。


  在我跟李老師和唐志敏提出再做一個流片后,他們提出這次可以在SMIC流片,因為剛好Artisan為SMIC做的庫在6月份發布了。事實上,李老師在去年就提出狗剩2號在SMIC流片,我不干。這次我也是不大愿意,因為我那時對SMIC不了解。李老師說,我們自己希望別人支持民族產業,用我們的芯片;而我們自己不支持大陸廠家,怎么行。我還是不愿意。 后來有一次在所里培訓時碰到李老師又說起了這件事。他說:“不管SMIC的工藝怎么樣, 總得有人去試,大不了不成功,下次再來”。我說:“要的就是您這句話”。因此就定下 來8月份在SMIC流片。

  我們在7月30日下午拿到SMIC的庫,那時侯離tapeout只有兩個星期了,而且SMIC的庫還存在不少問題,我們不得不一邊發現并修改庫的bug一邊把物理設計向前推進。這真是做得最辛苦的一次物理設計,連續的熬夜搞得我們吃飯也沒胃口,每天只在晚飯時吃一頓。室 里的劉鳳芹老師看我們不去食堂吃飯,每天早上都熬一些紫米粥來給我們喝,我愛人有時候晚上也給我們熬些魚湯什么的。8月10日下午布完線后心里塌實了一些,我和鐘石強、 楊旭去四環志新橋邊上的一個粥鋪吃晚飯,才覺得餓壞了。吃完后數數桌上竟有17個空盤子,出來時撐得腰都彎不下來,三人一路走回中關村。

  布完線后我們又根據分析的結果做了些手工調整修復信號完整性問題和進一步降低延遲, 并修復了DRC和天線的問題。到8月12日中午LVS經過幾次修改也基本通過,我們覺得差不多了。那天正是農歷七月半,因此在加上guard ring后趁計算機做最后的LVS檢查時我和鐘石強、楊旭去天安門廣場瞻仰毛主席去,可惜那天下午紀念堂沒開,我們只好繞紀念堂一圈回來,路上猛然想起今年是毛主席誕辰110周年,于是約定把明天tapeout的這個芯片的起名叫MZD110。

  回到所里時沒想到剛才LVS運行的結果還是有錯。于是趕快對剛加的guard ring進行檢查。guard ring是圍繞芯片最外邊的一圈保護環,奇怪的是加上guard ring后LVS檢查就顯示芯片里邊的邏輯有錯,去掉guard ring后再檢查芯片里邊的邏輯又沒錯。那天晚上一直在找這個問題,黃老師也跑過來幫我們一起找。第二天天亮后就要tapeout了,但一直到后半夜還搞不定。眼看時間一分一秒地過去,真是又困又累又著急,幾乎要放棄。快天亮時王林楠重做的guard ring做好了,又折騰了幾次LVS檢查終于通過,這時候清晨的陽光已斜斜地照進機房。把文件傳給SMIC后我們又取回來再做一次LVS和DRC。計算機在運行時,我和楊旭斜靠在椅子上等待。楊旭說:“昨天晚上真怕睡著,我有時候靠在椅子上歇一會兒,看見你們躺下了就趕忙起來,怕咱們三人都睡著了就不知道睡到什么時候了”。這句話讓我十分感動,因為昨晚最困的時候我自己也是一直用這個念頭強撐著不敢閉眼。那時候我們已經連續十幾天沒有正常休息而且莫名其妙的問題搞得我心力交瘁,我第一次感到人的體能是有極限的,人的精神是會崩潰的,真想一覺睡過tapeout的時間算了。我仰頭看著天花板,好不讓楊旭看見我的眼淚,很動情地說:“楊旭,你有這樣的責任心,以后在我們這里肯定前途無量”。楊旭是剛從微電子中心畢業后到我們這里來工作的,他還沒有到所里報到,就先來跟我們一起苦熬。

  我經常把我們課題組比做一個硬骨頭連隊,把自己比做連長。在狗剩1號流片成功后,我這個連長得到了很多本來應該屬于全連的榮譽,包括獲得“中國青年五四獎章”并受到總書記的接見,而每天跟我一起沖鋒陷陣的兄弟們什么也沒有。我真是愧對他們。


  去年在狗剩1號tapeout之后,我曾經說,我覺得三個都能成,如果兩個成功也可以接受,如果只有一個成功我會覺得比較失敗,如果全部不成功那就沒有天理了。但狗剩2號tapeout之后,我對A方案和B方案都沒有必勝的信心。但不管最后結果怎么樣,有兩點是肯定的。一是全組已經盡了最大努力,Godson-2的設計比Godson-1辛苦得多,難度大得多。在狗剩1號發布會后狗剩2號的工作才全面鋪開,10個月后我們就完成了這么復雜的設計,沒有全組兄弟們玩命的工作是不可能做到的。二是即使流片不成功,我們已經有了很好的基礎,以前的至少90%的工作沒有白費,即使這次不成以后總會成功的。

  9月5日下午我在絲毫沒有準備的情況下收到了狗剩2號的A方案的芯片,當晚我組織了聯調,雖然在加電后很快就能夠啟動一個簡單的BIOS系統,但系統運行得很不穩定。在連續三天的調試后,我們雖然得到了一些有用的結論,如驗證了跨時鐘域的信號握手機制,但一直無法讓系統穩定運行,因此我決定終止繼續聯調并給李老師和唐志敏發EMAIL報告了這一情況。

  雖然由于寄存器堆的問題我已經對A方案的流片不抱太大的希望,但真正面對這個結果時還是很難受。那陣子我經常坐在機房里,癡癡地看著寄存器堆的版圖發呆;或者獨自呆在辦公室,想想過去一年中我們在實驗室里度過的日日夜夜,狗剩1號發布后我們立即馬不停蹄地展開狗剩2號的設計甚至在非典期間也不敢松懈。狗剩2號的設計比狗剩1號復雜得多,連續的加班也慘烈得多。在這段日子里,我自己每周的工作時間都在80小時以上,而課題組的不少同學比我還多。多少次為了一個小問題而夜不能寐,多少次為了一個小細節而殫精竭慮;每一個進步的腳印都充滿了汗水,每一點進展都是心血的凝聚。竟得到這樣一個結果,心里十分難受。

  我和唐志敏十幾年的兄弟,基本上是心意相通的,點滴的想法我都跟他討論,點滴的進展和挫折他也都知道,有些大的決策一起做出。因此,A方案流片的失敗,我跟他還是坦坦然的。雖然李老師見到我象沒事似的(也許他覺得這樣會讓我少些壓力),但這樣讓我更不安,本來我希望他罵我一通或者安慰我一下,可惜沒有。這段日子我覺得最對不住的還是鄧書記。在我們研制狗剩2號的日子里,她給了我們很多的特殊照顧,包括我們的辦公環境以及我自己和課題組里員工和學生的生活條件,我一直說書記是我們的活菩薩。因此這段日子我自己都覺得不好意思見她,有時候在路上碰到,我就遠遠地繞開走。

  由于狗剩2號A方案的流片失敗,我們更加迫切地等待B方案流片的結果。這種等待有時候讓我坐臥不寧,必須時時刻刻地找事情做心里才好受一些。因此在這個階段我們對狗剩2號B方案的結構和RTL繼續進行優化(真算是化悲痛為力量)。不僅延遲又降低了0.5ns,而且通過對存儲層次的改進,相同主頻下性能也提高了很多。

  在SMIC完成流片后,我們得到了封裝廠家的大力支持,以最快的速度完成了封裝。我又派專人去上海立等芯片的封裝結束并把芯片直接取回來,這種在煎熬中等待的日子我是一刻也不想過了。好在天道酬勤,在拿到芯片的40分中內我們就用狗剩2號把操作系統啟動了起來。此后,我們又化了大約三個禮拜針對狗剩2號虛地址CACHE和猜測執行的特點把操作系統搞穩定。


  現在,基于狗剩2號的Linux-PC已經穩定運行了一個多月。目前的狗剩2號最高頻率為300MHz,功耗1W-2W,成品率約為80%左右。在性能方面,在聯調的第一天我們只把狗剩2號的主頻調到133MHz時已經明顯感覺到比266MHz的狗剩1號還要快很多。狗剩1號不能勝任的許多應用,包括流媒體的軟解壓、GNU 2.4的支持、Mozilla瀏覽器、Open Office辦公軟件等重量級的應用,在狗剩2號中都能比較流暢地運行。尤其是流媒體的軟解壓,我曾經化了三天三夜進行軟件優化來提高狗剩1號軟解壓的效果,但最后還是差一點;把狗剩1號勉強能軟解壓播放的一個mpeg文件在200MHz的狗剩2號上播放,只要23%的CPU。而對于標準的MP3播放,狗剩2號只要不到1%的CPU就應付裕如了。通過使用SPEC CPU2000對狗剩2號的性能分析表明,相同主頻下狗剩2號的性能已經明顯超過PII的性能,是狗剩1號的3-5倍。

  我曾經終日坐在用狗剩2號做的計算機前,玩著各種游戲,使用各種重量級的軟件來感受狗剩2號的性能。雖然對于有些大型的應用軟件還感到有些遲鈍,但我們的狗剩2號已經明顯表現出她作為PC機中使用的CPU的資格和風范。每當我在狗剩2號上玩著LINUX PC中的各種游戲,想想一年前玩狗剩1號時覺得性能不理想時的郁悶心情,真是我這一年來最爽的體驗。

  狗剩2號的性能提高主要來自先進的結構設計,包括四發射和亂序執行結構的設計。而亂序執行的關鍵技術是狗剩2號結構設計的重點和難點,四發射的RISC結構如果沒有亂序執行技術的支持是發揮不出效率的。例如典型的定點程序中平均每六、七條指令就有一條轉移指令,意味著在四發射結構中每兩拍就有一條轉移指令。如果等轉移指令的目標地址確定再進行后面的取指,意味著每取兩拍指令就得等五、六拍甚至更多才能繼續后面的取指。又如,做一個簡單的加法需要兩個操作數,而如果這兩個操作數都需要從內存中(即主板上的內存條)取回來,那么在做這個加法之前,需要至少上百拍的時間為這個加法準備數據。指令亂序執行的核心思想就是減少各種相關引起的等待,充分發揮處理器的效率。

  主要做法包括:(1)轉移猜測,即在轉移指令目標尚未確定的時候,根據過去轉移指令執行的歷史猜測該轉移指令的轉移方向和轉移目標,并根據猜測的結果進行后續指令的取指,為處理器提供連續穩定的指令流。如果最后發現猜測錯誤,則取消猜錯的轉移指令后面的指令。(2)動態調度,即在前面的指令由于操作數未準備好而等待時,后面的操作數已經準備好的指令可以越過前面的指令先執行。(3)寄存器重命名,即指令運算后先寫到一個臨時的寄存器,等確定該指令不會被取消后再寫到真正的目標寄存器中去。這樣做的好處除了便于前面指令發生例外或轉移猜錯時取消外,還避免了由于兩條指令寫同一個寄存器時的等待。

  此外,訪存指令的亂序執行又有新的特征。除了通過增大CACHE和對CACHE進行有效的組織盡量提高CACHE命中率并降低CACHE訪問的延遲外,還需要對訪存指令進行亂序執行以提高效率。訪存指令亂序執行的關鍵技術包括:(1)Non-blocking技術,即在前面的訪存指令由于CACHE不命中進行長延遲的存儲訪問時,后面的指令可以繼續訪問CACHE。(2)Memory Disambiguation技術,即在存數和取數指令都亂序執行的情況下,保證取數指令都能取回它前面的最近一條對同一地址的存數指令所存的值。比如如果一條取數指令在一條存數指令之后且兩條指令的地址相等,但取數指令先訪問CACHE,也要保證取數指令取回該存數指令的值;又如如果一條取數指令在一條存數指令之前且兩條指令的地址相等,但存數指令先訪問CACHE,也要保證取數指令取回原來CACHE中的值,而不是存數指令新存的值。(3)Load Speculation技術,即在取數指令訪問CACHE后,它前面的存數指令地址還沒有確定(即取數指令從CACHE中取回的值有可能是錯誤的),先把取數指令從CACHE中取回的值送給后續的指令用,如果后來發現它前面的存數指令和該取數指令訪問的是同一個單元,再取消該取數指令后面的指令。(4)Write Buffer技術,由于存數指令也是亂序執行的,存數指令所存的值不能立即寫到CACHE或內存,而是要根據存數指令在程序中的次序寫到CACHE或內存。


  在亂序執行的結構中,雖然指令執行是亂序的,但開始和結束是有序的。指令在譯碼和寄存器重命名后就放在一個有序的隊列中,由該隊列來記錄每一條指令的執行階段并有序地結束指令。即指令在流水線中是有序進入、亂序執行、有序結束。

  狗剩2號的主要結構特點包括,64位設計,7-10級流水線,包括取指、譯碼、重命名、發射、讀寄存器、執行寫回、提交等,其中乘除、浮點操作、以及訪存操作在執行寫回階段需要多拍。四發射結構,最多可以有64條指令亂序執行。共有5個功能部件,包括定點ALU1(完成定點加減、邏輯、移位、轉移),定點ALU2(完成定點加減、邏輯、移位、乘除),浮點ALU1(完成定點加減、轉換、轉移),浮點ALU2(完成乘除、開方),以及訪存部件(完成訪存、系統管理、數據傳送)。通過對浮點指令fmt域的簡單擴充,浮點部件可以執行完整的定點指令以及4路SIMD的媒體指令。在亂序執行方面,轉移猜測使用混合預測+Gshare + BTB + RAS的轉移猜測方式;通過物理寄存器到邏輯寄存器映射進行寄存器重命名,定點浮點寄存器堆各為64項;動態調度方面定點和浮點保留站各16項,Reorder Buffer為64項。

  在存儲管理方面,TLB為64項全相聯,每項兩頁,頁大小在4KB-4MB之間可變。此外,有一個獨立的8項的指令TLB是數據TLB的子集。與狗剩1號一樣,在TLB中增加可執行位,防止緩沖區溢出攻擊。數據CACHE和指令CACHE各為32KB,二路組相聯。最多允許32個訪存操作的Non-blocking訪問,訪存相關在訪存隊列中通過全相聯的查找解決,避免了象Alpha21264或MIPS R10000中碰到訪存相關時需要重新發射。實現load-speculation,允許前面的store操作未確定的情況下執行load操作并返回結果。Cache失效時實現關鍵字優先訪問,以減少訪存等待,Uncached操作實現uncached accelerate算法加速I/O訪問。

  目前的狗剩2號只是我們所承擔的項目的階段性成果。它的作用主要體現在四個方面。一是對目前的處理器核設計進行驗證;二是用于進行性能分析以及對性能分析方法的改進;三是驗證新的物理設計方法和生產廠家;四是提前提供軟件開發平臺,為LINUX PC的正式推出做好準備。現在看來,這幾個目的都達到了。

  我們的下一步目標是在目前狗剩2號的基礎上把性能再提高到現在的3-5倍,并利用明年完成的狗剩2號做一臺每秒運算一千億次的計算機。我還是博士生時唐志敏曾經帶我到中科院網絡中心去算題,有一次他隔著玻璃指著一臺計算機對我說,這臺就是從日本引進的計算機,現在系統管理的權限還在日本人手里,增加一個用戶都要它們批準,什么時候我們自己做一臺比它還快的計算機,就放在這臺計算機邊上,告訴它們這臺機器就是用來做核模擬的。所以做一臺自己的高性能機是我學生時期的夢想,雖然現在國內最快的高性能機已經達到每秒幾萬億次,但我一定要圓這個夢。

  計算所的一位研究員曾經說過,創新工作一個重要特征就是這個工作讓人感到“狠”。我覺得,狗剩1號“狠”的地方就是進度快,從零開始,用了不到一年半的時間完成一個通用處理器的設計;而目前的狗剩2號“狠”的地方就是在結構上對性能的大幅提高。我相信,更“狠”的還在后頭。

  2003年11月30日于中國科大(完)


文章來源:ChinaByte
·研發人員解密內幕:我們的龍芯2號(上)
 放生
 愚愛
 夠愛
 觸電
 白狐
 葬愛
 光榮
 畫心
 火花
 稻香
 小酒窩
 下雨天
 右手邊
 安靜了
 魔杰座
 你不像她
 邊做邊愛
 擦肩而過
 我的答鈴
 懷念過去
 等一分鐘
 放手去愛
 冰河時代
 你的承諾
 自由飛翔
 原諒我一次
 吻的太逼真
 左眼皮跳跳
 做你的愛人
 一定要愛你
 飛向別人的床
 愛上別人的人
 感動天感動地
 心在跳情在燒
 玫瑰花的葬禮
 有沒有人告訴你
 即使知道要見面
 愛上你是一個錯
 最后一次的溫柔
 愛上你是我的錯
 怎么會狠心傷害我
 不是因為寂寞才想
 親愛的那不是愛情
 難道愛一個人有錯
 寂寞的時候說愛我
主站蜘蛛池模板: 夏邑县| 通河县| 崇州市| 平乐县| 彭州市| 萨嘎县| 通江县| 建湖县| 海晏县| 玛多县| 饶平县| 西盟| 和田县| 德州市| 长春市| 中超| 奇台县| 拉萨市| 兴国县| 临沧市| 象山县| 临泉县| 巴马| 绍兴县| 聊城市| 临颍县| 马鞍山市| 探索| 平阴县| 东乡族自治县| 油尖旺区| 邹城市| 克山县| 吉林省| 沙湾县| 永吉县| 织金县| 安宁市| 巨野县| 长寿区| 莱西市|