上海交大ARM培訓(xùn)教材ARM處理器內(nèi)核介紹_第1頁
上海交大ARM培訓(xùn)教材ARM處理器內(nèi)核介紹_第2頁
上海交大ARM培訓(xùn)教材ARM處理器內(nèi)核介紹_第3頁
上海交大ARM培訓(xùn)教材ARM處理器內(nèi)核介紹_第4頁
上海交大ARM培訓(xùn)教材ARM處理器內(nèi)核介紹_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1TMT H E A R C H I T E C T U R E F O R T H E D I G I T A L W O R L DARM 處理器內(nèi)核處理器內(nèi)核2TM252v07 ARM普通處理器內(nèi)核簡要定義簡要定義固化宏單元(硬核)固化宏單元(硬核)ARM920TARM7TDMIARM720TARM1022E可綜合內(nèi)核(軟核)可綜合內(nèi)核(軟核)ARM926EJ-SARM7TDMI-SARM1026EJ-S測試芯片測試芯片ARM10200E3TM352v07 ARM普通處理器內(nèi)核議程議程nARM7TDMI 處理器內(nèi)核系列處理器內(nèi)核系列ARM9TDMI 處理器內(nèi)核系列ARM10E處理器內(nèi)核系

2、列其他處理器4TM452v07 ARM普通處理器內(nèi)核什么是什么是 ARM7TDMI?nARM7TDMI 是基于 ARM7 內(nèi)核n3 級流水線-0.9MIPS/MHzn馮.諾依曼架構(gòu)nCPI(Cycle Per Instruction) 約為1.9 nT - Thumb 架構(gòu)擴展, 提供兩個獨立的指令集:nARM 指令,均為 32位nThumb指令,均為 16位n兩種運行狀態(tài),用來選擇哪個指令集被執(zhí)行nD - 內(nèi)核具有Debug擴展結(jié)構(gòu)nM - 增強乘法器 (32x8) 支持64位結(jié)果.nI - EmbeddedICE-RT邏輯-提供片上斷點和調(diào)試點支持5TM552v07 ARM普通處理器內(nèi)核A

3、RM7TDMI 內(nèi)核信號內(nèi)核信號ARM7TDMI內(nèi)核內(nèi)核MCLKnIRQnFIQnRESETBUSENBIGENDISYNCnWAITVDDVSSAPEDBE協(xié)處理器接口協(xié)處理器接口存儲器管理存儲器管理存儲器接口存儲器接口ABORTnOPCCPBCPAnCPInTRANSnM4:0MAS1:0nRWnMREQLOCKSEQnENOUTA31:0DOUT31:0DIN31:0D31:0電源電源總線控制總線控制時鐘時鐘配置配置中斷中斷6TM652v07 ARM普通處理器內(nèi)核ARM7TDMI 方框圖方框圖ARM7TDM內(nèi)核內(nèi)核TAP 控制器控制器JTAG 接口數(shù)據(jù)總線控制信號D31:0地址總線A31

4、:0DIN31:0DOUT31:0BUSSplitterEmbeddedICE邏輯邏輯7TM752v07 ARM普通處理器內(nèi)核乘法器乘法器ARM7TDMI 內(nèi)核內(nèi)核指令指令解碼解碼地址地址自增器自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS1:0LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM4:0D31:0桶形桶形移位器移位器32 位位 ALUDBE寫數(shù)據(jù)寫數(shù)據(jù) 寄存器寄存器讀數(shù)據(jù)讀數(shù)據(jù) 寄存器寄存器地址寄存器地址寄存器寄存器寄存器A31:0ABE及及控制控制 邏輯邏輯PC Update解碼站解碼站指令指令 解碼解碼Inc

5、rementerPCABusBBusALUBus8TM852v07 ARM普通處理器內(nèi)核外部地址產(chǎn)生外部地址產(chǎn)生PC31:2 ARM StatePC31:1 Thumb StateALU31:0INC自增器自增器A31:0向量向量0 x1C0 x00地址地址寄存器寄存器9TM952v07 ARM普通處理器內(nèi)核指令流水線指令流水線n為增加處理器指令流的速度,為增加處理器指令流的速度,ARM7 系列使用系列使用3級流水線級流水線.n允許多個操作同時處理,比逐條指令執(zhí)行要快。n PC指向正被取指的指令,而非正在執(zhí)行的指令指向正被取指的指令,而非正在執(zhí)行的指令FetchDecodeExecute從存儲

