第八章 輸入輸出系統(tǒng)-中斷_第1頁
第八章 輸入輸出系統(tǒng)-中斷_第2頁
第八章 輸入輸出系統(tǒng)-中斷_第3頁
第八章 輸入輸出系統(tǒng)-中斷_第4頁
第八章 輸入輸出系統(tǒng)-中斷_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第八章輸入輸出系統(tǒng)8.1外圍設(shè)備的定時方式和信息交換方式8.2程序查詢方式8.3程序中斷方式8.4DMA方式8.5通道方式8.6通用I/O標(biāo)準(zhǔn)接口8.1外圍設(shè)備的定時方式和信息交換方式8.1.1外圍設(shè)備的速度分級外設(shè)種類繁多,存在以下幾種情況:不同種類的外設(shè)數(shù)據(jù)傳輸速率差別很大同一種設(shè)備在不同時刻傳輸速率也可能不同高速的CPU與速度參差不齊的外設(shè)怎樣在時間上同步呢?首先,看一下輸入輸出設(shè)備與CPU交換數(shù)據(jù)的過程:解決辦法是在CPU和外設(shè)之間數(shù)據(jù)傳送時加以定時。1、速度極慢或簡單的外設(shè)(機(jī)械開關(guān),led)CPU只需要接受或者發(fā)送數(shù)據(jù)即可。2、慢速或者中速的設(shè)備(鍵盤,打印機(jī))CPU與外圍設(shè)備之間的定時,有以下三種情況??梢圆捎卯惒蕉〞r的方式如果CPU從外設(shè)接收一個字,則它首先詢問外設(shè)的狀態(tài),如果外設(shè)的狀態(tài)標(biāo)志表明設(shè)備已“準(zhǔn)備就緒”,那么CPU就從總線上接收數(shù)據(jù)。CPU在接收數(shù)據(jù)后,發(fā)出輸入響應(yīng)信號,告訴外設(shè)已經(jīng)把數(shù)據(jù)總線的數(shù)據(jù)取走。3、高速外設(shè)CPU以等間隔的速率執(zhí)行輸入/輸出指令,因此這種方式叫作同步定時方式。ADC0809轉(zhuǎn)換時間100μs8.1.2信息交換方式1、程序查詢方式2、程序中斷方式3、DMA方式4、通道方式適用于低速設(shè)備高速設(shè)備1、程序查詢方式在程序查詢方式下,數(shù)據(jù)在CPU和外設(shè)之間的傳送完全靠計算機(jī)程序控制。某一設(shè)備一旦被選中,主機(jī)將不停地查詢這個設(shè)備,看其是否準(zhǔn)備就緒。2、程序中斷方式在程序中斷方式中,某一外設(shè)的數(shù)據(jù)準(zhǔn)備就緒后,就“主動”向CPU發(fā)出中斷請求信號,當(dāng)CPU響應(yīng)這個中斷時,便暫?,F(xiàn)行程序的運(yùn)行,自動轉(zhuǎn)移到該設(shè)備的中斷服務(wù)程序,完成數(shù)據(jù)交換。當(dāng)中斷服務(wù)程序執(zhí)行結(jié)束后,CPU又回到原來的程序繼續(xù)運(yùn)行。跟程序查詢方式相比,中斷方式更有效,但中斷方式的數(shù)據(jù)傳送仍以程序方式實(shí)現(xiàn),在程序切換過程中存在許多額外操作,如保護(hù)斷點(diǎn)、保護(hù)現(xiàn)場、恢復(fù)斷點(diǎn)、恢復(fù)現(xiàn)場等,所以傳送效率仍然不是很高,只適合中、低速設(shè)備的I/O操作。3、直接內(nèi)存訪問DMA方式在大批量、高速度傳送數(shù)據(jù)時,需要一種更加有效的方法,這就是DMA。DMA在主存和外設(shè)之間實(shí)現(xiàn)高速、批量數(shù)據(jù)交換,數(shù)據(jù)傳輸完全依靠硬件,不需要執(zhí)行程序,因而速度快、效率高。DMA方式適用于內(nèi)存和高速外圍設(shè)備之間大批數(shù)據(jù)交換的場合。 在大型計算機(jī)系統(tǒng)中,所連接的I/O設(shè)備多、I/O操作多、I/O速度快,單純依靠采用程序中斷和DMA控制方式已不能滿足輸入輸出的要求,于是通道控制方式被引入計算機(jī)系統(tǒng)。在通道控制方法下,CPU將部分權(quán)力下放給通道,讓通道去管理外設(shè),大大提高了CPU的工作效率。4、通道方式8.2程序查詢方式1、設(shè)備編址計算機(jī)中有兩種需要編址的器件:一種是存儲器,另一種是接口電路。存儲器是對存儲單元進(jìn)行編址,而接口電路是對其中的端口進(jìn)行編址。常用的I/O編址有兩種:獨(dú)立編址方式和統(tǒng)一編址方式。把端口當(dāng)成存儲單元對待,也就是讓端口占用存儲器單元地址。MCS-51就是采用這種編址方式,把外部64K字節(jié)的數(shù)據(jù)存儲器RAM空間的一部分作為擴(kuò)展外圍I/O的地址空間。把I/O口和存儲器分開進(jìn)行編址,形成兩個獨(dú)立的地址空間,需要專門的I/O指令和控制信號。8086、8088就是采用這種編址方式,它具有兩條I/O指令(IN和OUT)。

