L1-多周期數(shù)據(jù)通路_第1頁(yè)
L1-多周期數(shù)據(jù)通路_第2頁(yè)
L1-多周期數(shù)據(jù)通路_第3頁(yè)
L1-多周期數(shù)據(jù)通路_第4頁(yè)
L1-多周期數(shù)據(jù)通路_第5頁(yè)
已閱讀5頁(yè),還剩65頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

高小鵬gxp@北京航空航天大學(xué)計(jì)算機(jī)學(xué)院2015年7月1多周期數(shù)據(jù)通路、RTL、時(shí)序分析2015年計(jì)算機(jī)組成研討班多周期CPU形式建模綜合方法目錄從單周期到多周期多周期處理器基本結(jié)構(gòu)功能部件建模RTL(RegisterTransferLanguage)基于RTL的時(shí)序分析2種數(shù)據(jù)通路設(shè)計(jì)對(duì)比分析2單周期數(shù)據(jù)通路的5個(gè)邏輯步驟從邏輯上:數(shù)據(jù)通路總共為5個(gè)邏輯步驟公共步驟:取指令、譯碼/讀操作數(shù)所有指令均必須經(jīng)歷的2個(gè)步驟PC指令存儲(chǔ)器+4RegisterFilertrsrdALU數(shù)據(jù)存儲(chǔ)器immMUX取指令I(lǐng)FPC驅(qū)動(dòng)IM讀取指令譯碼/讀操作數(shù)DCD/RF譯碼屬于控制器范疇,但可以與讀操作數(shù)并行執(zhí)行EXEALU完成算數(shù)/邏輯運(yùn)算訪存MEM讀DM或?qū)慏M回寫WBALU計(jì)算結(jié)果或IM讀出數(shù)據(jù)寫入寄存器堆1.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WB運(yùn)算類指令:理想執(zhí)行過(guò)程(R-R)指令:ADD、SUB、OR。。。需求:R[rd]

R[rs]opR[rt]過(guò)程:取指、譯碼/讀寄存器、執(zhí)行、訪存、回寫PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXopcodefunctrsrtrdshamt3101.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WBX分支類指令:理想執(zhí)行過(guò)程指令:BEQ、。。。需求:PC

條件?PC+Ext(Imm):PC+4過(guò)程:取指、譯碼/讀寄存器、執(zhí)行、訪存、回寫PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXopcodersrtimmediate3101.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.計(jì)算EXE4.訪存MEM5.回寫WBXX跳轉(zhuǎn)指令:理想執(zhí)行過(guò)程指令:J需求:PC