6、器中讀取指令解碼指令寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumb10TM1052v07 ARM普通處理器內(nèi)核 最佳流水線最佳流水線n該例中用該例中用6個時鐘周期執(zhí)行了個時鐘周期執(zhí)行了6條指令條指令n所有的操作都在寄存器中(單周期執(zhí)行)所有的操作都在寄存器中(單周期執(zhí)行)n指令周期數(shù)指令周期數(shù) (CPI) = 1 操作操作周期周期 1 2 3 45 6 ADD SUB MOV AND ORR EOR CMP RSBFetchDecodeExecuteFetchDecodeExecuteFetchDe

7、codeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch11TM1152v07 ARM普通處理器內(nèi)核 LDR 流水線舉例流水線舉例n該例中,用該例中,用6周期執(zhí)行了周期執(zhí)行了4條指令條指令n指令周期數(shù)指令周期數(shù) (CPI) = 1.5 周期周期 操作操作123456 ADD SUB LDR MOV AND ORRFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeExecuteFetch

8、DecodeFetch12TM1252v07 ARM普通處理器內(nèi)核分支流水線舉例分支流水線舉例n流水線被阻斷流水線被阻斷n注意注意:內(nèi)核運行在內(nèi)核運行在ARM狀態(tài)狀態(tài)周期周期 1 2 3 4 5 0 x8000 BL 0 x8004 X0 x8008 XX0 x8FEC ADD0 x8FF0 SUB0 x8FF4 MOV地址地址 操作操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetch13TM1352v07 ARM普通處理器內(nèi)核中斷流水線舉例中斷

9、流水線舉例周周期期 1 2 3 4 5 6 7 8IRQn IRQ 中斷的反應(yīng)時間最小中斷的反應(yīng)時間最小=7周期周期地址地址 操作操作FDELinkret AdjustFFDecode IRQLinkretExecute IRQAdjustFDEFDFFDEFDFF0 x8000 ADD0 x8008 MOV0 x0018 B (to 0 xAF00)0 x8004 SUB0 x001C XX0 x0020 XXX0 xAF00 STMFD 0 xAF04 MOV0 xAF08 LDR0 x800C X14TM1452v07 ARM普通處理器內(nèi)核對齊對齊n存儲器訪問必須始終適當(dāng)?shù)乇3值刂穼Rn

10、非對齊地址將產(chǎn)生不可預(yù)測的/未定義的結(jié)果n用Data Abort 異常來檢測無效的非對齊數(shù)據(jù)存取n擴展邏輯要求,或使用MMU在 720T, 920T, 926E-S, 1020En謹(jǐn)防指令讀取時出現(xiàn)非對齊n非對齊數(shù)據(jù)存取能夠完成, 但不是用 LDRn使用 LDRB, STRB 傳遞字節(jié),或使用LDM 加移位/屏蔽字節(jié)訪問字節(jié)訪問(字節(jié)對齊字節(jié)對齊)半字訪問半字訪問(半字對齊半字對齊)字訪問字訪問(字對齊字對齊)3210765402468ace089abcdef48c15TM1552v07 ARM普通處理器內(nèi)核ARM 存儲器接口存儲器接口n順序周期 (S cycle) (nMREQ,SEQ存儲器

11、請求信號存儲器請求信號)nnMREQ = 0, SEQ = 1nARM 內(nèi)核要求如下地址轉(zhuǎn)換:地址可以相同,也可以比前一地址大一字或半字n非順序周期(N cycle) (nMREQ,SEQ存儲器請求信號存儲器請求信號) nnMREQ = 0, SEQ = 0nARM 內(nèi)核要求如下地址轉(zhuǎn)換: 與前一周期的地址不相關(guān).n內(nèi)部周期(I cycle) (nMREQ,SEQ存儲器請求信號存儲器請求信號) nnMREQ =1, SEQ = 0nARM 內(nèi)核不要求地址轉(zhuǎn)換,因為它在完成一個內(nèi)部功能,不需要取指n協(xié)處理寄存器轉(zhuǎn)換周期(C cycle) (nMREQ,SEQ存儲器請求信號存儲器請求信號) nnM

12、REQ = 1, SEQ = 1nARM 內(nèi)核希望用總線協(xié)處理器通信,但不要求存儲器系統(tǒng)的任何動作16TM1652v07 ARM普通處理器內(nèi)核T標(biāo)志位的作用標(biāo)志位的作用161632-bit data16A1MuxThumb指令指令解碼解碼MuxMuxT標(biāo)志ARM指令指令解碼解碼階段階段 1階段階段 2D31:00110FetchDecodeExecute17TM1752v07 ARM普通處理器內(nèi)核帶帶Cache的的ARM7TDMI nARM710Tn8K 統(tǒng)一的 cache n完整的內(nèi)存管理單元(mmu),支持虛擬地址和存儲器保護n寫緩沖ARM720T同ARM710T,但支持 WinCEARM