(1)獨(dú)立編址方式:(2)統(tǒng)一編址方式:2、輸入輸出指令I(lǐng)/O指令一般具有以下功能:1、置1或置0接口的某些控制觸發(fā)器。2、測試設(shè)備的狀態(tài),如“忙”、“準(zhǔn)備就緒”等3、傳送數(shù)據(jù)某機(jī)I/O指令的格式為:01R0~R7OP控制DMsDOAS2,13012345678910……1564個外部設(shè)備的設(shè)備地址表示把CPU中R2的內(nèi)容輸出到13號設(shè)備的A數(shù)據(jù)緩沖器中,同時啟動13號設(shè)備工作。3、程序查詢接口設(shè)備選擇電路:設(shè)備地址譯碼器,用來判別地址總線上呼叫的設(shè)備是不是本設(shè)備。數(shù)據(jù)緩沖寄存器設(shè)備狀態(tài)寄存器:是接口中的標(biāo)志觸發(fā)器,如“忙”,“準(zhǔn)備就緒”等。⑤③(1)先向I/O設(shè)備發(fā)出命令字,請求進(jìn)行數(shù)據(jù)傳送;(2)從I/O接口讀入狀態(tài)字;(3)檢查狀態(tài)字中的標(biāo)志,看看數(shù)據(jù)交換是否可以進(jìn)行;(4)假如這個設(shè)備沒有準(zhǔn)備就緒,則第(2)、第(3)步重復(fù)進(jìn)行,一直到這個設(shè)備準(zhǔn)備好交換數(shù)據(jù),發(fā)出準(zhǔn)備就緒信號“Ready”為止;(5)CPU從I/O接口的數(shù)據(jù)緩沖寄存器輸入數(shù)據(jù),或者將數(shù)據(jù)從CPU輸出至接口的數(shù)據(jù)緩沖寄存器。與此同時,CPU將接口中的狀態(tài)標(biāo)志復(fù)位。(6)數(shù)據(jù)傳送4、程序查詢輸入/輸出方式⑤③CPU在執(zhí)行主程序的過程中,周期性地查詢外部設(shè)備的情況。設(shè)備服務(wù)子程序的功能:1、實(shí)現(xiàn)數(shù)據(jù)傳送輸入時的數(shù)據(jù)傳送輸出時的數(shù)據(jù)傳送2、修改內(nèi)存地址3、修改傳送字節(jié)數(shù),以便修改傳送長度。4、進(jìn)行狀態(tài)分析和其它控制功能8.3程序中斷方式8.3.1中斷的概念、功能8.3.2程序中斷方式的基本接口8.3.3單級中斷8.3.4多級中斷8.3.5Pentium中斷機(jī)制(簡單看一下)8.3.1中斷的概念、功能中斷(Interrupt)是指CPU暫時中止現(xiàn)行程序,轉(zhuǎn)去處理隨機(jī)發(fā)生的緊急事件,處理完后自動返回原程序的功能和技術(shù)。中斷系統(tǒng)是計算機(jī)實(shí)現(xiàn)中斷功能的軟硬件總稱。一般在CPU中設(shè)置中斷機(jī)構(gòu),在外設(shè)接口中設(shè)置中斷控制器,在軟件上設(shè)置相應(yīng)的中斷服務(wù)程序。中斷系統(tǒng)的功能包括:(1)實(shí)現(xiàn)主機(jī)和外設(shè)的并行工作;(2)處理故障;(3)實(shí)現(xiàn)多道程序和分時操作;(4)實(shí)時控制;(5)實(shí)現(xiàn)人機(jī)聯(lián)系;(6)實(shí)現(xiàn)多機(jī)通信。中斷源:能夠向CPU發(fā)出中斷請求的事件。常見中斷源有:輸入、輸出設(shè)備中斷。數(shù)據(jù)通道中斷。實(shí)時時鐘中斷。故障中斷。系統(tǒng)中斷。為了調(diào)試程序而設(shè)置的中斷。如鍵盤、打印機(jī)等工作過程中已做好接收或發(fā)送準(zhǔn)備。如磁盤、磁帶等要同主機(jī)進(jìn)行數(shù)據(jù)交換等。例如電源掉電、設(shè)備故障等要求CPU進(jìn)行緊急處理等。如運(yùn)算過程出現(xiàn)溢出、數(shù)據(jù)格式非法,數(shù)據(jù)傳送過程出現(xiàn)校驗(yàn)錯,控制器遇到非法指令等等圖8.5中斷處理過程流程圖公操作:是指一條指令執(zhí)行結(jié)束后CPU所進(jìn)行的操作,如中斷處理、直接內(nèi)存?zhèn)魉?、取下一條指令等。轉(zhuǎn)入公操作時才受理設(shè)備的中斷請求中斷處理過程注意幾個問題:1、響應(yīng)中斷時機(jī):外界中斷請求是隨機(jī)的,2、斷點(diǎn)保護(hù)問題(PC,寄存器內(nèi)容和狀態(tài)的保存)3、開中斷和關(guān)中斷問題。4、中斷是由軟硬件結(jié)合起來實(shí)現(xiàn)的?!爸袛嘀芷凇庇捎布?shí)現(xiàn),而中斷服務(wù)程序由機(jī)器指令序列實(shí)現(xiàn)。但CPU只有在當(dāng)前指令執(zhí)行完畢后,才轉(zhuǎn)至中斷操作。8.3.2程序中斷方式的基本接口設(shè)備選擇器:設(shè)備選擇器用來判別總線上送出的地址(或稱呼叫的設(shè)備)是否為本設(shè)備,它實(shí)際上是設(shè)備地址的譯碼比較電路。BS外設(shè)接口忙(BuSy)標(biāo)志RD外設(shè)準(zhǔn)備就緒(ReaDy)標(biāo)志EI(EnableInterrupt中斷允許觸發(fā)器)為1,某設(shè)備可以向CPU發(fā)出中斷請求。IR(InterruptRequest)中斷請求觸發(fā)器為1,表示設(shè)備發(fā)出中斷請求IM(InterruptMask)中斷屏蔽觸發(fā)器為0,CPU可受理外界中斷請求。①表示由程序啟動外設(shè),將該外設(shè)接口的“忙”標(biāo)志BS置“1”,“準(zhǔn)備就緒”標(biāo)志RD清“0”②表示接口向外設(shè)發(fā)出啟動信號;③表示數(shù)據(jù)由外設(shè)傳送到接口的緩沖寄存器;④表示當(dāng)設(shè)備動作結(jié)束或緩沖寄存器數(shù)據(jù)填滿時,設(shè)備向接口送出一控制信號,將數(shù)據(jù)“準(zhǔn)備就緒”標(biāo)志RD置“1”;⑤表示允許中斷標(biāo)志EI為“1”時,接口向CPU發(fā)出中斷請求信號;⑥表示在一條指令執(zhí)行末尾CPU檢查中斷請求線,將中斷請求線的請求信號接收到“中斷請求”標(biāo)志IR;⑦表示如果“中斷屏蔽”標(biāo)志IM為“0”時,CPU在一條指令執(zhí)行結(jié)束后受理外設(shè)的中斷請求,向外設(shè)發(fā)出響應(yīng)中斷信號并關(guān)閉中斷;⑧表示轉(zhuǎn)向該設(shè)備的中斷服務(wù)程序入口;⑩表示CPU發(fā)出控制信號C將接口中的BS和RD標(biāo)志復(fù)位。⑨表示在中斷服務(wù)程序通過輸入指令把接口中數(shù)據(jù)緩沖寄存器的數(shù)據(jù)讀至CPU中的寄存器;圖中①-⑧表示由某一外設(shè)輸入數(shù)據(jù)的控制過程。8.3.3單級中斷所有中斷源屬于同一級,離CPU越近,優(yōu)先級越高圖8.7類似于第六章的鏈?zhǔn)讲樵兎绞健?、單級中斷的概念2、單機(jī)中斷源的識別中斷源的識別:串行排隊鏈法IS1,IS2,IS3為中斷選中信號INTO為中斷排隊輸出INTI為中斷排隊輸入IR1,IR2,IR3為中斷請求信號1、若沒有更高優(yōu)先級的中斷請求,/INTI=0,門1輸出高電平,即IS1=1,若IR1=1,當(dāng)CPU發(fā)來INTA=1,則發(fā)出IR1請求的中斷源被選中。2、選中信號經(jīng)門7送入編碼電路,產(chǎn)生一個惟一對應(yīng)的設(shè)備地址,并經(jīng)數(shù)據(jù)總線送往CPU的主存地址寄存器,然后執(zhí)行該中斷源設(shè)備的中斷服務(wù)程序。3、由于/IR1=0,封鎖門2,IS2,IS3=0,即排隊識別工作不再向下進(jìn)行。4、若IR1無請求,則iR1=0,門7被封鎖,不會向編碼電路送入選中信號。/IR1=1,則IS2=1,如果IR2=1,則被選中,否則繼續(xù)往下查詢。01中斷向量:當(dāng)CPU響應(yīng)中斷時,由硬件直接產(chǎn)生一個固定的地址(即向量地址)由向量地址指出每個中斷源設(shè)備的中斷服務(wù)程序入口,這種方法稱為向量中斷。每個中斷源分別有一個中斷服務(wù)程序,而每個中斷服務(wù)程序又有自己的向量地址。當(dāng)CPU識別出某中斷源時,由硬件直接產(chǎn)生一個與該中斷源對應(yīng)的向量地址,很快便引入中斷服務(wù)程序。3、中斷向量的產(chǎn)生向量中斷要求在硬件設(shè)計時考慮所有中斷源的向量地址,而實(shí)際中斷時只能產(chǎn)生一個向量地址。圖8.8中上面部分即為中斷向量產(chǎn)生邏輯,它是由編碼電路實(shí)現(xiàn)的。1、有些計算機(jī)中由硬件產(chǎn)生的向量地址不是直接地址,而是一個“位移量”,這個位移量加上CPU某寄存器里存放的基地址,最后得到中斷處理程序的入口地址。2、還有一種采用向量地址轉(zhuǎn)移的方法。假設(shè)有8個中斷源,由優(yōu)先級編碼電路產(chǎn)生8個對應(yīng)的固定地址碼(例如0,1,2,…7),這8個單元中存放的是轉(zhuǎn)移指令,通過轉(zhuǎn)移指令可轉(zhuǎn)入設(shè)備各自的中斷服務(wù)程序入口。這種方法允許中斷處理程序放在內(nèi)存中任何地方,非常靈活。8.3.4多級中斷1、多級中斷的概念系統(tǒng)中有相當(dāng)多的中斷源,每一中斷級分配一個優(yōu)先權(quán)。一般來說,優(yōu)先權(quán)高的中斷可以打斷優(yōu)先權(quán)低的中斷服務(wù)程序。一維多級中斷:二維多級中斷:每一級中斷中只有一個中斷源。每一級中斷中有多個中斷源。1、一個系統(tǒng)有n級中斷,則CPU中有n個IR,n個IM(置1關(guān)閉本級和低優(yōu)先級,置0開放更高優(yōu)先級。)2、某級中斷被響應(yīng)后,則關(guān)閉本級和低于本級的IM,開放更高級的IM。3、多級中斷可以嵌套,但同一級的中斷不允許嵌套。4、中斷響應(yīng)時,確定哪一級中斷和中斷源采用硬件實(shí)現(xiàn)。采用了獨(dú)立請求方式和鏈?zhǔn)讲樵兎绞较嘟Y(jié)合的方式。5、使用堆棧保存現(xiàn)場,后進(jìn)先出順序進(jìn)行,不必單獨(dú)設(shè)置現(xiàn)場保護(hù)區(qū)。2、多級中斷源的識別在多級中斷中,每一級均有一根中斷請求線送往CPU的中斷優(yōu)先級排隊電路,對每一級賦予了不同的優(yōu)先級。圖8.10給出了獨(dú)立請求式的中斷優(yōu)先級排隊與中斷向量產(chǎn)生的邏輯結(jié)構(gòu)。1、每個中斷請求信號保存在“中斷請求”觸發(fā)器中,經(jīng)“中斷屏蔽”觸發(fā)器控制后,可能有若干個請求信號IR’進(jìn)入虛線框所示的排隊電路。2、排隊電路在若干個中斷源中決定首先響應(yīng)哪個中斷源,并將IRi置1,其他為0。3、編碼電路根據(jù)排上隊的中斷源輸出信號IRi,產(chǎn)生一個預(yù)定的地址碼,轉(zhuǎn)向中斷服務(wù)程序。假設(shè)中斷源1的優(yōu)先級最高,中斷源4最低。已知中斷請求寄存器內(nèi)容為1111,中斷屏蔽寄存器內(nèi)容為0010,那么進(jìn)入排隊器的中斷請求是1101。根據(jù)優(yōu)先次序,排隊器輸出為1000。然后由編碼器產(chǎn)生中斷源1所對應(yīng)的向量地址。100舉例例1、參見圖所示的二維中斷系統(tǒng)。請問:(1)在中斷情況下,CPU和設(shè)備的優(yōu)先級如何考慮?(2)若CPU現(xiàn)執(zhí)行設(shè)備B的中斷服務(wù)程序,IM2,IM1,IM0的狀態(tài)是什么?如果CPU執(zhí)行設(shè)備D的中斷服務(wù)程序,IM2,IM1,IM0的狀態(tài)又是什么?請按降序排列各設(shè)備的中斷優(yōu)先級。(3)每一級的IM能否對某個優(yōu)先級的個別設(shè)備單獨(dú)進(jìn)行屏蔽?如果不能,采取什么辦法可達(dá)到目的?(4)假如設(shè)備C一提出中斷請求,CPU立即進(jìn)行響應(yīng),如何調(diào)整才能滿足此要求?分析(1)在中斷情況下,CPU的優(yōu)先級最低。各設(shè)備的優(yōu)先次序是:(2)執(zhí)行設(shè)備B的中斷服務(wù)程序時IM2IM1IM0=111;(3)每一級的IM標(biāo)志不能對某個優(yōu)先級的個別設(shè)備進(jìn)行單獨(dú)屏蔽。(4)要使設(shè)備C的中斷請求及時得到響應(yīng),可將設(shè)備C從第2級取出來,單獨(dú)放在第3級上,使第3級的優(yōu)先級最高,即令I(lǐng)M3=0即可??蓪⒔涌谥械腅I(中斷允許)標(biāo)志清“0”,它禁止設(shè)備發(fā)出中斷請求。執(zhí)行設(shè)備D的中斷服務(wù)程序時,IM2IM1IM0=011。A→B→C→D→E→F→G→H→I→CPU。允許和禁止中斷、開放和屏蔽中斷禁止中斷與屏蔽中斷是兩個不同的概念。禁止中斷是指“CPU中”的中斷允許觸發(fā)器置0,處于“關(guān)中斷”,所有可屏蔽中斷源的中斷請求得不到響應(yīng)。允許中斷是指CPU中的中斷允許觸發(fā)器置1,處于“開中斷”,可以響應(yīng)中斷源的中斷請求。允許和禁止中斷對應(yīng)開和關(guān)中斷。屏蔽中斷是指某個中斷源“接口中”的中斷屏蔽觸發(fā)器被置1,對應(yīng)的中斷源不能發(fā)出中斷請求,處于“中斷封鎖”。當(dāng)中斷接口中的中斷屏蔽觸發(fā)器置0,則該中斷源處于“中斷開放”,此時對應(yīng)的中斷源可以發(fā)出中斷請求。

