亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chapter4.htm

?? mips run 中文版
?? HTM
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0036)http://www.xtrj.org/smr/chapter4.htm -->
<HTML><HEAD><TITLE>第四章 Cache for MIPS&nbsp; 沒(méi)有Cache的MIPSCPU不能稱為真正的RISC</TITLE><!-- http://www.xtrj.org/smr/chapter4.htm -->
<META content="MSHTML 6.00.2900.2180" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<META http-equiv=Content-Type content="text/html; charset=gb2312"></HEAD>
<BODY>
<P>第四章 Cache for MIPS 
<BR>沒(méi)有Cache的MIPSCPU不能稱為真正的RISC。可能這樣說(shuō)不公平。但為了一些特殊的目的,你可以設(shè)計(jì)一個(gè)含有小而緊密內(nèi)存的MIPSCPU,而這些內(nèi)存只需要固定個(gè)數(shù)的流水線步驟(最好是一個(gè))就可以被訪問(wèn)到。但絕大部分MIPS 
CPU都是含有cache的。 
<BR>這一章將介紹MIPS的cache怎樣工作和軟件應(yīng)該怎么做才能使它可以被使用而且是可靠的。MIPSCPU重新啟動(dòng)后,cache的狀態(tài)是不確定的,所以軟件必須非常小心。你有一些線索知道cache的大小(如果你直接知道cache的大小后去初始化,這是一個(gè)不好的軟件習(xí)慣。)。對(duì)于診斷程序員,我們將討論怎樣測(cè)試cache和獲取特殊入口。 
<BR>對(duì)于實(shí)時(shí)應(yīng)用程序的程序員,希望在CPU運(yùn)行時(shí)能夠正確地控制cache。我們也將討論怎么做,雖然我對(duì)使用一些竅門方式有懷疑。 
<BR>當(dāng)然這些也隨著MIPSCPU的發(fā)展而進(jìn)步。對(duì)于早期的32位MIPS處理器,初始化cache或者使其無(wú)效,首先讓cache進(jìn)入一種特殊的狀態(tài),然后通過(guò)普通的讀寫操作來(lái)完成。對(duì)于后來(lái)的處理器,一些特殊的指令被定義出來(lái)做這些相關(guān)的操作。 
<BR><BR>4.1 cache和cache的管理 
<BR>cache的工作就是將內(nèi)存中的一部分?jǐn)?shù)據(jù)在cache中保留一個(gè)備份,使這些數(shù)據(jù)能一個(gè)固定的極短的時(shí)間內(nèi)被快速的存取并返回給CPU,這樣能保證流水線的連續(xù)運(yùn)行。 
<BR>絕大部分MIPSCPU針對(duì)指令和數(shù)據(jù)有其各自的cache(分別稱為Icache和Dcache),這樣讀一條指令和一個(gè)數(shù)據(jù)的讀操作或者寫操作就能同時(shí)發(fā)生。 
<BR>老的CPU家族(象x86)為了保證被寫入CPU的代碼的一致性,所以沒(méi)有cache。現(xiàn)在的x86芯片擁有更靈活的硬件設(shè)計(jì),從而保證軟件沒(méi)有必要從更本上了解cache(如果你正在裝一臺(tái)機(jī)器跑MS/DOS,它將在本質(zhì)上提供一致性)。 
<BR>但因?yàn)镸IPS機(jī)器有各自的cache,所以就沒(méi)有必要那么靈活。cache對(duì)于應(yīng)用程序來(lái)說(shuō)必須是透明的,除了除了能感覺(jué)到運(yùn)行速度的增加。但對(duì)于系統(tǒng)程序或者驅(qū)動(dòng)程序,擁有cache的MIPSCPU并沒(méi)有嘗試cache對(duì)它們也是透明的。cache僅僅使CPU跑得更快,而不能給系統(tǒng)程序員有所幫助。在象Unix一類的操作系統(tǒng)中,操作系統(tǒng)能對(duì)應(yīng)用程序完全隱藏cache,當(dāng)然對(duì)于更多不能的勝任的操作系統(tǒng),其也能很好的隱藏大部分cache的處理,但你可能必須知道在什么時(shí)候需要調(diào)用適當(dāng)?shù)淖映绦騺?lái)對(duì)cache做一些必要操作。 
<BR><BR>4.2 cache怎樣工作 <BR>從概念上講,cache是一個(gè)相連內(nèi)存(associative 
memory),當(dāng)數(shù)據(jù)被寫入時(shí)用數(shù)據(jù)的一部分作為關(guān)鍵字來(lái)標(biāo)志的一塊存儲(chǔ)區(qū)域。在cache中,關(guān)鍵字是整個(gè)內(nèi)存的地址。提供一個(gè)相同的關(guān)鍵字給相連內(nèi)存,你將得到相同的數(shù)據(jù)。一個(gè)真實(shí)的相連內(nèi)存在存入條目時(shí),將完全按照它們的關(guān)鍵字,除非它已經(jīng)滿了。然而,由于需要這個(gè)當(dāng)前的關(guān)鍵字必須和所有被存的關(guān)鍵字同時(shí)比較,因此任何大小的真實(shí)相連內(nèi)存不是效率低或速度慢,或者就是兩者都有。 
<BR>怎樣我們才能設(shè)計(jì)有用的高速緩存,使其不僅效率高而且速度快呢?圖4.1展示了一種最簡(jiǎn)單高速緩存的基本設(shè)計(jì)方案,直接映射(direct-mapped)高速緩存。它被1992年以前的MIPSCPU廣泛使用。 
<BR>直接映射cache由許多塊簡(jiǎn)單的高速緩存排列構(gòu)成(通常每一塊稱之為一line),通過(guò)地址低位在整個(gè)范圍內(nèi)做索引。cache的每一條line都包含一個(gè)字或者幾個(gè)字的數(shù)據(jù)和一個(gè)標(biāo)簽(tag)區(qū)域,tag記錄著數(shù)據(jù)所在內(nèi)存的地址。 
<BR>當(dāng)一個(gè)讀操作時(shí),每一條line都可以被訪問(wèn)到,tag將和內(nèi)存地址的高位做比較;如果匹配的話,我們知道是找到正確的數(shù)據(jù)了,這被稱之為命中(hit)。如果在這一塊中有超過(guò)一個(gè)字的數(shù)據(jù),對(duì)應(yīng)的那個(gè)字的數(shù)據(jù)通過(guò)地址的最低幾位來(lái)選擇出來(lái)。 
<BR>如果tag沒(méi)有匹配,這稱之為沒(méi)有命中(miss),那么數(shù)據(jù)需要從內(nèi)存中讀入,然后復(fù)制到cache對(duì)應(yīng)的line中。這對(duì)應(yīng)line中原來(lái)的數(shù)據(jù)將會(huì)被拋棄,如果CPU又需要被拋棄的數(shù)據(jù)時(shí),需要再次從內(nèi)存中取得。 
<BR>這樣的直接映射cache有一個(gè)特征,就是對(duì)于任何一個(gè)內(nèi)存地址,在高速緩存中只有唯一的一條line可以用來(lái)保存其數(shù)據(jù)。這樣有好處也有壞處。好處就是這樣的架構(gòu)簡(jiǎn)單,可以使CPU跑得更快。但簡(jiǎn)單也有其不好的一面:如果你的程序要不停地交替使用兩個(gè)數(shù)據(jù),而它們剛好要對(duì)應(yīng)高速緩存中的同一塊(可能是它們對(duì)應(yīng)內(nèi)存地址的低位剛好一樣),這樣這兩個(gè)數(shù)據(jù)就會(huì)不停的將對(duì)方替換出高速緩存,以至高速緩存的效率被徹底的降下來(lái)。 
<BR>而真正的相連內(nèi)存將不會(huì)遇到這樣的折騰,但對(duì)于任何合理大小,它將是難以想象的復(fù)雜、昂貴和速度緩慢。 <BR>折衷的辦法就是使用two-way 
set-associative cache,其實(shí)就是兩個(gè)direct-mapped 
cache并聯(lián),在它們中同時(shí)匹配內(nèi)存位置。如圖4.2。這時(shí)對(duì)應(yīng)一個(gè)地址將有兩次機(jī)會(huì)命中。Four-way set-associative cache 
(就是有四個(gè)直接映射的子高速緩存)在cache的設(shè)計(jì)中也是很平常的。但是這是有懲罰的。一個(gè)set-associate 
cache比起直接映射cache來(lái)需要更多的總線連接,所以cache太大以至于很難在一塊芯片上構(gòu)造直接映射。 
<BR>不過(guò)也有巧妙的地方,由于直接映射cache對(duì)于你需要的數(shù)據(jù)只有唯一的候選者,所以把一些東西放到tag匹配前運(yùn)行是可能的(只要CPU不做和著個(gè)數(shù)據(jù)有關(guān)的操作)。這樣可以提高每一個(gè)時(shí)鐘利用率。 
<BR>由于當(dāng)運(yùn)行一段時(shí)間后cache會(huì)被裝滿,所以當(dāng)再次存放從內(nèi)存讀來(lái)的數(shù)據(jù)時(shí),就會(huì)拋棄一些cache內(nèi)原有的數(shù)據(jù)。如果你知道這些數(shù)據(jù)在cache和內(nèi)存中是一致的,那么你可以直接把cache中的備份拋棄;但如果cache中的數(shù)據(jù)更新的話,你就需要首先把這些數(shù)據(jù)存回到內(nèi)存中。 
<BR>這就給我們帶來(lái)一個(gè)問(wèn)題,cache怎樣處理寫操作? <BR><BR>4.3 Write-Through Caches in Early MIPS 
CPUs 
<BR>CPU不能僅僅是讀數(shù)據(jù)(就象上面的討論),它們也要寫數(shù)據(jù)。由于cache只是將主存中的一部分?jǐn)?shù)據(jù)做一個(gè)備份,所以有一個(gè)顯而易見(jiàn)的方法來(lái)處理CPU的寫操作,被稱之為Write-Through 
cache。 <BR>對(duì)于Write-Through 
cache,寫操作時(shí)CPU總是將數(shù)據(jù)直接寫到主存中去;如果對(duì)應(yīng)主存位置的數(shù)據(jù)在cache中有一個(gè)備份,那么cache中的那個(gè)備份也要被更新。如果我們總是這樣做的,那么cache中的任何數(shù)據(jù)將和主存中的保持一致,所以只要我們需要我們就可以拋棄任何一條cahce 
line的數(shù)據(jù),并且除了消耗時(shí)間不會(huì)丟失任何東西。 
<BR>當(dāng)然這也是有危險(xiǎn)的,當(dāng)我們讓處理器等待寫操作結(jié)束時(shí),處理器的運(yùn)行速度將徹底的降下來(lái),不過(guò)我們能修復(fù)這個(gè)問(wèn)題。可以將要寫入主存的數(shù)據(jù)及其地址先保存在另一邊,然后有主存控制器自己取得這些數(shù)據(jù)并完成寫操作。這個(gè)臨時(shí)保存寫操作內(nèi)容的地方被稱之為寫操作緩沖區(qū) 
(write buffer),它是先入先出的(FIFO)。 <BR>早期的MIPS CPU有一個(gè)直接映射的write-through 
cache和一個(gè)寫操作緩沖區(qū),還有一個(gè)R3000的激發(fā)設(shè)置。它在同一芯片上構(gòu)造cache控制器,但需要額外的高速存貯器芯片來(lái)存貯tag和數(shù)據(jù)。只有CPU跑一些特殊的程序很平均地產(chǎn)生的寫操作,主存系統(tǒng)在這種工作方式下才能很好的消化這些寫操作并工作的很好。 
<BR>但CPU運(yùn)行速度的增長(zhǎng)比存貯器塊得多。某些時(shí)候當(dāng)32位的MIPS讓位給64位R4000后,MIPS的速度就已經(jīng)超過(guò)存貯器系統(tǒng)可以合理消化所有寫操作的臨界點(diǎn)了。 
<BR><BR>4.4 Write-Bach Cache in Recent MIPS CPUs <BR>早期的MIPS CPU 
使用簡(jiǎn)單的write-through cache。后來(lái)的MIPS CPU由于速度太快而不能適用這種方法,它們會(huì)陷入存儲(chǔ)系統(tǒng)的寫操作中,速度慢得像爬行。 
<BR>解決的方法就是把要寫的數(shù)據(jù)保留在cache中。要寫的數(shù)據(jù)只寫到cache中,并且對(duì)應(yīng)的那條cahce 
line要做一個(gè)標(biāo)記,使我們肯定不會(huì)忘記在某個(gè)時(shí)候把它回寫到內(nèi)存中(一條line需要回寫,稱之為dirty)。 <BR>Write-back 
cache還可以分成幾種不同的子處理方式。如果當(dāng)前cache中沒(méi)有要寫地址所對(duì)應(yīng)的數(shù)據(jù),我們可以直接寫到主存中而不管cache,或者可以用特殊的方式把數(shù)據(jù)讀入cache,然后再直接寫cache,后面這種方式被稱之為寫分配(write 
allocate)。用一種自私的觀點(diǎn)來(lái)看一個(gè)程序運(yùn)行在一個(gè)CPU上,寫分配(write-allocate)看起來(lái)象浪費(fèi)時(shí)間;但是它可以使整個(gè)系統(tǒng)的設(shè)計(jì)變得簡(jiǎn)單,因?yàn)樵诔绦蜻\(yùn)行時(shí)讀寫內(nèi)存都讀或者寫都是以一條cache 
line大小為單位的塊進(jìn)行操作。 <BR>從MIPS R4000 開(kāi)始,MIPS 
CPU在芯片內(nèi)擁有cache,而且都支持write-through和write-allocate兩種工作模式,line的大小也是支持16byte和32byte兩種。 
<BR>MIPS cache的這些工作模式可以被應(yīng)用到使用sillicon 
Graphics設(shè)計(jì)R4000和其他大型CPU,其他計(jì)算機(jī)系統(tǒng)也因?yàn)槎嗵幚砥飨到y(tǒng)而被這些cache工作模式影響到。 <BR><BR>4.5 
Cache設(shè)計(jì)的其他選擇 <BR>在上個(gè)世紀(jì)八十和九十年代針對(duì)怎樣設(shè)計(jì)cache,做了很多工作和研究。所以下面還有許多其它的設(shè)計(jì)選擇。 
<BR>Physically addressed/virtually addressed: 
<BR>當(dāng)CPU在運(yùn)行成熟的操作系統(tǒng)時(shí),數(shù)據(jù)和指令在程序中的地址(程序地址或虛擬地址)會(huì)被轉(zhuǎn)換成系統(tǒng)內(nèi)存使用的物理地址。 
<BR>如果cache純粹地在物理地址方式下工作,將很容易被管理(我們將在后面討論為什么)。但合法的虛擬地址可以讓cache更早地開(kāi)始查詢匹配工作,這樣可以使系統(tǒng)跑的稍微塊一點(diǎn)。 
<BR>但虛擬地址有什么問(wèn)題呢?它們不是唯一的;當(dāng)許多不同的程序在CPU不同的地址空間中運(yùn)行,它們可能會(huì)共享同樣的虛擬地址而使用不同的數(shù)據(jù)。當(dāng)我們切換不同的地址空間時(shí),每次都需要重新初始化cache;這種方式在很多年前被使用,可以作為針對(duì)非常小的cache的一種合理解決方法。但針對(duì)大的cahce這種方式不僅可笑而且效率低下,我們需要一塊區(qū)域來(lái)辨別cache 
tag中的地址空間,以至我們不被它們混淆。 
<BR>這兒還有其它關(guān)于虛擬地址更細(xì)致的問(wèn)題:相同的物理地址可以在不同的任務(wù)中被不同的虛擬地址描述。這就會(huì)導(dǎo)致相同物理地址的內(nèi)容會(huì)被映射到不同的cache條目中(因?yàn)樗鼈儗?duì)應(yīng)不同的虛擬地址,所以會(huì)被不同的索引所選中)。這樣的情況必須被操作系統(tǒng)的內(nèi)存管理所避免掉。詳細(xì)的情況將在4.14.2節(jié)介紹。 
<BR>從R4000起,MIPS的主cache都使用虛擬地址索引,從而提供快速的cache索引。但對(duì)于作為標(biāo)記符來(lái)標(biāo)記每一個(gè)cache-line,物理地址比虛擬地址更好。物理地址是唯一的而且效率更高,因?yàn)檫@樣的設(shè)計(jì)顯示出CPU在做cache索引的同時(shí)可以把虛擬地址轉(zhuǎn)換成物理地址。 
<BR><BR>line大小的選擇(Choice of line size): 
<BR>line的大小是對(duì)應(yīng)每一個(gè)tag可以存貯多少字的數(shù)據(jù)。早期的MIPS的cache對(duì)應(yīng)一個(gè)tag只能存貯一個(gè)字的數(shù)據(jù)。但對(duì)應(yīng)一個(gè)tag能存貯多個(gè)字的數(shù)據(jù)更好,尤其是內(nèi)存系統(tǒng)支持快速的burst 
read。現(xiàn)代的MIPS cache趨向于使用四個(gè)或者八個(gè)字大小的line,并且更大的第二層和第三層cache使用更大的line。 <BR>當(dāng)cache 
miss發(fā)生時(shí),整個(gè)一條line的數(shù)據(jù)都要從內(nèi)存中獲得。但很可能會(huì)取來(lái)幾line的數(shù)據(jù);一個(gè)字的cache line的MIPS 
CPU經(jīng)常是一次就取多個(gè)字的數(shù)據(jù)。 <BR><BR>分開(kāi)/統(tǒng)一(Split/unified): 
<BR>MIPS的主cache總是分成I-cache和D-cache,取指令時(shí)察看I-cache,讀寫數(shù)據(jù)時(shí)察看D-cache。(順便說(shuō)一下,如果你想執(zhí)行CPU剛剛拷貝到內(nèi)存的代碼,你必須不僅僅要是D-cache一部分無(wú)效使這些代碼數(shù)據(jù)在D-cache中不再存在,而且還要保證它們被裝入I-cache) 
<BR>但是不在同一塊芯片上的第二層cache很少也按這種方式來(lái)分成兩塊。這樣就沒(méi)有什么真的優(yōu)勢(shì)可言了。除非你能針對(duì)兩種cache提供分開(kāi)的數(shù)據(jù)總線,但這又會(huì)需要太多的管腳。 
<BR><BR>4.6 Cache管理(Magaging Caches) 
<BR>Cache系統(tǒng)在系統(tǒng)軟件的幫助下,必須保證任何應(yīng)用程序數(shù)據(jù)的一致性,和它們?cè)跊](méi)有cache的系統(tǒng)下一樣,尤其是DMA 
I/O控制器(直接從內(nèi)存中取得數(shù)據(jù))取得程序認(rèn)為已經(jīng)寫過(guò)的數(shù)據(jù)。 <BR>對(duì)于CISC 
CPU,通常都不需要系統(tǒng)軟件對(duì)cache的幫助;因?yàn)樗鼤?huì)花費(fèi)額外的內(nèi)存空間、silicon area、時(shí)鐘周期來(lái)使得cache變得真正的透明。 
<BR>在系統(tǒng)啟動(dòng)的時(shí)候MIPS 
CPU需要初始化它的cache;這是一個(gè)十分復(fù)雜的過(guò)程,下面有關(guān)于它的幾點(diǎn)建議。但當(dāng)系統(tǒng)啟動(dòng)后運(yùn)行到三種情況CPU必須加以干涉。 
<BR><BR><BR>.在DMA設(shè)備從內(nèi)存取數(shù)據(jù)之前: 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品aⅴ在线视频| 成人白浆超碰人人人人| 一区二区三区视频在线观看| 国产女同性恋一区二区| 精品国产乱码久久久久久闺蜜| 日韩网站在线看片你懂的| 日韩欧美一级精品久久| 日韩亚洲欧美一区二区三区| 91精品在线麻豆| 91精品国产一区二区| 精品日产卡一卡二卡麻豆| 欧美成人艳星乳罩| 久久久久亚洲蜜桃| 国产欧美一区二区三区沐欲 | 最新中文字幕一区二区三区| 中文幕一区二区三区久久蜜桃| 久久精品亚洲一区二区三区浴池| 精品国产精品网麻豆系列| 国产欧美日韩精品在线| 亚洲欧洲成人自拍| 三级久久三级久久久| 久久精品久久99精品久久| 国产麻豆欧美日韩一区| 99久久精品费精品国产一区二区| 91麻豆蜜桃一区二区三区| 在线免费观看一区| 欧美一区二区久久久| 久久精品亚洲精品国产欧美kt∨ | 欧美一级理论性理论a| 538prom精品视频线放| 亚洲精品一区在线观看| 中文字幕中文字幕一区二区| 亚洲香蕉伊在人在线观| 久久超碰97人人做人人爱| 菠萝蜜视频在线观看一区| 欧美久久久久免费| 国产欧美日韩在线看| 亚洲影视在线观看| 国产一区二区三区在线观看免费视频| 北岛玲一区二区三区四区| 91 com成人网| 亚洲视频一区在线| 狠狠v欧美v日韩v亚洲ⅴ| 色噜噜偷拍精品综合在线| 欧美v日韩v国产v| 日韩毛片精品高清免费| 麻豆成人av在线| 色哟哟精品一区| 精品国产成人在线影院| 香蕉久久夜色精品国产使用方法| 国产麻豆一精品一av一免费 | 亚洲日本va在线观看| 麻豆免费看一区二区三区| 色呦呦国产精品| 国产情人综合久久777777| 日韩激情中文字幕| 91官网在线免费观看| 国产精品久久久久影视| 久久精品国产77777蜜臀| 欧美三级中文字幕| 亚洲精品国产精品乱码不99 | 亚洲精品成人天堂一二三| 国产精品自产自拍| 精品国产乱码久久久久久蜜臀| 亚洲成人高清在线| 欧洲日韩一区二区三区| 国产精品国产三级国产普通话99| 经典一区二区三区| 欧美r级电影在线观看| 午夜精品一区二区三区三上悠亚| 91在线一区二区| 国产精品视频一二三| 国产91对白在线观看九色| 精品国产乱码久久| 国产乱码一区二区三区| 欧美r级在线观看| 久久av资源网| 久久―日本道色综合久久| 精品一区二区三区影院在线午夜| 欧美一区二区视频在线观看2020 | 精品久久久久久久久久久院品网 | 国产精品性做久久久久久| 久久蜜桃一区二区| 国产在线播放一区| 国产欧美日韩精品在线| 99精品视频一区二区三区| 国产精品电影一区二区| 972aa.com艺术欧美| 亚洲在线视频网站| 制服丝袜亚洲网站| 久久草av在线| 久久久久88色偷偷免费| 国产91富婆露脸刺激对白| 亚洲天堂成人在线观看| 欧美亚一区二区| 午夜精品影院在线观看| 欧美成人欧美edvon| 国产91丝袜在线18| 亚洲精品免费看| 日韩亚洲欧美高清| 国产精品一级黄| 亚洲精品乱码久久久久久黑人| 欧美色综合网站| 韩国精品主播一区二区在线观看 | 国产mv日韩mv欧美| 夜夜精品浪潮av一区二区三区| 欧美日韩一级二级三级| 久久99蜜桃精品| 亚洲丝袜精品丝袜在线| 欧美一区二区福利在线| 粉嫩av一区二区三区| 亚洲一区电影777| 久久久久一区二区三区四区| 99久久精品国产毛片| 日韩高清一级片| 国产精品国产三级国产普通话蜜臀| 欧美日韩久久一区| 国产成人精品午夜视频免费| 亚洲国产aⅴ成人精品无吗| 精品噜噜噜噜久久久久久久久试看| 99精品视频在线观看免费| 美女www一区二区| 亚洲成人久久影院| 欧美韩国一区二区| 3d成人动漫网站| 99国产欧美久久久精品| 久久99久久久欧美国产| 亚洲午夜精品久久久久久久久| 精品欧美久久久| 欧美日韩国产123区| 国产v日产∨综合v精品视频| 免费欧美在线视频| 亚洲国产裸拍裸体视频在线观看乱了 | 欧洲国内综合视频| 成人免费视频国产在线观看| 久久国内精品自在自线400部| 亚洲综合在线视频| 亚洲色图20p| 欧美极品另类videosde| 日韩欧美在线一区二区三区| 欧美中文字幕一区二区三区| www.欧美色图| 国产成人自拍高清视频在线免费播放| 亚洲国产视频a| 一区二区三区色| 亚洲人成网站在线| 日韩美女视频一区二区 | 亚洲欧美中日韩| 国产午夜精品一区二区| 精品少妇一区二区三区日产乱码| 精品视频在线免费看| 欧美日韩一区视频| 欧美色网站导航| 在线精品视频免费播放| 色综合久久88色综合天天免费| 国产伦精品一区二区三区视频青涩| 久久99热99| 国产成人在线视频播放| 国产成人鲁色资源国产91色综| 国产一区二区在线看| 国产电影一区二区三区| 波多野洁衣一区| 91毛片在线观看| 欧美综合欧美视频| 欧美另类videos死尸| 欧美一级理论性理论a| 精品国产一区二区在线观看| 久久综合色婷婷| 中文字幕视频一区二区三区久| 亚洲男人的天堂在线aⅴ视频| 亚洲欧美精品午睡沙发| 亚洲福利视频一区二区| 日本不卡一二三| 国产高清亚洲一区| 成人av午夜影院| 欧美日韩中字一区| ww亚洲ww在线观看国产| 一区精品在线播放| 婷婷久久综合九色综合伊人色| 麻豆91在线看| 99久久综合狠狠综合久久| 在线观看91精品国产入口| 精品日产卡一卡二卡麻豆| 1000部国产精品成人观看| 午夜影视日本亚洲欧洲精品| 老司机免费视频一区二区| 99久久夜色精品国产网站| 9191国产精品| 中文天堂在线一区| 日韩激情av在线| 懂色av一区二区三区蜜臀 | 日日夜夜免费精品| 国产成人精品影院| 666欧美在线视频| 国产精品丝袜久久久久久app| 亚洲国产一区二区视频| 国产91精品一区二区麻豆网站 | 欧美性淫爽ww久久久久无| 精品国产乱子伦一区| 亚洲精品国产第一综合99久久|