13、740T8K 統(tǒng)一的 cache內(nèi)存管理單元寫緩沖ARM7TDMI內(nèi)核內(nèi)核地址地址數(shù)據(jù)讀AMBA接口接口寫寫緩沖緩沖MMU數(shù)據(jù)寫數(shù)據(jù)ARM7xxT控制控制邏輯邏輯CacheAMBA總線總線接口接口JTAG 和非 AMBA 信號CP1518TM1852v07 ARM普通處理器內(nèi)核ARM7TDMI-SnARM7TDMI-S 是ARM7TDMI 的完全可綜合版本n指令集和周期與ARM7TDMI 固化版本兼容n完全可綜合的 RTLn使用了綱要設(shè)計構(gòu)件的組件nALUn寄存器組n單時鐘設(shè)計(上升沿)單一總線接口19TM1952v07 ARM普通處理器內(nèi)核SecurCore SC100n第一個適合安全應(yīng)用的

14、32位 RISC 處理器n可用于smart 卡和其他有安全性要求的嵌入式領(lǐng)域n基于ARM7內(nèi)核的專為安全解決方案設(shè)計n完全可綜合的,全靜態(tài)設(shè)計n提供安全的存儲器保護單元nThumb指令支持,提高代碼密度和系統(tǒng)性能n特殊的、獨一無二的防偽造設(shè)計n小尺寸 (1mm2 典型的 0.25 工藝)n低功耗 ( 0.7mW/MHz at 2.5V)20TM2052v07 ARM普通處理器內(nèi)核小測驗小測驗1) 一條簡單的算術(shù)操作一條簡單的算術(shù)操作( 如:如: ADD )要占用幾個周期要占用幾個周期?2) ARM7TDMI指令流水線有幾個階段指令流水線有幾個階段?3) ARM7TDMI 是否使用是否使用 AL

15、U 計算地址計算地址? 4) ARM在存儲器里,可尋址幾種類型的數(shù)據(jù)在存儲器里,可尋址幾種類型的數(shù)據(jù)?5) 試舉一非順序周期的例子試舉一非順序周期的例子?6) 數(shù)據(jù)總線的哪一半可被內(nèi)核用作數(shù)據(jù)總線的哪一半可被內(nèi)核用作Thumb 指令指令?21TM2152v07 ARM普通處理器內(nèi)核議程議程ARM7TDMI 處理器內(nèi)核系列nARM9TDMI 處理器內(nèi)核系列處理器內(nèi)核系列ARM10E處理器內(nèi)核系列其他處理器22TM2252v07 ARM普通處理器內(nèi)核ARM9TDMInHarvard架構(gòu)n增加了可用的存儲器寬度n指令存儲器接口n數(shù)據(jù)存儲器接口n可以實現(xiàn)對指令和數(shù)據(jù)存儲器的同時訪問n5 級流水線n實現(xiàn)

16、了以下改進:n改進 CPI 到 1.5n提高了最大時鐘頻率23TM2352v07 ARM普通處理器內(nèi)核ARM9TDMI流水線的變化流水線的變化InstructionFetch Shift + ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM or ThumbInst DecodeReg SelectRegReadShiftALURegWriteThumbARMdecompressARM decodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI24