例、某計算機(jī)的中斷系統(tǒng)有4個中斷源,每個中斷源對應(yīng)一個屏蔽碼。表1為程序優(yōu)先級與屏蔽碼的關(guān)系,中斷響應(yīng)的優(yōu)先次序?yàn)锳BCD。此時,中斷的處理次序和響應(yīng)次序是一致的。

表1:程序優(yōu)先級與屏蔽碼的關(guān)系中斷服務(wù)程序屏蔽碼A設(shè)備B設(shè)備C設(shè)備D設(shè)備A設(shè)備服務(wù)程序1111B設(shè)備服務(wù)程序0111C設(shè)備服務(wù)程序0011D設(shè)備服務(wù)程序0001當(dāng)A、B、C、D四個中斷請求同時到來時,CPU的運(yùn)動軌跡如下:

中斷服務(wù)程序屏蔽碼A設(shè)備B設(shè)備C設(shè)備D設(shè)備A設(shè)備服務(wù)程序1111B設(shè)備服務(wù)程序0111C設(shè)備服務(wù)程序0011D設(shè)備服務(wù)程序0001當(dāng)中斷請求按D、C、B、A的次序到來時,CPU運(yùn)動軌跡為:在不改變中斷響應(yīng)次序的條件下,改變屏蔽碼可以改變中斷處理次序。在A、B、C、D中斷請求同時到來時,CPU的運(yùn)動軌跡將發(fā)生變化。 響應(yīng)ABCD;處理ADCB。中斷服務(wù)程序屏蔽碼A設(shè)備B設(shè)備C設(shè)備D設(shè)備A設(shè)備服務(wù)程序1111B設(shè)備服務(wù)程序0100C設(shè)備服務(wù)程序0110D設(shè)備服務(wù)程序01118.3.5中斷控制器一個8259A可以管理8級中斷,每一級中斷都可以屏蔽或允許。可通過9片級聯(lián)可擴(kuò)展至64級8259A在中斷響應(yīng)周期可提供相應(yīng)的中斷類型碼,從而迅速轉(zhuǎn)至中斷服務(wù)程序。8259A設(shè)計有多種工作方式,可以通過編程來選擇,以適應(yīng)不同的應(yīng)用場合5V供電8259中斷控制器1、中斷請求寄存器(IR)接受8個外部設(shè)備送來的中斷請求,每一位對應(yīng)一個設(shè)備。2、中斷請求寄存器的各位送入優(yōu)先權(quán)判斷器3、根據(jù)中斷屏蔽寄存器(IM)各位的狀態(tài)來決定最高優(yōu)先級的中斷請求,并將各位的狀態(tài)送入中斷狀態(tài)寄存器IS

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論