PC[31:28]||target_address||00過(guò)程:取指、譯碼/讀寄存器、執(zhí)行、訪存、回寫PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUXopcodetargetaddress3101.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WBXX讀存儲(chǔ)指令:理想執(zhí)行過(guò)程指令:LW需求:GPR[rt]←memory[GPR[base]+offset]過(guò)程:取指、譯碼/讀寄存器、執(zhí)行、訪存、回寫PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUX1.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WB寫存儲(chǔ)指令:理想執(zhí)行過(guò)程指令:SW需求:memory[GPR[base]+offset]←GPR[rt]過(guò)程:取指、譯碼/讀寄存器、執(zhí)行、訪存、回寫PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUX1.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WBX物理執(zhí)行路徑vs.理想執(zhí)行過(guò)程2個(gè)現(xiàn)象現(xiàn)象1:不同指令的理想執(zhí)行過(guò)程不同現(xiàn)象2:所有指令都有前3個(gè)階段前2階段完全相同;第3階段功能有差異啟示不同指令的理想執(zhí)行過(guò)程不同,即理想執(zhí)行時(shí)間不同不同指令能否具有不同物理執(zhí)行路徑,以對(duì)應(yīng)理想執(zhí)行過(guò)程?IFDCD/RFEXEMEMWB計(jì)算分支跳轉(zhuǎn)讀存儲(chǔ)寫存儲(chǔ)單周期數(shù)據(jù)通路的缺陷模型:PC組合邏輯寄存器堆單一組合邏輯實(shí)現(xiàn)了全部5個(gè)階段的邏輯功能必然存在關(guān)鍵路徑,且關(guān)鍵路徑導(dǎo)致每條指令延遲均相同結(jié)論:無(wú)法利用不同指令具有不同執(zhí)行需求的潛在特性PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUX目錄從單周期到多周期多周期處理器基本結(jié)構(gòu)功能部件建模RTL(RegisterTransferLanguage)基于RTL的時(shí)序分析2種數(shù)據(jù)通路設(shè)計(jì)對(duì)比分析多周期數(shù)據(jù)通路構(gòu)思單周期的單一路徑被物理上切分為多段路徑在數(shù)據(jù)通路上插入多個(gè)寄存器單一組合邏輯被切分為多段組合邏輯單一關(guān)鍵路徑的大延遲變?yōu)槎鄠€(gè)分段路徑的小延遲PCinstructionmemory+4RegisterFilertrsrdALUDatamemoryimmMUX12345基礎(chǔ)多周期數(shù)據(jù)通路支持7條指令A(yù)DDU、SUBU、ORI、LW、SW、BEQ、JALPC計(jì)算完成與PC相關(guān)的一切計(jì)算PC+4;PC+imm16;PC+imm26指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]ABALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC261F012M1數(shù)據(jù)寄存器012寄存器堆A1A2A3WDRD1RD2123451.取指令I(lǐng)F2.譯碼/讀操作數(shù)DCD/RF3.執(zhí)行EXE4.訪存MEM5.回寫WB分段的數(shù)據(jù)通路5個(gè)分段:對(duì)應(yīng)指令所需5個(gè)可能環(huán)節(jié)分段結(jié)構(gòu):R-C-R(寄存器-組合邏輯-寄存器)以寄存器讀出為起始,中間可以包括組合邏輯計(jì)算14分段通路段內(nèi)平行功能起始(讀寄存器)中間邏輯結(jié)束(寫寄存器)依賴讀取指令PCIMIR讀操作數(shù)讀2個(gè)寄存器IRRFA/B讀取指令讀1個(gè)寄存器,立即數(shù)擴(kuò)展A(/B),EXT執(zhí)行R-R運(yùn)算A,BALUALUOut讀操作數(shù)R-I運(yùn)算A,EXT訪存讀存儲(chǔ)ALUOutDMDR執(zhí)行執(zhí)行寫存儲(chǔ)ALUOut,BDM回寫存儲(chǔ)回寫DRRF讀存儲(chǔ)@訪存計(jì)算回寫ALUOutRF執(zhí)行多周期數(shù)據(jù)通路特點(diǎn):功能劃分功能聚集:相近功能屬于同一分段讀操作數(shù):讀取RF、立即數(shù)擴(kuò)展執(zhí)行:各類算數(shù)/邏輯運(yùn)算訪存:讀存儲(chǔ)、寫存儲(chǔ)回寫:ALU計(jì)算回寫、讀存儲(chǔ)器回寫組裝特點(diǎn):根據(jù)不同指令需求,靈活組合分段不同指令執(zhí)行,占用不同的功能單元很好的映射不同指令的理想執(zhí)行過(guò)程階段1(讀取指令):公共階段,必須有階段2(讀操作數(shù)):公共階段,必須有15多周期數(shù)據(jù)通路特點(diǎn):功能執(zhí)行段內(nèi)執(zhí)行:每段1個(gè)Cycle,數(shù)據(jù)~處理~保存數(shù)據(jù)(讀出):前級(jí)寄存器的輸出處理(邏輯):由本段內(nèi)的組合邏輯完成,如ALU保存(寫入):處理的結(jié)果寫入后級(jí)寄存器段間執(zhí)行:存在邏輯依賴關(guān)系前段沒(méi)有執(zhí)行,后段執(zhí)行無(wú)意義注意:不是不能執(zhí)行,而是執(zhí)行結(jié)果無(wú)意義例如:指令不讀入IR,讀操作數(shù)就沒(méi)有意義!整體執(zhí)行:多少個(gè)分段,多少個(gè)cycle與控制器很好的匹配(后面介紹)16ADDU指令的多周期數(shù)據(jù)通路:IF階段加載指令:讀取IM,寫入IR(指令寄存器)更新PC:PCPC+4指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]ADDUSUBULWSWORILUIBEQJALPC計(jì)算PCIMMNPCTIP:PC需要寫使能與單周期不同了!ADDU指令的多周期數(shù)據(jù)通路:DCD/RF階段讀取操作數(shù):GPRA、BA、B:分別存儲(chǔ)寄存器文件的2個(gè)輸出指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBULWSWORILUIBEQJALPC計(jì)算PCIMMNPCADDU指令的多周期數(shù)據(jù)通路:EXE階段存儲(chǔ)計(jì)算結(jié)果ALU計(jì)算結(jié)果存儲(chǔ)在ALUOut寄存器指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBULWSWORILUIBEQJALALUZeroOvALU結(jié)果ALUOutPC計(jì)算PCIMMNPCADDU指令的多周期數(shù)據(jù)通路:WB階段回寫寄存器ALUOut存儲(chǔ)的計(jì)算結(jié)果寫入對(duì)應(yīng)的寄存器指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBULWSWORILUIBEQJALALUZeroOvALU結(jié)果ALUOutPC計(jì)算PCIMMNPCORI指令的多周期數(shù)據(jù)通路ORIR[rt]R[rs]|zero_ext(Imm16);增加硬件:零擴(kuò)展單元、MUX指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBUORILWSWBEQJALALUZeroOvALU結(jié)果ALUOut160擴(kuò)展3201PC計(jì)算PCIMMNPC01M1LW指令的多周期數(shù)據(jù)通路LOADR[rt]MEM[R[rs]+sign_ext(Imm16)]增加硬件:數(shù)據(jù)存儲(chǔ)器、數(shù)據(jù)寄存器、擴(kuò)展單元、MUX擴(kuò)展單元:包括零擴(kuò)展功能和符合擴(kuò)展功能指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBUORILWSWBEQJALALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteData01PC計(jì)算PCIMMNPC01M1SW指令的多周期數(shù)據(jù)通路STOREMEM[R[rs]+sign_ext(Imm16)]R[rt];