17、TM2452v07 ARM普通處理器內(nèi)核ARM9TDMI數(shù)據(jù)通道數(shù)據(jù)通道 (1)寄存器寄存器BankALUCBADINFWD結(jié)果DADD數(shù)據(jù)遞數(shù)據(jù)遞增增向量指令遞增指令遞增IA字節(jié)旋轉(zhuǎn)字節(jié)旋轉(zhuǎn)/符號擴展符號擴展.MU 邏輯邏輯雙向雙向緩沖器緩沖器字節(jié)字節(jié)/半字半字復(fù)制復(fù)制MU邏輯單元包含有:多路復(fù)用器,乘法器和桶形移位器數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線字節(jié)字節(jié)/半字半字指令地址總指令地址總線線25TM2552v07 ARM普通處理器內(nèi)核ARM9TDMI 數(shù)據(jù)通道數(shù)據(jù)通道 (2)寄存器BankPSR乘法器移位器ALUBAImmDINFWDBDATAADATA鎖存鎖存MU 邏輯邏輯(至至 IA 生

18、成邏輯生成邏輯)結(jié)果26TM2652v07 ARM普通處理器內(nèi)核周期周期操作操作ADD R1, R1, R2SUB R3, R4, R1ORR R8, R3, R4AND R6, R3, R1EOR R3, R1, R212345678LDRR4, R79FDEFDEWFDEWFDEWFDWEFDEWF 取指(取指(Fetch)D 解碼(解碼(Decode) E 執(zhí)行(執(zhí)行(Execute)I 互鎖(互鎖(Interlock)M 存儲器(存儲器(Memory )W 寫回(寫回( Writeback)ILDR互鎖互鎖 n本例中,用了本例中,用了7個時鐘周期執(zhí)行個時鐘周期執(zhí)行6條指令,條指令, C

19、PI = 1.2 。nLDR指令之后立即跟一條數(shù)據(jù)操作指令,由于使用了相同的寄存器,將會指令之后立即跟一條數(shù)據(jù)操作指令,由于使用了相同的寄存器,將會導(dǎo)致互鎖導(dǎo)致互鎖 。WIM27TM2752v07 ARM普通處理器內(nèi)核周期周期操作操作ADD R1, R1, R2SUB R3, R4, R1ORR R8, R3, R4AND R6, R3, R1EOR R3, R1, R2LDRR4, R7最佳流水線最佳流水線n本例中,用了本例中,用了6個時鐘周期執(zhí)行個時鐘周期執(zhí)行6條指令,條指令, CPI = 1。nLDR指令沒有引起流水線互鎖指令沒有引起流水線互鎖123456789FDEWFDEWFEWFD

20、EWFDWEFDEWF 取指(取指(Fetch)D 解碼(解碼(Decode) E 執(zhí)行(執(zhí)行(Execute)I 互鎖(互鎖(Interlock)M 存儲器(存儲器(Memory )W 寫回(寫回( Writeback)MD28TM2852v07 ARM普通處理器內(nèi)核LDM互鎖互鎖 (1)n本例中,用了本例中,用了8個時鐘周期執(zhí)行個時鐘周期執(zhí)行5條指令,條指令, CPI = 1.6n在在LDM期間,有并行的存儲器訪問和回寫周期期間,有并行的存儲器訪問和回寫周期周期周期操作操作LDMIA R13!, R0-R3SUB R9, R7, R8ORR R8, R4, R3AND R6, R3, R1

21、12345678STRR4, R99F 取指(取指(Fetch)D 解碼(解碼(Decode) E 執(zhí)行(執(zhí)行(Execute)MW-存儲器和回寫同時執(zhí)行存儲器和回寫同時執(zhí)行I 互鎖(互鎖(Interlock)M 存儲器(存儲器(Memory )W 寫回(寫回( Writeback)FDEWFDEWDEFDEWFMDWEIIIIIIMFMW MW MW29TM2952v07 ARM普通處理器內(nèi)核LDM 互鎖互鎖 (2)n本例中,用了本例中,用了9個時鐘周期執(zhí)行個時鐘周期執(zhí)行5條指令,條指令, CPI = 1.8 n此處此處SUB 使用了使用了 R3,增加了一個額外的互鎖周期來完成該寄存器數(shù)據(jù)的

22、獲取增加了一個額外的互鎖周期來完成該寄存器數(shù)據(jù)的獲取 n這種情況對任何LDM 指令,像帶IA, DB, FD,等,都會發(fā)生 。周期周期操作操作LDMIA R13!, R0-R3SUB R9, R7, R3ORR R8, R4, R3AND R6, R3, R112345678STRR4, R99F 取指(取指(Fetch)D 解碼(解碼(Decode) E 執(zhí)行(執(zhí)行(Execute)I 互鎖(互鎖(Interlock)M 存儲器(存儲器(Memory )W 寫回(寫回( Writeback)FDEWFDEWDEFDEWFMDWEMW MW MWIIIIIIMIIF30TM3052v07 AR

23、M普通處理器內(nèi)核ARM9TDMI系統(tǒng)舉例系統(tǒng)舉例ARM9TDMI數(shù)據(jù)數(shù)據(jù)存儲器存儲器指令指令存儲器存儲器CTRLDA.DD.CTRLIA.ID.GLUEGLUE注意注意:數(shù)據(jù)接口必須能夠讀取指令存儲器中的數(shù)據(jù)數(shù)據(jù)接口必須能夠讀取指令存儲器中的數(shù)據(jù)。為調(diào)試方便,建議數(shù)據(jù)接口能夠讀寫指令存儲器為調(diào)試方便,建議數(shù)據(jù)接口能夠讀寫指令存儲器。31TM3152v07 ARM普通處理器內(nèi)核帶帶Cache的的ARM9TDMIARM9TDMID CacheI CacheMMUGLUE外部外部存儲器存儲器ARM920T2x 16K caches MMU支持虛擬地址和內(nèi)存保護 寫緩沖ARM940T2x 4K cac

24、hes MPU寫緩沖ARM9xxT32TM3252v07 ARM普通處理器內(nèi)核ARM9E-S 系列概述系列概述nARM9E 基于 ARM9TDMI 內(nèi)核,有以下擴展和增強:n單周期 32x16 乘法器nEmbeddedICE 邏輯 RTn改進的 ARM/Thumb 交互操作n新的32x16和 16x16 乘法指令n新的計數(shù)到零指令n新的飽和算術(shù)指令nARM946E-SnARM9E-S 內(nèi)核n指令和數(shù)據(jù)cache, 大小可選擇n指令和數(shù)據(jù)RAM,大小可選擇n保護單元nAHB 總線接口nARM966E-Sn與 ARM946E-S相似, 但無 cache。v5TE架構(gòu)架構(gòu)33TM3352v07 AR

25、M普通處理器內(nèi)核ARM926EJ-S 概述概述nJazelle狀態(tài)允許直接執(zhí)行Java 8位碼nARM926EJ-SnARM9E-S 內(nèi)核n可配置的cacheTCMnTCM(Terminal-to-ComputerMultiplexer終端設(shè)備至計算機多路轉(zhuǎn)接器)n內(nèi)存管理單元n雙重 32位 AHB 總線接口 (多層)34TM3452v07 ARM普通處理器內(nèi)核小測驗小測驗1) Harvard結(jié)構(gòu)帶來了哪些優(yōu)勢結(jié)構(gòu)帶來了哪些優(yōu)勢?2) ARM9TDMI流水線有幾級流水線有幾級?3) 在流水線的哪一個階段讀寄存器在流水線的哪一個階段讀寄存器?4) 寄存器寄存器 bank由幾個讀或?qū)懚丝谟蓭讉€讀或

26、寫端口?5) 什么條件下會出現(xiàn)互鎖什么條件下會出現(xiàn)互鎖?35TM3552v07 ARM普通處理器內(nèi)核議程議程ARM7TDMI 處理器內(nèi)核系列ARM9TDMI 處理器內(nèi)核系列nARM10E處理器內(nèi)核系列處理器內(nèi)核系列其他處理器36TM3652v07 ARM普通處理器內(nèi)核ARM10E 系列概述系列概述nARM1020Env5TE架構(gòu)nCPI 1.3n6 級流水線n靜態(tài)分支預(yù)測n32kB 指令cache和32kB數(shù)據(jù)cachen支持“Hit under miss”n 非阻塞的執(zhí)行單元n每周期64 位的 LDM / STM操作nEmbeddedICE邏輯 - RT-IIn支持新的 VFPv1 結(jié)構(gòu)nA

27、RM1022En同上,除了cache大小為16kBn對SUDL(single user design license )有效37TM3752v07 ARM普通處理器內(nèi)核ARM10 與與ARM9的流水線對比的流水線對比指令指令取指取指 移位移位+ ALU寄存器寄存器寫寫寄存器寄存器讀讀寄存器寄存器譯碼譯碼FETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM 或或 Thumb指令解碼指令解碼ARM10指令地址指令地址 生成生成移位移位+ ALU數(shù)據(jù)數(shù)據(jù) Cache 接口接口寄存器寄存器寫寫FETCHDECODEEXECUTEMEMORYWRITE寄存器寄存器讀讀+ 結(jié)果

28、結(jié)果 前向遷移前向遷移 + 記分板記分板乘法乘法乘乘 加加協(xié)處理器協(xié)處理器 數(shù)數(shù)據(jù)接口據(jù)接口分支分支預(yù)測預(yù)測指令指令取指取指ISSUE寄存器寄存器訪問訪問數(shù)據(jù)數(shù)據(jù)+ 分支地址分支地址生成生成ARM 或或 Thumb指令解碼指令解碼協(xié)處理器協(xié)處理器 指令指令發(fā)出發(fā)出38TM3852v07 ARM普通處理器內(nèi)核ARM10 整數(shù)單元數(shù)據(jù)通道整數(shù)單元數(shù)據(jù)通道寄存器寄存器BankPSR乘法器乘法器移位器移位器ALUBAImmBA結(jié)果CLZ寫端口PC數(shù)據(jù)裝載39TM3952v07 ARM普通處理器內(nèi)核周期周期OperationLDR A B CADD A B1234567MUL AF - Fetch I - Issue D - Decode E - Execute M Memory Wb - Writeback Wl - Write to register using load port 順序代碼的執(zhí)行順序代碼的執(zhí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論