版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)體系結(jié)構(gòu)主講:陳付龍第5章 流水處理技術(shù)5.1 一次重疊5.2 先行控制5.3 流水技術(shù)原理5.4 流水線(xiàn)的分類(lèi)5.5 流水線(xiàn)相關(guān)及其處理方法5.6 流水線(xiàn)調(diào)度5.7 超標(biāo)量流水處理機(jī)5.8 超流水線(xiàn)處理機(jī)5.9 超標(biāo)量超流水處理機(jī)5.10 超長(zhǎng)指令字處理機(jī)高山流水流水線(xiàn)技術(shù)的由來(lái)1769年,英國(guó)人喬賽亞韋奇伍德開(kāi)辦埃特魯利亞陶瓷工廠,在場(chǎng)內(nèi)實(shí)行精細(xì)的勞動(dòng)分工,他把原來(lái)由一個(gè)人從頭到尾完成的制陶流程分成幾十道專(zhuān)門(mén)工序,分別由專(zhuān)人完成。這樣一來(lái),原來(lái)意義上的“制陶工”就不復(fù)存在了,存在的只是挖泥工、運(yùn)泥工、扮土工、制坯工等等制陶工匠變成了制陶工場(chǎng)的工人,他們必須按固定的工作節(jié)奏勞動(dòng),服從統(tǒng)
2、一的勞動(dòng)管理。 為什么想到改流水線(xiàn)流水線(xiàn)之前,汽車(chē)工業(yè)完全是手工作坊型的 . 每裝配一輛汽車(chē)要728個(gè)人工小時(shí),當(dāng)時(shí)汽車(chē)的年產(chǎn)量大約12輛.這一速度遠(yuǎn)不能滿(mǎn)足巨大的消費(fèi)市場(chǎng)的需求.所以使得汽車(chē)成為富人的象征. 福特的夢(mèng)想是讓汽車(chē)成為大眾化的交通工具.所以,提高生產(chǎn)速度和生產(chǎn)效率是關(guān)鍵.只有降低成本,才能降低價(jià)格,使普通百姓也能買(mǎi)的起汽車(chē).流水線(xiàn)的形成1913年,福特應(yīng)用創(chuàng)新理念和反向思維邏輯提出在汽車(chē)組裝中,汽車(chē)底盤(pán)在傳送帶上以一定速度從一端向另一端前行前行中,逐步裝上發(fā)動(dòng)機(jī),操空系統(tǒng),車(chē)廂,方向盤(pán),儀表,車(chē)燈,車(chē)窗玻璃、車(chē)輪,一輛完整的車(chē)組裝成了第一條流水線(xiàn)使每輛T型汽車(chē)的組裝時(shí)間由原來(lái)的1
3、2小時(shí)28分鐘縮短至10秒鐘,生產(chǎn)效率提高了4488倍!流水線(xiàn)是怎樣提高速度的流水線(xiàn)是把一個(gè)重復(fù)的過(guò)程分為若干個(gè)子過(guò)程,每個(gè)子過(guò)程可以和其他子過(guò)程并行運(yùn)作福特的流水線(xiàn)不僅把汽車(chē)放在流水線(xiàn)上組裝,也花費(fèi)大量精力研究提高勞動(dòng)生產(chǎn)率福特把裝配汽車(chē)的零件裝在敞口箱里,放在輸送帶上,送到技工面前,工人只需站在輸送帶兩邊,節(jié)省了來(lái)往取零件的時(shí)間而且裝配底盤(pán)時(shí),讓工人拖著底盤(pán)通過(guò)預(yù)先排列好的一堆零件,負(fù)責(zé)裝配的工人只需安裝,這樣裝配速度自然加快了。他在一年之中生產(chǎn)幾十萬(wàn)輛汽車(chē),這個(gè)新的系統(tǒng)既有效又經(jīng)濟(jì).結(jié)果他把汽車(chē)的價(jià)格削減了一半,降至每輛260美元,1913年,美國(guó)人均收入為5301美元,1914年,一個(gè)
4、工人工作不到四個(gè)月就可以買(mǎi)一輛T型車(chē)。流水線(xiàn)的意義它使產(chǎn)品的生產(chǎn)工序被分割成一個(gè)個(gè)的環(huán)節(jié),工人間的分工更為細(xì)致,產(chǎn)品的質(zhì)量和產(chǎn)量大幅度提高,極大促進(jìn)了生產(chǎn)工藝過(guò)程和產(chǎn)品的標(biāo)準(zhǔn)化。制成品被大量生產(chǎn)出來(lái),尤其是多樣的日用品在流水線(xiàn)上變成了標(biāo)準(zhǔn)化商品。汽車(chē)生產(chǎn)流水線(xiàn)以標(biāo)準(zhǔn)化、大批量生產(chǎn)來(lái)降低生產(chǎn)成本,提高生產(chǎn)效率的方式適應(yīng)了美國(guó)當(dāng)時(shí)的國(guó)情,汽車(chē)工業(yè)迅速成為美國(guó)的一大支柱產(chǎn)業(yè)。體檢流水每個(gè)醫(yī)生只負(fù)責(zé)檢查一項(xiàng),多個(gè)醫(yī)生同時(shí)工作單周期處理機(jī)多周期處理機(jī)多周期實(shí)現(xiàn)概述單周期處理器的問(wèn)題根源: 對(duì)于最慢的指令,周期時(shí)間必須足夠長(zhǎng)解決方案:將指令處理分為更小的步驟,每個(gè)周期執(zhí)行一步(而不是整個(gè)指令)周期時(shí)間:
5、執(zhí)行最長(zhǎng)步所需的時(shí)間使所有的步驟盡量具有相同的長(zhǎng)度這是多周期處理器的本質(zhì)所在多周期處理器的優(yōu)點(diǎn):周期時(shí)間短不同的指令需要不同的周期數(shù)來(lái)完成裝入指令需要5個(gè)周期,跳轉(zhuǎn)僅僅需要3個(gè)周期允許每條指令多次使用同一個(gè)功能部件5.1 一次重疊一條機(jī)器指令的執(zhí)行過(guò)程取指令分析執(zhí)行tttt順序解釋執(zhí)行執(zhí)行k+1分析k+1取指k+1執(zhí)行k分析k取指kT=3nt一次重疊工作方式執(zhí)行k分析k取指k執(zhí)行k+1分析k+1取指k+1T=(2n+1) t執(zhí)行k+2分析k+2取指k+2訪(fǎng)存沖突問(wèn)題分析k要訪(fǎng)問(wèn)存儲(chǔ)器取操作數(shù),取指k+1也要訪(fǎng)存取指令,若操作數(shù)和指令存儲(chǔ)在同一存儲(chǔ)器內(nèi),在同一時(shí)刻只能訪(fǎng)問(wèn)一個(gè)存儲(chǔ)單元就形成了分析
6、k和取指k+1的訪(fǎng)存沖突。解決辦法使操作數(shù)和指令分別存儲(chǔ)于兩個(gè)獨(dú)立編指的且可同時(shí)訪(fǎng)問(wèn)的存儲(chǔ)器內(nèi)采用多體交叉存儲(chǔ)器,保證操作數(shù)和指令不位于同一個(gè)存儲(chǔ)體內(nèi)甚至指緩棧(指令緩沖寄存器組),把所需的后繼指令預(yù)先取到指緩棧中5.2 先行控制不同部件處理時(shí)間不等的問(wèn)題分析k執(zhí)行k分析k+1執(zhí)行k+1分析k+2執(zhí)行k+2分析k+3執(zhí)行k+3 t1 t2 t3各部件不能連續(xù)工作Why good?指令執(zhí)行過(guò)程中分析和執(zhí)行部件之間雖然有等待時(shí)間 t,但每個(gè)部件上的處理是連續(xù)的。理想情況下,采用先行控制方式連續(xù)解釋n條指令所需時(shí)間為先行控制處理機(jī)結(jié)構(gòu)主存儲(chǔ)器存儲(chǔ)控制器先行指令緩沖棧先行讀數(shù)棧后行寫(xiě)數(shù)棧指令分析器先行
7、操作棧運(yùn)算控制器運(yùn)算器通用寄存器先行控制器計(jì)算機(jī)的各個(gè)部分幾乎都可以采用流水線(xiàn)技術(shù): (1)指令的執(zhí)行過(guò)程可以采用流水線(xiàn),稱(chēng)為指令流水線(xiàn)。 (2)運(yùn)算器中的操作部件,如浮點(diǎn)加法器、浮點(diǎn)乘法器等可以采用流水線(xiàn),稱(chēng)為操作部件流水線(xiàn)。 (3)訪(fǎng)問(wèn)主存的部件可以采用訪(fǎng)存部件流水線(xiàn)。多個(gè)計(jì)算機(jī)之間,通過(guò)存儲(chǔ)器連接,也可以采用流水線(xiàn),稱(chēng)為宏流水線(xiàn)。流水線(xiàn)的工作過(guò)程時(shí)空?qǐng)D的另外一種形式取指令指令譯碼取操作數(shù)執(zhí)行取指令指令譯碼取操作數(shù)執(zhí)行取指令指令譯碼取操作數(shù)執(zhí)行取指令指令譯碼取操作數(shù)執(zhí)行ti指令 流水線(xiàn)處理機(jī)的最大特點(diǎn)是每一個(gè)時(shí)針周期都能啟動(dòng)一條指令的執(zhí)行。流水技術(shù)性 流水技術(shù)無(wú)助于減少單個(gè)任務(wù)的處理延遲(
8、latency) ,但有助于提高整體工作負(fù)載的吞吐率 多個(gè)不同任務(wù)同時(shí)操作, 使用不同資源 潛在加速比= 流水線(xiàn)級(jí)數(shù) 流水線(xiàn)的速率受限于最慢的流水段 流水段的執(zhí)行時(shí)間如果不均衡,那么加速比就會(huì)降低 開(kāi)始填充流水線(xiàn)的時(shí)間和最后排放流水線(xiàn)的時(shí)間降低加速比 相關(guān)將導(dǎo)致流水線(xiàn)暫停單周期、多周期與流水線(xiàn)流水線(xiàn)處理機(jī)的數(shù)據(jù)路徑流水線(xiàn)各級(jí)的操作IF級(jí)1、取指令2、計(jì)算下一條指令地址流水線(xiàn)各級(jí)的操作ID級(jí)1、讀寄存器堆中的操作數(shù)2、符號(hào)擴(kuò)展3、控制器根據(jù)OPCODE產(chǎn)生控制信號(hào)4、轉(zhuǎn)移指令在ID級(jí)結(jié)束流水線(xiàn)各級(jí)的操作EXE級(jí)1、ALU指令完成計(jì)算結(jié)果2、LOAD/STORE指令計(jì)算存儲(chǔ)器地址流水線(xiàn)各級(jí)的操作M
9、EM級(jí)2、LOAD/STORE指令訪(fǎng)問(wèn)存儲(chǔ)器,LOAD指令讀操作,STORE指令寫(xiě)操作,STORE指令結(jié)束。1、ALU指令在該級(jí)僅把R內(nèi)容打入C流水線(xiàn)各級(jí)的操作WB級(jí)結(jié)果寫(xiě)回到寄存器堆ALU指令執(zhí)行時(shí)流水線(xiàn)的數(shù)據(jù)路徑LOAD指令執(zhí)行時(shí)流水線(xiàn)的數(shù)據(jù)路徑STORE指令執(zhí)行時(shí)流水線(xiàn)的數(shù)據(jù)路徑流水線(xiàn)處理機(jī)的控制ALU指令和存儲(chǔ)器訪(fǎng)問(wèn)指令的控制I1 addi r1,r2,4 ; r1(r2) + 4I2 load r2,100(r3); r2 memory (r3) + 100I3 sub r4,r5,r6; r4(r5) -(r6)I4 add r7,r5,r6; r7(r5) +(r6)I5 sto
10、re r8,200(r9);memory(r9) + 200(r8)I6 subi r10,r10,1; r10(r10) - 1研究流水線(xiàn)處理機(jī)對(duì)以下指令重疊操作過(guò)程指令系統(tǒng)和指令格式同前面一樣指令系統(tǒng)和指令格式31 2625 2120 16 15 54 0指令助記符意 義00 0101rdrs1immeaddi rd, rs1, immerd (rs1) add imme00 010100001000100004Haddi r1, r2, 400 0100rdrs1rs2add rd, rs1, rs2rd (rs1) add (rs2)00 0100001110010100110add
11、r7,r5,r600 0110rdrs1rs2sub rd, rs1, rs2rd (rs1) sub (rs2)00 0110001000010100110sub r4,r5,r600 1000rdrs1immeload rd, rs1, immerd (rs1) + imme)00 100000010000110064Hload r2,r3,10000 1001rdrs1immestore rd, rs1,imme(rd)(rs1) + imme)00 1001010000100100C8Hstore r8,r9,200指令系統(tǒng)和指令格式31 2625 2120 16 15 54 0指令助
12、記符意 義00 0000rdrs1rs2and rd, rs1, rs2rd (rs1) and (rs2)00 0001rdrs1immeandi rd, rs1, immerd(rs1) and imme00 0010rdrs1rs2or rd, rs1, rs2rd (rs1) or (rs2)00 0011rdrs1immeori rd, rs1, immerd (rs1) or imme00 0100rdrs1rs2add rd, rs1, rs2rd (rs1) add (rs2)00 0101rdrs1immeaddi rd, rs1, immerd (rs1) add imme
13、00 0110rdrs1rs2sub rd, rs1, rs2rd (rs1) sub (rs2)00 0111rdrs1immesubi rd, rs1, immerd (rs1) sub imme00 1000rdrs1immeload rd, rs1, immerd (rs1) + imme)00 1001rdrs1immestore rd, rs1, imme(rd)(rs1) + imme)00 1010dispbne dispIf z=0, pc(pc)+disp00 1011dispbeq dispIf z=1, pc(pc)+disp00 1100dispbranch disp
14、pc(pc) + dispCC1Fetch I1CC2Fetch I2 并 Decode I1CC3Fetch I3 并 Decode I2 并 EXEC I1CC4Fetch I4 并 Decode I3 并 EXEC I2 并 MEM I1CC5Fetch I5 并 Decode I4 并 EXEC I3 并 MEM I2 并WB I1CC6Fetch I6 并 Decode I5 并 EXEC I4 并 MEM I3 并WB I2CC7Decode I6 并 EXEC I5 并 MEM I4 并WB I3CC8 EXEC I6 并 MEM I5 并 WB I4CC9 MEM I6CC10
15、 WB I6以上還有3個(gè)控制信號(hào):WZ 寫(xiě)Z標(biāo)志信號(hào) WMEM 寫(xiě)存儲(chǔ)器信號(hào) WREG- 寫(xiě)寄存器堆信號(hào)流水線(xiàn)處理機(jī)的控制轉(zhuǎn)移指令控制 subi r10,r10,1 bne abc add r1,r2,r3abc: load 00 1010dispbne dispIf z=0, pc(pc)+disp結(jié)果不為0,轉(zhuǎn)移00 1011dispbeq dispIf z=1, pc(pc)+disp結(jié)果為0,轉(zhuǎn)移00 1100dispbranch disppc(pc) + disp無(wú)條件轉(zhuǎn)移subi r10,r10,1nopbne abcnopadd r1,r2,r3條件轉(zhuǎn)移指令控制無(wú)條件轉(zhuǎn)移指令控制
16、branch abcadd r1,r2,r3branch abcnopadd r1,r2,r3轉(zhuǎn)移發(fā)生的條件為 BTAKEN = branch + bneZ + beqZ級(jí)控制信號(hào)注釋IF級(jí)BTAKEN轉(zhuǎn)移發(fā)生ID級(jí)SST選擇STORE(rd)EXE級(jí)SIMM選擇立即數(shù)ALUOPALU操作碼WZ寫(xiě)Z標(biāo)志MEM級(jí)WMEM寫(xiě)存儲(chǔ)器WB級(jí)SLD選擇LOADWREG寫(xiě)寄存器堆流水線(xiàn)各級(jí)控制信號(hào)的定義流水線(xiàn)各級(jí)控制信號(hào)的產(chǎn)生表達(dá)式指 令A(yù)LUOP1ALUOP0注釋and /andi00與or/ ori01或add/ addi10加sub/ subi11減load/ store10加aluop1=add+
17、addi+sub+subi+load+storealuop0=or+ori+sub+subiBTAKEN=branch+bneZ+beqZSST=storeSIMM=andi+addi+ori+subi+load+storeWZ= andi+addi+ori+subi+ and+add+or+subWMEM=storeSLD=loadWREG=andi+addi+ori+subi+ and+add+or+sub+load流水線(xiàn)處理機(jī)性能指標(biāo):吞吐率吞吐率:?jiǎn)挝粫r(shí)間內(nèi)處理任務(wù)(指令)數(shù)或輸出結(jié)果數(shù)量最大吞吐率:穩(wěn)定狀態(tài)的吞吐率流水線(xiàn)處理機(jī)性能指標(biāo):吞吐率(等段)12345n-1n12345n-1
18、n12345n-1n12345n-1nmt流水線(xiàn)處理機(jī)性能指標(biāo):吞吐率(不等段)各段時(shí)間不等流水線(xiàn)處理機(jī)性能指標(biāo):吞吐率(不等段)S1S2S3S4輸入輸出流水線(xiàn)瓶頸段流水線(xiàn)處理機(jī)性能指標(biāo):吞吐率(不等段)123412314423132t4S1S2S3S4“瓶頸段”處理方法:細(xì)分S1S2-1S3S4輸入輸出S2-2S2-3“瓶頸段”處理方法:細(xì)分12345n-1n12345n-1n12345n-1n12345n-1ntS1S2-1S2-2S2-3S312345n-1n12345n-1nS4“瓶頸段”處理方法:重復(fù)設(shè)置“瓶頸段”部件S1S2-1S3S4輸入輸出S2-2S2-3“瓶頸段”處理方法:重
19、復(fù)設(shè)置“瓶頸段”部件12345678147258369tS1S2-1S2-2S2-3S31234567812345678S4999流水線(xiàn)處理機(jī)性能指標(biāo):加速比速度提高的比值等段不等段流水線(xiàn)處理機(jī)性能指標(biāo):效率部件利用率等段不等段流水技術(shù)特點(diǎn)流水線(xiàn)可劃分為若干個(gè)互有聯(lián)系的子過(guò)程(功能段)。每個(gè)功能段由專(zhuān)用部件實(shí)現(xiàn)。實(shí)現(xiàn)子過(guò)程的功能段所需時(shí)間應(yīng)竟可能相等,避免產(chǎn)生處理的瓶頸。形成流水處理需要一段準(zhǔn)備時(shí)間(建立時(shí)間),只有在此之后流水過(guò)程才能穩(wěn)定。如果指令流不能連續(xù)執(zhí)行,會(huì)使流水中斷(斷流),會(huì)影響效率。流水技術(shù)適用于處理大量重復(fù)的程序(只是數(shù)據(jù)不同),只有對(duì)輸入的任務(wù)(指令)連續(xù)地處理,流水線(xiàn)的效
20、率才能夠充分發(fā)揮。5.4 流水線(xiàn)的分類(lèi)1.按流水處理的級(jí)別分類(lèi)2.按流水線(xiàn)完成功能的多少分類(lèi)3.按流水不同功能的聯(lián)接切換方式分類(lèi)4.按處理的數(shù)據(jù)類(lèi)型分類(lèi)5.按流水線(xiàn)的結(jié)構(gòu)分類(lèi)6.其它類(lèi)型部件級(jí)流水: 指構(gòu)成部件內(nèi)的各個(gè)子部件之間的 流水處理機(jī)級(jí)流水: 指構(gòu)成處理機(jī)的各個(gè)部件之間的 流水系統(tǒng)級(jí)流水: 指構(gòu)成計(jì)算機(jī)系統(tǒng)的多個(gè)處理機(jī)之 間的流水 1、按流水處理的級(jí)別分類(lèi)部件級(jí)流水線(xiàn)運(yùn)算器流水線(xiàn)將處理機(jī)的算術(shù)運(yùn)算邏輯部件分段,使各種數(shù)據(jù)類(lèi)型能進(jìn)行流水操作。對(duì)階浮點(diǎn)運(yùn)算(+):N1=S1*2E1N2=S2*2E2N=N1+N2尾數(shù)加規(guī)格化運(yùn)算流 處理機(jī)級(jí)流水線(xiàn)指令流水線(xiàn) 在指令解釋過(guò)程中劃分若干功能段。
21、IFIDEXE指令流 處理機(jī)1處理機(jī)2處理機(jī)n數(shù)據(jù)集任務(wù)1任務(wù)n任務(wù)2多個(gè)處理機(jī)之間通過(guò)存儲(chǔ)器串行連接,采用流水工作方式。每個(gè)處理機(jī)之間對(duì)同一數(shù)據(jù)流的不同部分分別進(jìn)行處理,各個(gè)處理機(jī)的輸出結(jié)果存放在與下一個(gè)處理機(jī)共享的存儲(chǔ)器中。系統(tǒng)級(jí)流水宏流水2.按流水線(xiàn)完成功能的多少分類(lèi)單功能流水線(xiàn)-只能實(shí)現(xiàn)一種功能的流水處理。 多功能流水線(xiàn)指-同一流水線(xiàn)的各個(gè)段之間可以有多種不同的聯(lián)接方式以實(shí)現(xiàn)多種不同的運(yùn)算或功能。流水線(xiàn)功能塊浮點(diǎn)加、減運(yùn)算時(shí)的連接定點(diǎn)乘法運(yùn)算的連接3.按流水不同功能的聯(lián)接切換方式分類(lèi)靜態(tài)流水線(xiàn)-在某一時(shí)間里各段只能按一種功能聯(lián) 接流水,只有等流水線(xiàn)全部流空后才 能切換成按另一種功能來(lái)聯(lián)
22、接流水。 動(dòng)態(tài)流水線(xiàn)-各功能段在同一時(shí)間內(nèi)可按不同運(yùn)算或功能 聯(lián)接目前,高性能流水處理機(jī)大多都采用多功能靜態(tài)流水 靜態(tài)多功能流水線(xiàn)時(shí)-空?qǐng)D1234n -11234123412341234n n -1n n -1n n -1n n -1n 1234n -1n 12345678浮加定乘 一 二 三 一 二 一 一 二 三 四 空間(段號(hào))n個(gè)浮加流水結(jié)束后,才開(kāi)始定乘動(dòng)態(tài)多功能流水線(xiàn)時(shí)-空?qǐng)D1234n -11234123412341234n n -1n n -1n n -1n n -1n 1234n -1n 一 二 三 四五六七一 二 三 四五六一 二 三 四五一 二 三 四12345678時(shí)間浮
23、加定乘 空間(段號(hào))同一段時(shí)間內(nèi),有些段實(shí)現(xiàn)浮加,有些段實(shí)現(xiàn)定乘,效率較高,控制復(fù)雜4按處理的數(shù)據(jù)類(lèi)型分類(lèi) 標(biāo)量流水處理機(jī):沒(méi)有向量數(shù)據(jù)表示,只能對(duì)標(biāo) 量進(jìn)行處理向量流水處理機(jī):機(jī)器具有向量數(shù)據(jù)表示,設(shè)置有向量指令和向量運(yùn)算硬件,能對(duì)向量的各個(gè)元素流水地處理。5.按流水線(xiàn)的結(jié)構(gòu)分類(lèi)線(xiàn)性流水-各段串行聯(lián)接,沒(méi)有反饋回路,各段 只經(jīng)過(guò)一次。非線(xiàn)性流水-流水線(xiàn)中除有串行聯(lián)接的通路外.還 有某種反饋回路,使一個(gè)任務(wù)流經(jīng) 流水線(xiàn)時(shí),需要多次經(jīng)過(guò)某個(gè)段或跳過(guò)某些段,稱(chēng)非線(xiàn)性流水。1234+入出圖:非線(xiàn)性流水線(xiàn)6.其它類(lèi)型 可大量采用,用硬件來(lái)實(shí)現(xiàn)復(fù)雜的多維流水線(xiàn),同時(shí)設(shè)多個(gè)方向脈動(dòng)地向前推進(jìn),以進(jìn)一步提高
24、流水的并行處理能力 5.5 流水線(xiàn)相關(guān)及其處理方法相關(guān)概念:相近指令間出現(xiàn)了某種關(guān)聯(lián),使得指令不能提前解釋數(shù)據(jù)相關(guān):本條指令的操作數(shù)地址與前一條指令存放 結(jié)果的地址相同,便出現(xiàn)了前條指令還沒(méi)有 結(jié)果,而后一條指令要求提前取出,造成 錯(cuò)誤。控制相關(guān):由于在轉(zhuǎn)移發(fā)生之前,若干條轉(zhuǎn)移指令的后繼指令已被取到流水線(xiàn)處理機(jī)中,而造成錯(cuò)誤。結(jié)構(gòu)相關(guān):由于硬件資源不足而導(dǎo)致流水線(xiàn)不暢通。流水線(xiàn)處理機(jī)的相關(guān)因?yàn)榱魉€(xiàn)中指令和數(shù)據(jù)要提前取出來(lái),因此相鄰指令之間存在許多關(guān)聯(lián)。5.5.1 數(shù)據(jù)相關(guān)及其處理方法數(shù)據(jù)相關(guān)在執(zhí)行某條指令的過(guò)程中,如果用到的指令、操作數(shù)和變址偏移量等正好是前面指令的執(zhí)行結(jié)果,則必須等待前面指
25、令的執(zhí)行完成,并把結(jié)果寫(xiě)到主存活通用寄存器中之后,當(dāng)前指令才能開(kāi)始執(zhí)行,即不同的指令對(duì)主存操作數(shù)或寄存器存在“先寫(xiě)后讀”的關(guān)聯(lián)。數(shù)據(jù)相關(guān)影響的是本條指令附近的少數(shù)幾條指令,是局部相關(guān)。流水線(xiàn)中的先寫(xiě)后讀相關(guān)分析K執(zhí)行K取指K1分析K1執(zhí)行K1從C中取變址值從C中取操作值取指K若:C是主存地址K和K+1條指令間發(fā)生了主存操作 數(shù)相關(guān)C是通用寄存器號(hào)K和K+1條間發(fā)生通用寄存器 組的數(shù)相關(guān)C是變地址寄存器號(hào)K和K+1條間發(fā)生通用寄存 器的變址值相關(guān)若:第K1條中放的是條指令,而K1條指令的代碼要等第K條指令執(zhí)行結(jié)束后才能形成,則稱(chēng)K和K1條指令間發(fā)生了指令相關(guān)。 以上幾種相關(guān)稱(chēng)為局部相關(guān),因?yàn)樗?/p>
26、多只影響流入流水線(xiàn)中與之相關(guān)的后面幾條指令,使其暫停流動(dòng),并不會(huì)更改指令緩沖器的內(nèi)容,所以說(shuō)影響是局部的。數(shù)據(jù)相關(guān)舉例MUL R4,R2,R3;R2*R3-R4ADD R6,R4,R5;R5+R4-R6FDEWI1:MULI2:ADDI3I4F1D1E1W1F2D2E2W2F3D3E3W3F4D4E4W4tI數(shù)據(jù)相關(guān)I1:add r1,r2,r3I2:sub r4,r1,r5I3:and r6,r7,r1I4:or r8,r1,r9I5:addi r10,r1,100寫(xiě)寄存器堆提前半個(gè)周期,我們只需考慮兩條相關(guān)指令數(shù)據(jù)相關(guān)檢測(cè)方法如何檢測(cè)發(fā)生了數(shù)據(jù)相關(guān)?I1:add r1,r2,r3I2:su
27、b r4,r2,r5I3:and r6,r1,r7真正影響數(shù)據(jù)正確性的數(shù)據(jù)相關(guān)是先寫(xiě)后讀相關(guān)(Read After Write)I1:add r1,r2,r3 I2:sub r4,r1,r5I3:and r6,r7,r1ADDR2,R3ADDR1 SUBR1,R5SUBR4 ANDR7,R1ADDADDR2,R3ADDR1 SUBR2,R5R4 ANDADDR6SUBR1R1,R7I1I R相關(guān)圖檢測(cè)前后兩條指令是否存在下列情況:I1的寫(xiě)和后續(xù)的若干可能相關(guān)的I的讀針對(duì)相同的存儲(chǔ)單元或者寄存器如何解決數(shù)據(jù)相關(guān)?推后法靜態(tài)方法:由編譯程序來(lái)完成檢測(cè)。若發(fā)生數(shù)據(jù)相關(guān),則插入NOP指令I(lǐng)1:add
28、r1,r2,r3 nop nopI2:sub r4,r1,r5I3:and r6,r7,r1I1:add r1,r2,r3I2:sub r4,r2,r5 nopI3:and r6,r7,r1ADDR2,R3ADDR1 NOPNOPNOPNOPSUBR1,R5SUBR4 ANDR1,R7ADDADDR2,R3ADDR1 SUBR2,R5R4 NOPNOPSUBANDADDR6R1,R7R6插入多少個(gè)NOP?動(dòng)態(tài)方法: 由硬件來(lái)完成檢測(cè)。若發(fā)生數(shù)據(jù)相關(guān),則暫停流水線(xiàn)暫停流水線(xiàn)要做3件事情:1、封鎖當(dāng)前正在譯碼的指令的寫(xiě)控制信號(hào);2、不把從存儲(chǔ)器取來(lái)的下一聽(tīng)指令打入IR;3、不改變當(dāng)前的PC值。當(dāng)I
29、2與I1相關(guān),流水線(xiàn)暫停兩個(gè)周期當(dāng)I3與I1相關(guān),流水線(xiàn)暫停一個(gè)周期 以上解決方法都將影響流水線(xiàn)的性能 設(shè)置相關(guān)專(zhuān)用通路法相關(guān)專(zhuān)用通路當(dāng)I1和I2發(fā)生“先讀后寫(xiě)”相關(guān)時(shí),I2指令的讀操作要從存儲(chǔ)單元讀出應(yīng)該由I1 指令寫(xiě)入存儲(chǔ)單元的內(nèi)容,而I1 還來(lái)不及寫(xiě)入。在讀段和寫(xiě)段之間設(shè)置專(zhuān)用通路,I2不從存儲(chǔ)單元讀,而把I1在寫(xiě)段的數(shù)據(jù)直接讀出,可避免I2 推后。避免速度的損失,但增加額外的硬件,只有對(duì)相關(guān)概率高的部件才值得。通用寄存器數(shù)相關(guān)通用寄存器往往作為累加器或保存中間結(jié)果經(jīng)?!氨緱l指令存,下調(diào)指令取”執(zhí)行K第1拍第2拍第3拍第4拍分析K+1(L1)送入B(L2)送入CADD R1,R4,R5;
30、 L3(K)=R1ADD R3,R1,R2; L1(K+1)=R1ADD R2,R4,R5; L3(K)=R1ADD R3,R1,R2; L2(K+1)=R1結(jié)果送入L3通用寄存器相關(guān)專(zhuān)用通路通用寄存器組運(yùn)算器BC相關(guān)專(zhuān)用通路數(shù)據(jù)總線(xiàn)運(yùn)算結(jié)果(直接送入)結(jié)構(gòu)相關(guān)當(dāng)兩個(gè)指令同時(shí)請(qǐng)求使用某個(gè)硬件資源時(shí),一條指令在完成它的執(zhí)行階段或?qū)戨A段時(shí)可能需要訪(fǎng)問(wèn)存儲(chǔ)器,而此時(shí)正有另一條指令在完成取指令。如果指令和數(shù)據(jù)位于同一高速緩存單元,那么只允許有一條指令能夠執(zhí)行,另一條指令將被推遲。I1是LOAD指令,則I1與I4結(jié)構(gòu)相關(guān)單存儲(chǔ)器模塊所構(gòu)成的流水線(xiàn)處理機(jī)-結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān)采用分開(kāi)的CACHE(I-CACH
31、E,D-CACHE)解決結(jié)構(gòu)相關(guān)其他數(shù)據(jù)相關(guān)處理辦法異步流動(dòng)和推測(cè)執(zhí)行5.5.2 控制相關(guān)及處理辦法控制相關(guān)指因各種轉(zhuǎn)移指令(條件分支指令、轉(zhuǎn)子程序指令和中斷等)而引起的相關(guān)。影響范圍較大,屬全局相關(guān)。控制相關(guān)舉例I1:LOAD R1,AI2:LOAD R2,BI3:DEC R2I4:BRZEOR R2,I7I5:LOAD R3,CI6:LOAD R4,DI7:ADD R3,R4I8:ADD R1,R3I1ALOADR1I2BLOADR2I3R2DECR2I4R2BRZEROI7I5CLOADR3I6DLOADR4I7R3,R4ADDR3 由于在轉(zhuǎn)移發(fā)生之前,若干條轉(zhuǎn)移指令的后繼指令已被取到流
32、水線(xiàn)處理機(jī)中,而造成錯(cuò)誤。解決方法:1、暫停流水線(xiàn);2、假定轉(zhuǎn)移不發(fā)生;3、延遲轉(zhuǎn)移轉(zhuǎn)移相關(guān)及解決方法延遲轉(zhuǎn)移法由編譯程序檢測(cè)控制相關(guān)重排指令序列發(fā)生轉(zhuǎn)移時(shí),讓緊跟在轉(zhuǎn)移指令后已進(jìn)入流水線(xiàn)的少數(shù)幾條指令繼續(xù)完成,若這些紙指令是與轉(zhuǎn)移指令結(jié)果無(wú)關(guān)的有用指令,那么延遲損失的時(shí)間可得到有效利用。延遲轉(zhuǎn)移法:重排I1:LOAD R1,AI2:LOAD R2,BI3:DEC R2I4:BRZEOR R2,I7I5:LOAD R3,CI6:LOAD R4,DI7:ADD R3,R4I8:ADD R1,R3I1ALOADR1I2BLOADR2I3R2DECR2I4R2BRZEROI7I5CLOADR3I6D
33、LOADR4I7R3,R4ADDR3I2:LOAD R2,BI3:DEC R2I4:BRZEOR R2,I7I1:LOAD R1,A :NOP :NOPI5:LOAD R3,CI6:LOAD R4,DI7:ADD R3,R4I8:ADD R1,R3重排I1ALOADR1I2BLOADR2I3R2DECR2I4R2BRZEROI7I5CLOADR3I6DLOADR4I7R3,R4ADDR3NOPNOP其它解決辦法:轉(zhuǎn)移預(yù)測(cè)流水機(jī)器的中斷處理 中斷會(huì)引起流水線(xiàn)斷流,但其出現(xiàn)的概率比條件轉(zhuǎn)移引起的斷流概率要低得多,且又是隨機(jī)發(fā)生的。所以,流水線(xiàn)機(jī)器處理中斷主要是如何處理好斷點(diǎn)現(xiàn)場(chǎng)的保存和恢復(fù)。中斷處
34、理方法不精確斷點(diǎn)法-不論指令i在流水線(xiàn)的哪一段 發(fā)生了中斷,都不再允許尚 未進(jìn)入流水線(xiàn)的后續(xù)指令再 進(jìn)入,但將已進(jìn)入的指令執(zhí) 行完,轉(zhuǎn)入中斷處理。精確斷點(diǎn)法-不論指令i是在流水線(xiàn)的哪一段, 響應(yīng)中斷時(shí)中斷處理程序的現(xiàn) 場(chǎng)全都對(duì)i的,i之后流入流水線(xiàn) 的指令的原有現(xiàn)場(chǎng)都能恢復(fù)。 不精確斷點(diǎn)法不便于編程和程序排錯(cuò);精確斷點(diǎn)法需設(shè)置很多后援寄存器。(這些寄存器也是“指令復(fù)執(zhí)”所必須的,并不需要另設(shè))5.6 流水線(xiàn)調(diào)度線(xiàn)性流水 在執(zhí)行每個(gè)任務(wù)的過(guò)程中,各段均只通過(guò)一次,每拍都可將一個(gè)新任務(wù)送入流水線(xiàn),這些任務(wù)不會(huì)爭(zhēng)用同一段。可采用指令序列重排。非線(xiàn)性流水 因段間有反饋回路,一個(gè)任務(wù)在流水的全過(guò)程中,可
35、能會(huì)多次通過(guò)同段。若每拍向流水線(xiàn)送入一個(gè)新的任務(wù)就會(huì)發(fā)生幾個(gè)任務(wù)爭(zhēng)用一功能段的沖突現(xiàn)象。5.6.1 指令序列重排通過(guò)編譯器判斷潛在的數(shù)據(jù)相關(guān),重新安排指令序列,拉開(kāi)具有數(shù)據(jù)相關(guān)的指令距離。原指令序列I1:LOAD R1,M(A)I2:LOAD R2,M(B)I3:MUL R5,R1,R2I4:LOAD R3,M(C)I5:LOAD R4,M(D)I6:ADD R2,R3,R4I7:ADD R2,R2,R5取指F譯碼D發(fā)射I執(zhí)行E執(zhí)行E執(zhí)行E寫(xiě)回W7段流水線(xiàn)FDIEEEWFDIEEEWFDIEEEWFDIEEEWFDIEEEWFDIEEEWFDIEEEWtII1I2I3I4I5I6I7AB+CD
36、三拍的執(zhí)行段T=22拍重排后指令序列I1:LOAD R1,M(A)I2:LOAD R2,M(B)I4:LOAD R3,M(C)I5:LOAD R4,M(D)I3:MUL R5,R1,R2I6:ADD R2,R3,R4I7:ADD R2,R2,R5取指F譯碼D發(fā)射I執(zhí)行E執(zhí)行E執(zhí)行E寫(xiě)回W7段流水線(xiàn)FDIEEEWFDIEEEWtIFDIEEEWFDIEEEWFDIEEEWFDIEEEWFDIEEEWI1I2I4I5I3I6I7T=18拍5.6.2 非線(xiàn)性流水線(xiàn)調(diào)度流水線(xiàn)調(diào)度對(duì)單功能非線(xiàn)性流水線(xiàn)和多功能動(dòng)態(tài)流水線(xiàn)很重要。使用一個(gè)二維的預(yù)約表能對(duì)進(jìn)入流水線(xiàn)的任務(wù)進(jìn)行優(yōu)化,每個(gè)任務(wù)通過(guò)流水線(xiàn)需要N拍。
37、利用類(lèi)似時(shí)一空?qǐng)D的方法可以得到該任務(wù)使用流水線(xiàn)各段的時(shí)間關(guān)系表,其中拍號(hào)n為任務(wù)經(jīng)過(guò)流水線(xiàn)的時(shí)鐘節(jié)拍號(hào)。如果任務(wù)在第n拍要用到第K段,就在相應(yīng)第n例和第k行的交點(diǎn)處用表示。現(xiàn)設(shè)流水線(xiàn)段號(hào)K為15,任務(wù)經(jīng)流水線(xiàn)需9拍。54321987654321拍號(hào)n單功能流水線(xiàn)預(yù)約表段號(hào)k98765432154321987654321調(diào)度方法平均間隔拍數(shù)(2,2,7)(2,7)(3,4)(3,4,7)(3,7)(4,3,7)(4,7)(7)367450350467500467550700各種調(diào)度方法的平均間隔拍數(shù)舉例* 只要按流水線(xiàn)狀態(tài)圖中任何一個(gè)循環(huán)通路來(lái)進(jìn)行流水線(xiàn)的調(diào)度,不會(huì)發(fā)生功能段使用沖突。*找出其中
38、之最小者就是流水線(xiàn)各后繼任務(wù)流水流水線(xiàn)所用間隔的最佳調(diào)度。 可以用一個(gè)N-1位的位向量來(lái)表示后繼新任務(wù)間隔各種不同拍數(shù)送入流水線(xiàn)時(shí),是否會(huì)發(fā)生功能段使用的沖突,稱(chēng)此位向量為沖突向量 沖突向量(CN-1 CIC2 C1 )中第I位的狀態(tài)表示與當(dāng)時(shí)相隔I拍給流水線(xiàn)送入后繼任務(wù)是否會(huì)發(fā)生功能段的使用沖突.如果不發(fā)生沖突,令該位為“0”,表示允許送入;否則,讓該位為“1”,表示禁止送入。 沖突向量取N-1位是因?yàn)榻?jīng)N拍后,任務(wù)已流出流水線(xiàn),不會(huì)與后繼任務(wù)爭(zhēng)用流水線(xiàn)功能段j。 只要按流水線(xiàn)狀態(tài)轉(zhuǎn)移圖中任何一個(gè)循環(huán)通路來(lái)進(jìn)行流水線(xiàn)的調(diào)度,都不會(huì)發(fā)生功能段使用沖突。現(xiàn)尋找一種最佳的調(diào)度策略,以便使流水線(xiàn)的吞
39、吐率最高。需要分別計(jì)算出每種調(diào)度法的平均間隔拍數(shù),然后找出其中之最小者,就是流水線(xiàn)各后繼任務(wù)流水線(xiàn)所用間隔的最佳調(diào)度。5.7 超標(biāo)量流水處理機(jī) 假設(shè)一條指令包含取指令、譯碼、執(zhí)行、存結(jié)果四個(gè)過(guò)程,每個(gè)子過(guò)程經(jīng)過(guò)時(shí)間為t期間解釋完一條指令,如圖所示。執(zhí)行完12條指令共需15 t的時(shí)間。稱(chēng)這種 流水機(jī)度m為1。1234567891011取指譯碼執(zhí)行存結(jié)果部件0時(shí)間t12123456789101112123456789101112123456789101112123456789101112131415圖:常規(guī)(度m=1)的標(biāo)量流水機(jī)時(shí)空?qǐng)D 超標(biāo)量處理機(jī)則是采用多條指令流水線(xiàn),每個(gè)t同時(shí)流出m條指令(
40、稱(chēng)度為m)。例如,度m為3的超標(biāo)量處理機(jī)的流水時(shí)空?qǐng)D如下圖所示,每三條指令為一組,執(zhí)行完12條指令只需7t。14710235612354981112781011129614710118523691214710111289562301234567123123123123存結(jié)果 執(zhí)行 譯碼取指時(shí)間t圖:度 m3 的 超 標(biāo) 量 處 理 機(jī) 時(shí)空 圖性能對(duì)分析加速比 在超標(biāo)量流水線(xiàn)處理機(jī)中,配置多套功能部件、指令譯碼電路和多組總線(xiàn),并且寄存器也備有多個(gè)端口和多組總線(xiàn)。程序運(yùn)行時(shí),由指令譯碼部件檢測(cè)順序取出的幾條指令之間是否存在數(shù)據(jù)相關(guān)和功能部件爭(zhēng)用,將可以并行的相鄰指令送往流水線(xiàn)。若并行度為1時(shí)就逐
41、條執(zhí)行。超級(jí)標(biāo)量流水機(jī)主要靠編譯程序來(lái)優(yōu)化編排指令的執(zhí)行順序,將能并行為指令搭配成組,硬件不對(duì)指令順序進(jìn)行調(diào)整,這樣,實(shí)現(xiàn)起來(lái)相對(duì)容易些。 超級(jí)標(biāo)量流水處理機(jī)非常適合于求解像稀疏向量、矩陣這類(lèi)復(fù)雜的標(biāo)量計(jì)算問(wèn)題,因?yàn)檫@類(lèi)問(wèn)題用向量流水線(xiàn)處理機(jī)求解很不方便。超標(biāo)量流水處理機(jī)的典型結(jié)構(gòu)主存D-CACHED-CACHE譯碼器指令調(diào)度部件狀態(tài)記錄部件存儲(chǔ)操作部件ALU轉(zhuǎn)移控制部件寄存器堆常見(jiàn)超標(biāo)量流水處理機(jī)Intel :i860/i960/PentiumMotolora :MC88110IBM :Power 6000Sun: SuperSPARC5.8 超流水線(xiàn)處理機(jī)通過(guò)將流水線(xiàn)中的每一級(jí)再細(xì)分,使得
42、在一個(gè)時(shí)鐘周期內(nèi)能夠分時(shí)發(fā)射多條指令。超流水線(xiàn)處理機(jī)不同于超標(biāo)量處理機(jī)和VLIW處理機(jī),每個(gè)t仍只流出一條指令,但它的t值小,一臺(tái)度為m的超流水線(xiàn)處理機(jī)的t只是基本機(jī)器周期的t的1/m。因此,一條指令需花kmt的時(shí)間,k為一條指令所含的基本機(jī)器周期數(shù)。只要流水線(xiàn)性能得以充分發(fā)揮,其并行度就可達(dá)m。下圖給出了度m=3的超流水線(xiàn)處理機(jī)工作的時(shí)空?qǐng)D。14710258111296314710118521296310741118521296310741118521296312312312312312345678 時(shí)間 t t t取指譯碼執(zhí)行存結(jié)果部件 t每流出一條指令,且度m 3 的超流水線(xiàn)處理機(jī)時(shí)空?qǐng)DILP=3:每個(gè)時(shí)鐘周期,發(fā)射3條指令(每隔1/3時(shí)鐘周期,發(fā)射1條指令) 超流水線(xiàn)處理機(jī)早就出現(xiàn)了,如CRAY1的定點(diǎn)加法為 3t。1991年2月MIPS公司的64位RESC計(jì)算機(jī)R4000,度m=3。超流水線(xiàn)還可以與超標(biāo)量組合構(gòu)成超流水線(xiàn)超標(biāo)量處理機(jī),如DEC公司早期的Alpha處理機(jī)每t可流出兩條指令且度m=6。 超標(biāo)量處理機(jī)利用資源重復(fù),設(shè)置多個(gè)執(zhí)行部件寄存器堆端口。超流水線(xiàn)處理機(jī)則著重開(kāi)發(fā)時(shí)間并行性,在公共的硬部件上采用較短的時(shí)鐘周期,深度流水來(lái)提高速度
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年黃金租賃合同
- 2024版臨時(shí)資料管理員崗位聘用合同書(shū)版
- 2025年冀教版八年級(jí)物理下冊(cè)階段測(cè)試試卷
- 2025年中圖版高二化學(xué)下冊(cè)階段測(cè)試試卷含答案
- 2024年洗衣店商用租賃協(xié)議詳細(xì)版版
- 2025年蘇科新版六年級(jí)英語(yǔ)下冊(cè)月考試卷
- 2025年粵教版八年級(jí)物理上冊(cè)月考試卷
- 2025年蘇教版八年級(jí)科學(xué)下冊(cè)階段測(cè)試試卷
- 2025年人教新起點(diǎn)選修5化學(xué)下冊(cè)階段測(cè)試試卷含答案
- 柳州2024年廣西柳州市自然資源調(diào)查和保護(hù)中心招聘筆試歷年典型考點(diǎn)(頻考版試卷)附帶答案詳解
- 2025年度杭州市固廢處理與資源化利用合同3篇
- 數(shù)字孿生產(chǎn)業(yè)發(fā)展及軌道交通領(lǐng)域的應(yīng)用研究
- 2024年中學(xué)總務(wù)處工作總結(jié)
- 手術(shù)室各級(jí)人員培訓(xùn)
- 教育部中國(guó)特色學(xué)徒制課題:基于中國(guó)特色學(xué)徒制的新形態(tài)教材建設(shè)與應(yīng)用研究
- 2025年護(hù)理質(zhì)量與安全管理工作計(jì)劃
- (T8聯(lián)考)2025屆高三部分重點(diǎn)中學(xué)12月第一次聯(lián)考評(píng)物理試卷(含答案詳解)
- 工程施工揚(yáng)塵防治教育培訓(xùn)
- 紅薯采購(gòu)合同模板
- 2023年河南省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 山西省太原市重點(diǎn)中學(xué)2025屆物理高一第一學(xué)期期末統(tǒng)考試題含解析
評(píng)論
0/150
提交評(píng)論