增加硬件:連接線從B寄存器至數(shù)據(jù)存儲(chǔ)器的指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBUORILWSWBEQJALALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteData01PC計(jì)算PCIMMNPC01M1BEQ指令的多周期數(shù)據(jù)通路PC(R[rs]=R[rt])?PC+sign_ext(imm16):PC+4增加硬件:連接線從IM[15:0]至PC計(jì)算單元指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBUORILWSWBEQJALALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteData01PC計(jì)算PCIMMNPC01M1JAL指令的多周期數(shù)據(jù)通路PCPC[31:28]||Imm26||00;R[31]PC增加硬件:連接線從IM[15:0]至PC計(jì)算單元指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBUORILWSWBEQJALALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC0121F012M1多周期數(shù)據(jù)通路ADDUSUBUORILWSWBEQJAL增加硬件IR:指令寄存器A/B:操作數(shù)寄存器ALUOut:計(jì)算結(jié)果寄存器DR:數(shù)據(jù)寄存器指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC0121F012M1PC不變?IR不變?分析的要點(diǎn)指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC0121F012M1ADDUSUBUORILWSWBEQJALFETCHD/REXEWBADDU地址PC+4上條指令A(yù)DDU上條指令操作數(shù)執(zhí)行上條指令上條指令結(jié)果XXXX階段PCIRA/BExtALUALUOutDRGPRXXXXXXXXFETCH~~~~~~~~~123456上條指令操作數(shù)執(zhí)行上條指令上條指令結(jié)果XXXXXXXXXXXX2源操作數(shù)計(jì)算結(jié)果上條指令結(jié)果XXXXXXXXPC+4ADDUXXXX2源操作數(shù)計(jì)算結(jié)果計(jì)算結(jié)果XXXXXXXXPC+4ADDUXXXX2源操作數(shù)計(jì)算結(jié)果計(jì)算結(jié)果計(jì)算結(jié)果XXXXPC+4ADDUXXXX指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ADDUSUBUORILWSWBEQJALALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPCPC+4012261F012M1FETCHD/REXEWBADDU地址PC+4上條指令A(yù)DDU上條指令2源操作數(shù)2源操作數(shù)執(zhí)行上條指令計(jì)算結(jié)果上條指令計(jì)算結(jié)果計(jì)算結(jié)果XXXX計(jì)算結(jié)果階段PCIRA/BExtALUALUOutDRGPRXXXXXXXXFETCH~~~~~~~~~123456ADDUSUBUORILWSWBEQJALFETCHD/REXEWBADDU地址PC+4上條指令A(yù)DDU上條指令2源操作數(shù)2源操作數(shù)執(zhí)行上條指令計(jì)算上條指令計(jì)算結(jié)果計(jì)算結(jié)果XXXX計(jì)算結(jié)果階段PCIRA/BExtALUALUOutDRGPRXXXXXXXXFETCH~~~~~~~~~123456取指FETCHDCD/RFEXEWBFETCHPCIMIRA/BExtALUALUOutDMDRGPR指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC0121F012M1ADDUSUBUORILWSWBEQJALFETCHD/REXEWBADDU地址PC+4上條指令A(yù)DDU上條指令2源操作數(shù)2源操作數(shù)執(zhí)行上條指令計(jì)算上條指令計(jì)算結(jié)果計(jì)算結(jié)果XXXX計(jì)算結(jié)果階段PCIRA/BExtALUALUOutDRGPRXXXXXXXXFETCH~~~~~~~~~123456取指FETCHDCD/RFEXEWBFETCHPCADDU地址IM輸出ADDUIR舊指令A(yù)/B舊操作數(shù)Ext無(wú)效擴(kuò)展ALU執(zhí)行前指令A(yù)LUOut前結(jié)果DM無(wú)效數(shù)據(jù)DR無(wú)效數(shù)據(jù)GPR舊值輸出指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC0121F012M1ADDUSUBUORILWSWBEQJALFETCHD/REXEWBADDU地址PC+4上條指令A(yù)DDU上條指令2源操作數(shù)2源操作數(shù)執(zhí)行上條指令計(jì)算上條指令計(jì)算結(jié)果計(jì)算結(jié)果XXXX計(jì)算結(jié)果階段PCIRA/BExtALUALUOutDRGPRXXXXXXXXFETCH~~~~~~~~~123456譯碼/

讀寄存器FETCHDCD/RFEXEWBFETCHPCADDU地址PC+4IM輸出ADDU指令[PC+4]IR舊指令A(yù)DDUA/B舊操作數(shù)舊操作數(shù)Ext無(wú)效擴(kuò)展無(wú)效擴(kuò)展ALU執(zhí)行前指令執(zhí)行前指令A(yù)LUOut前結(jié)果前結(jié)果DM無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)DR無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)GPR舊值輸出新值輸出指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC0121F012M1ADDUSUBUORILWSWBEQJALFETCHD/REXEWBADDU地址PC+4上條指令A(yù)DDU上條指令2源操作數(shù)2源操作數(shù)執(zhí)行上條指令計(jì)算上條指令計(jì)算結(jié)果計(jì)算結(jié)果XXXX計(jì)算結(jié)果階段PCIRA/BExtALUALUOutDRGPRXXXXXXXXFETCH~~~~~~~~~123456執(zhí)行FETCHDCD/RFEXEWBFETCHPCADDU地址PC+4PC+4IM輸出ADDU指令[PC+4]指令[PC+4]IR舊指令A(yù)DDUADDUA/B舊操作數(shù)舊操作數(shù)新操作數(shù)Ext無(wú)效擴(kuò)展無(wú)效擴(kuò)展無(wú)效擴(kuò)展ALU執(zhí)行前指令執(zhí)行前指令計(jì)算ALUOut前結(jié)果前結(jié)果前結(jié)果DM無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)DR無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)GPR舊值輸出新值輸出新值輸出指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC0121F012M1ADDUSUBUORILWSWBEQJALFETCHD/REXEWBADDU地址PC+4上條指令A(yù)DDU上條指令2源操作數(shù)2源操作數(shù)執(zhí)行上條指令計(jì)算上條指令計(jì)算結(jié)果計(jì)算結(jié)果XXXX計(jì)算結(jié)果階段PCIRA/BExtALUALUOutDRGPRXXXXXXXXFETCH~~~~~~~~~123456寫回FETCHDCD/RFEXEWBFETCHPCADDU地址PC+4PC+4PC+4IM輸出ADDU指令[PC+4]指令[PC+4]指令[PC+4]IR舊指令A(yù)DDUADDUADDUA/B舊操作數(shù)舊操作數(shù)新操作數(shù)新操作數(shù)Ext無(wú)效擴(kuò)展無(wú)效擴(kuò)展無(wú)效擴(kuò)展無(wú)效擴(kuò)展ALU執(zhí)行前指令執(zhí)行前指令計(jì)算結(jié)果計(jì)算結(jié)果ALUOut前結(jié)果前結(jié)果前結(jié)果計(jì)算結(jié)果DM無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)DR無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)GPR舊值輸出新值輸出新值輸出新值輸出指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC0121F012M1ADDUSUBUORILWSWBEQJALFETCHD/REXEWBADDU地址PC+4上條指令A(yù)DDU上條指令2源操作數(shù)2源操作數(shù)執(zhí)行上條指令計(jì)算上條指令計(jì)算結(jié)果計(jì)算結(jié)果XXXX計(jì)算結(jié)果階段PCIRA/BExtALUALUOutDRGPRXXXXXXXXFETCH~~~~~~~~~123456最終

寫入FETCHDCD/RFEXEWBFETCHPCADDU地址PC+4PC+4PC+4PC+4IM輸出ADDU指令[PC+4]指令[PC+4]指令[PC+4]指令[PC+4]IR舊指令A(yù)DDUADDUADDUADDUA/B舊操作數(shù)舊操作數(shù)新操作數(shù)新操作數(shù)新操作數(shù)Ext無(wú)效擴(kuò)展無(wú)效擴(kuò)展無(wú)效擴(kuò)展無(wú)效擴(kuò)展無(wú)效擴(kuò)展ALU執(zhí)行前指令執(zhí)行前指令計(jì)算結(jié)果計(jì)算結(jié)果計(jì)算結(jié)果ALUOut前結(jié)果前結(jié)果前結(jié)果計(jì)算結(jié)果計(jì)算結(jié)果DM無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)DR無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)GPR舊值輸出新值輸出新值輸出新值輸出輸出/更新指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC0121F012M1ADDUSUBUORILWSWBEQJALFETCHD/REXEWBADDU地址PC+4上條指令A(yù)DDU上條指令2源操作數(shù)2源操作數(shù)執(zhí)行上條指令計(jì)算上條指令計(jì)算結(jié)果計(jì)算結(jié)果XXXX計(jì)算結(jié)果階段PCIRA/BExtALUALUOutDRGPRXXXXXXXXFETCH~~~~~~~~~123456最終

寫入FETCHDCD/RFEXEWBFETCHPCADDU地址PC+4PC+4PC+4PC+4IM輸出ADDU指令[PC+4]指令[PC+4]指令[PC+4]指令[PC+4]IR舊指令A(yù)DDUADDUADDUADDUA/B舊操作數(shù)舊操作數(shù)新操作數(shù)新操作數(shù)新操作數(shù)Ext無(wú)效擴(kuò)展無(wú)效擴(kuò)展無(wú)效擴(kuò)展無(wú)效擴(kuò)展無(wú)效擴(kuò)展ALU執(zhí)行前指令執(zhí)行前指令計(jì)算結(jié)果計(jì)算結(jié)果計(jì)算結(jié)果ALUOut前結(jié)果前結(jié)果前結(jié)果計(jì)算結(jié)果計(jì)算結(jié)果DM無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)DR無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)無(wú)效數(shù)據(jù)GPR舊值輸出新值輸出新值輸出新值輸出輸出/更新指令存儲(chǔ)器AddrDataPC指令寄存器指令[31:26]指令[25:21]指令[20:16]指令[15:0]AB寄存器堆ReadReg1ReadReg2WriteRegWriteDataReadData1ReadData2ALUZeroOvALU結(jié)果ALUOut16擴(kuò)展3201數(shù)據(jù)寄存器數(shù)據(jù)存儲(chǔ)器AddrReadDataWriteDataPC計(jì)算PCIMMNPC0121F012M1功能部件及其控制信號(hào)使用約束注意時(shí)鐘沿與狀態(tài)間的關(guān)系寄存器的值:clock正邊沿前準(zhǔn)備,正邊沿寫入PC是發(fā)動(dòng)機(jī)、IR是離合器PC不變:IM不變IR不變:A/B、EXT、ALU、ALUOut、DM、DR均不變PC、IR、RF、DM:需要寫使能PCWr/IRWr/RFWr/DMWr:只能在特定時(shí)間有效!其他時(shí)間則必須無(wú)效!A/B、ALUOut、DR:不需要寫使能隨時(shí)可寫目錄從單周期到多周期多周期處理器基本結(jié)構(gòu)功能部件建模RTL(RegisterTransferLanguage)基于RTL的時(shí)序分析2種數(shù)據(jù)通路設(shè)計(jì)對(duì)比分析38功能部件數(shù)據(jù)通路是以功能部件為基礎(chǔ)構(gòu)造的數(shù)據(jù)通路:系統(tǒng)功能部件:子系統(tǒng)構(gòu)造數(shù)據(jù)通路S0:以功能部件為基礎(chǔ)S1:給出執(zhí)行每條指令所需部件的連接關(guān)系S2:綜合出執(zhí)行指令集所需部件的連接關(guān)系功能部件建模外部特性:數(shù)據(jù)通路設(shè)計(jì)關(guān)心的內(nèi)部實(shí)現(xiàn):基本與數(shù)據(jù)通路設(shè)計(jì)無(wú)關(guān)39功能部件建模:PC程序計(jì)數(shù)器功能與控制PCWr決定寫入40輸入NPC[32:0]PCWr,Clk,RST輸出PC[31:2]數(shù)據(jù)結(jié)構(gòu)addr,30位寄存器行為功能操作計(jì)數(shù)輸出PCaddr異步復(fù)位ifRSTthenaddr32’h40000同步加載Clk上升沿時(shí):ifPCWrthenaddrNPC功能部件建模:IM數(shù)據(jù)寬度:32位存儲(chǔ)容量:可以任意大仿真:不超過(guò)1K字為宜功能與控制無(wú)需控制,數(shù)據(jù)經(jīng)過(guò)的固定延遲后輸出41輸入AIn[31:0]輸出DO[31:0]數(shù)據(jù)結(jié)構(gòu)Mem為32位×XX字的只讀存儲(chǔ)器行為功能操作數(shù)據(jù)輸出DOMem[AIn]功能部件建模:寄存器堆功能與控制讀出:不需要控制寫入:RFWr為142寄存器堆A1A2A3WDRD1RD2輸入A1[4:0]、A2[4:0]、A3[4:0]、WD[31:0]RFWr、Clk輸出RD1[31:0]、RD2[31:0]數(shù)據(jù)結(jié)構(gòu)RF[0..31],32個(gè)32位寄存器行為功能操作讀出寄存器值RD1RF[A1];RD2RF[A2]寫入寄存器值Clk上升沿時(shí)if(RFWr)thenRF[A3]WD功能部件建模:ALU功能與控制ALUOp[3:0]決定執(zhí)行何種計(jì)算Zero:判斷A是否等于B43輸入A[31:0],B[31:0],ALUOp[3:0]輸出C[31:0],Zero行為ALUOp功能操作----A等于B?Zero(A==B)?1:00000加CA+B0001減CA–B0010與CA&B0011或CA|B0100異或CA^B.........ALUZeroALU結(jié)果功能部件建模:DM數(shù)據(jù)寬度:32位存儲(chǔ)容量:可以任意大仿真:不超過(guò)1K字為宜功能與控制讀出:不需要控制寫入:DMWr為144輸入AIn[31:0];WD[31:0]DMWr;Clk輸出DO[31:0]數(shù)據(jù)結(jié)構(gòu)Mem為32位×XX字的存儲(chǔ)器行為功能描述讀存儲(chǔ)DO

Mem[AIn]寫存儲(chǔ)Clk上升沿時(shí)ifDMWrthenMem[AIn]WD功能部件建模:NPC計(jì)算下條指令的地址功能與控制NPCOp[1:0]決定如何計(jì)算PC45輸入PC[31:2],Imm[25:0]NPCOp[1:0]輸出NPC[31:2]行為NPCOp功能操作00順序地址NPCPC+401計(jì)算B指令轉(zhuǎn)移地址NPCPC+sign_ext(imm16)||0010計(jì)算J類指令轉(zhuǎn)移地址NPCPC[31:28]||imm26||0011......功能部件建模:EXT立即數(shù)擴(kuò)展功能與控制EXTOp[1:0]決定如何擴(kuò)展46輸入Imm16[15:0]EXTOp[1:0]輸出Imm32[31:0]行為EXTOp功能操作00無(wú)符號(hào)擴(kuò)展IMM32{16’b0||Imm16}01符號(hào)擴(kuò)展IMM32{{16{Imm16[15]}},Imm16}10高位擴(kuò)展IMM32{Imm16||16’b0}11。。。目錄從單周期到多周期多周期處理器基本結(jié)構(gòu)功能部件建模RTL(RegisterTransferLanguage)基于RTL的時(shí)序分析2種數(shù)據(jù)通路設(shè)計(jì)對(duì)比分析RTL描述RTL:RegisterTransferLanguage描述CPU在執(zhí)行指令時(shí)其內(nèi)部的具體步驟(step)步驟包括操作(operation)、寄存器間的通信以及步驟見(jiàn)的時(shí)序關(guān)系步驟:在1個(gè)cycle內(nèi)完成的操作集合描述方法:串行描述:step1、step2、step3是順序執(zhí)行,每個(gè)step執(zhí)行1個(gè)cycle并行描述:op2、op3是同時(shí)執(zhí)行,并在同一個(gè)cycle完成step1:op1step2:op2;op3step3:op448建立指令的多周期RTL描述的基本方法每條指令映射到3~5個(gè)cycle重點(diǎn)刻畫部件間的連接及部件應(yīng)執(zhí)行的有依賴關(guān)系的operation必須部署在不同的cycle這是由于分段數(shù)據(jù)通路的依賴性決定的可以提早執(zhí)行的operation就“盡早執(zhí)行”源于門電路的并行性特點(diǎn);即使后面用不上也無(wú)所謂公共cycle:任何指令都必須包括Cycle1:讀取指令,以指令寫入IR為結(jié)束Cycle2:準(zhǔn)備操作數(shù),以操作數(shù)寫入A/B為結(jié)束(也包括立即數(shù)擴(kuò)展)操作數(shù):包括從RF中讀取寄存器、立即數(shù)擴(kuò)展49ADDU:RTL建模分析R[rd]R[rs]+R[rt]Cycle1:Fetch(讀取指令)Op1:IM中讀出的數(shù)據(jù)(即指令)寫入IROp2:計(jì)算PC=PC+4(PC指向下條指令)Op2部署在同一個(gè)cycle的理由:硬件設(shè)計(jì)基本原則之一是“盡早執(zhí)行”即便后續(xù)操作需要再次改變PC也無(wú)所謂注意1:由于寄存器時(shí)序特點(diǎn),因此Op2不影響Op1注意2:所有指令都必須包括該step50ADDU:RTL建模分析Cycle2:DCD/RF(讀取操作數(shù))Op1和Op2分別把RS和RT寫入A、B所有指令都必須包括該step該周期隱含包括另一重要步驟:指令譯碼(控制器內(nèi)完成)Cycle3:Exe(執(zhí)行)Op:ALU完成計(jì)算并寫入ALUOutCycle4:ALUWB(結(jié)果回寫)Op:ALUOut寫入RF的RD寄存器R[rd]R[rs]+R[rt]51ADDU:RTL描述表4個(gè)cycleIRA/BALUOutRFRTL描述表:周期:一條指令的執(zhí)行周期數(shù)功能部件:刻畫在該cycle需要控制的功能部件控制信號(hào):功能部件的控制信號(hào)在該cycle的取值R[rd]R[rs]+R[rt]周期序號(hào)周期名稱語(yǔ)義RTL需控制的功能部件功能部件控制信號(hào)Cycle1Fetch取指令讀取指令;計(jì)算下條指令地址IRIM[PC];PCNPC(PC)IRNPCPCIRWr1;NPCOp+4;PCWr1Cycle2DCD/RF讀操作數(shù)2個(gè)操作數(shù)存入A/BARF[rs];BRF[rt]Cycle3Exe執(zhí)行執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,B)ALUALUOpADDCycle4AluWB回寫計(jì)算結(jié)果回寫至rd寄存器RF[rd]ALUOutRFRFWr1LW:RTL描述表5個(gè)周期IRA/ExtALUOutDRRFR[rt]MEM[R[rs]+sign_ext(imm16)]周期步驟語(yǔ)義RTL需控制的功能部件功能部件控制信號(hào)Cycle1Fetch取指令讀取指令;計(jì)算下條指令地址IRIM[PC];PCNPC(PC)IRNPCPCIRWr1;NPCOp+4;PCWr1Cycle2DCD/RF讀操作數(shù)基地址存入A;偏移符號(hào)擴(kuò)展ARF[rs]EXT(Imm16)EXTEXTOpSECycle3MA計(jì)算地址執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,EXT)ALUEXTOpSEALUOpADDCycle4MR讀存儲(chǔ)器讀取DM,數(shù)據(jù)存儲(chǔ)DRDRDM[ALUOut]Cycle5MemWB回寫DR寫入rt寄存器RF[rt]DRRFRFWr1SW:RTL描述表4個(gè)周期IRA/ExtALUOutDMMEM[R[rs]+sign_ext(imm16)]R[rt]周期步驟語(yǔ)義RTL需控制的功能部件控制信號(hào)Cycle1Fetch取指令讀取指令;計(jì)算下條指令地址IRIM[PC];PCNPC(PC)IRNPCPCIRWr1NPCOp+4PCWr1Cycle2DCD/RF讀操作數(shù)基地址存入A;偏移符號(hào)擴(kuò)展ARF[rs]EXT(Imm16)EXTEXTOpSECycle3MA計(jì)算地址執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,EXT)ALUEXTOpSEALUOpADDCycle4MW寫存儲(chǔ)器rt寄存器寫入DMDM[ALUOut]RF[rt]DMDMWr1ORI:RTL描述表4個(gè)cycleIRA/EXTALUOutRFR[rt]R[rs]+zero_ext(imm16)周期序號(hào)周期名稱語(yǔ)義RTL需控制的功能部件功能部件控制信號(hào)Cycle1Fetch取指令讀取指令;計(jì)算下條指令地址IRIM[PC];PCNPC(PC)NPCPCIRIRWr1NPCOp+4PCWr1Cycle2DCD/RF讀操作數(shù)操作數(shù)存入A無(wú)符號(hào)擴(kuò)展ARF[rs];EXT(Imm16)EXTEXTOpUECycle3Exe執(zhí)行執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,EXT)ALUEXTOpUEALUOpORCycle4AluWB回寫計(jì)算結(jié)果回寫至rt寄存器RF[rt]ALUOutRFRFWr1BEQ:RTL描述表3個(gè)cycleIRA/EXTPC所有PC計(jì)算都在NPC中完成PC+4:cycle1PC+偏移:cycle3周期序號(hào)周期名稱語(yǔ)義RTL需控制的功能部件功能部件控制信號(hào)Cycle1Fetch取指令讀取指令;計(jì)算下條指令地址IRIM[PC];PCNPC(PC)NPCPCIRIRWr1NPCOp+4PCWr1Cycle2DCD/RF讀操作數(shù)RS操作數(shù)存入A;32位無(wú)符號(hào)擴(kuò)展ARF[rs];BRF[rt]Cycle3Br執(zhí)行執(zhí)行減法,判斷ZeroALUOutALU(A,B)PCNPC(PC,imm16)ALUNPCPCALUOpSUBNPCBNPCPCWrZeroPC(R[rs]==R[rt])

?

PC+4+(sign_ext(imm16)||00):PC+4JAL:RTL描述表3個(gè)cycleIR空PC空:為了保持兼容優(yōu)化設(shè)計(jì):2個(gè)cycle!周期序號(hào)周期名稱語(yǔ)義RTL功能部件功能部件控制信號(hào)Cycle1Fetch取指令讀取指令;計(jì)算下條指令地址IRIM[PC];PCNPC(PC)NPCPCIRIRWr1NPCOp+4PCWr1Cycle2DCD/RF讀操作數(shù)Cycle3JMP執(zhí)行計(jì)算并保存轉(zhuǎn)移PC;保存PCRF[31]PCPCNPC(PC,imm26)RFNPCPCRFWr1NPCOpJNPCPCWr1PCPC[31:28]||imm26||00R[31]PCLUI:RTL描述表4個(gè)cycleIRA/EXTALUOutRF借用R型計(jì)算注意$0的用途:可以體會(huì)MIPS指令格式定義的巧妙周期序號(hào)周期名稱語(yǔ)義RTL需控制的功能部件功能部件控制信號(hào)Cycle1Fetch取指令讀取指令;計(jì)算下條指令地址IRIM[PC];PCNPC(PC)NPCPCIRIRWr1NPCOp+4PCWr1Cycle2DCD/RF讀操作數(shù)$0存入A無(wú)符號(hào)擴(kuò)展ARF[0]EXT(Imm16)EXTEXTOpHECycle3Exe執(zhí)行執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,EXT)ALUEXTOpHEALUOpORCycle4AluWB回寫計(jì)算結(jié)果回寫至rt寄存器RF[rt]ALUOutRFRFWr1R[rt]imm16||016目錄從單周期到多周期多周期處理器基本結(jié)構(gòu)功能部件建模RTL(RegisterTransferLanguage)基于RTL的時(shí)序分析2種數(shù)據(jù)通路設(shè)計(jì)對(duì)比分析時(shí)序分析的目的1、時(shí)序是學(xué)生理解的難點(diǎn)之一理解不正確,設(shè)計(jì)/調(diào)試就易于出錯(cuò)雖然很簡(jiǎn)單(時(shí)鐘沿之前建立,時(shí)鐘沿后存儲(chǔ)),但往往理解不正確2、有利于后續(xù)狀態(tài)機(jī)的設(shè)計(jì)與理解更好的理解寄存器的數(shù)據(jù)準(zhǔn)備與數(shù)據(jù)寫入的關(guān)系3、多周期時(shí)序復(fù)雜度適中,適于講解時(shí)序變化:PC、IR、A/B、DR、RF、DM會(huì)發(fā)生變化穩(wěn)定:在1條指令內(nèi)只變化1次(PC除外)4、進(jìn)一步訓(xùn)練學(xué)生學(xué)習(xí)形式建模的方法,提高抽象思維能力時(shí)序分析要點(diǎn):RTL制導(dǎo)RTL制導(dǎo)分析需要哪些必要環(huán)節(jié)并非所有環(huán)節(jié)都需要(多周期的基本特點(diǎn))只需關(guān)注前序寄存器與后繼寄存器間關(guān)系前序值在時(shí)鐘沿到來(lái)后寫入寄存器注意時(shí)鐘周期的概念2個(gè)時(shí)鐘邊沿之間的時(shí)間LW的RTL建立RTL描述表EXT:這是一個(gè)特殊部件,未設(shè)置相應(yīng)的寄存器周期步驟語(yǔ)義RTL需控制的功能部件功能部件控制信號(hào)Cycle1Fetch取指令讀取指令;計(jì)算下條指令地址IRIM[PC];PCNPC(PC)IRNPCPCIRWr1;NPCOp+4;PCWr1Cycle2DCD/RF讀操作數(shù)基地址存入A;偏移符號(hào)擴(kuò)展ARF[rs]EXT(Imm16)EXTEXTOpSECycle3MA計(jì)算地址執(zhí)行加法,結(jié)果存入ALUOutALUOutALU(A,EXT)ALUEXTOpSEALUOpADDCycle4MR讀存儲(chǔ)器讀取DM,數(shù)據(jù)存儲(chǔ)DRDRDM[ALUOut]Cycle5MemWB回寫DR寫入rt寄存器RF[rt]DRRFRFWr1PCLW地址PC+4IMLW[PC+4]IR前條指令LWRF舊操作數(shù)操作數(shù)A/B舊操作數(shù)操作數(shù)ExtX擴(kuò)展數(shù)ALU執(zhí)行前指令XALUOutXXDM(讀出)XXDRXXCLK1LW時(shí)序分析:Cycle1Cycle1:取指令(公共周期)讀取IM至IR;同時(shí)PC自增4X:代表其值無(wú)意義邊沿后的顏色:代表延遲FetchCycle1寄存器輸出延遲最短功能部件輸出延遲=寄存器輸出延遲+擴(kuò)展延遲存儲(chǔ)器輸出延遲比較長(zhǎng)周期步驟RTLCycle1FetchIRIM[PC];PCNPC(PC)Cycle2DCD/RFARF[rs]EXT(Imm16)Cycle3MAALUOutALU(A,EXT)Cycle4MRDRDM[ALUOut]Cycle5MemWBRF[rt]DR綠色:功能部件為寄存器PCLW地址PC+4PC+4IMLW[PC+4][PC+4]IR前條指令LWLWRF舊操作數(shù)操作數(shù)操作數(shù)A/B舊操作數(shù)X操作數(shù)ExtX擴(kuò)展數(shù)擴(kuò)展數(shù)ALU執(zhí)行前指令XDM地址ALUOutXXXDM(讀出)XXXDRXXXCLK1CLK2LW時(shí)序分析:Cycle2Cycle2:讀操作數(shù)(公共周期)讀操作數(shù),同時(shí)開(kāi)始譯碼指令已經(jīng)在IR中了FetchCycle1DCD/RFCycle2周期步驟RTLCycle1FetchIRIM[PC];PCNPC(PC)Cycle2DCD/RFARF[rs]EXT(Imm16)Cycle3MAALUOutALU(A,EXT)Cycle4MRDRDM[ALUOut]Cycle5MemWBRF[rt]DRPCLW地址PC+4PC+4PC+4IMLW[PC+4][PC+4][PC+4]IR前條指令LWLWLWRF舊操作數(shù)操作數(shù)操作數(shù)操作數(shù)A/B舊操作數(shù)操作數(shù)操作數(shù)操作數(shù)ExtX擴(kuò)展數(shù)擴(kuò)展數(shù)擴(kuò)展數(shù)ALU執(zhí)行前指令DM地址DM地址DM地址ALUOutXXXDM地址DM(讀出)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論