微機原理及應(yīng)用 課件 第三章 認識微處理器_第1頁
微機原理及應(yīng)用 課件 第三章 認識微處理器_第2頁
微機原理及應(yīng)用 課件 第三章 認識微處理器_第3頁
微機原理及應(yīng)用 課件 第三章 認識微處理器_第4頁
微機原理及應(yīng)用 課件 第三章 認識微處理器_第5頁
已閱讀5頁,還剩266頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理及應(yīng)用第三章認識微處理器第一講微處理器的功能下面我們來學(xué)習(xí)微處理器的功能微處理器的功能微處理器就是我們說的中央處理單元CPU,在這一章我們要學(xué)習(xí)CPU的引腳功能和內(nèi)部結(jié)構(gòu)中央處理單元CPUCPU的引腳功能和內(nèi)部結(jié)構(gòu)CPU是計算機系統(tǒng)的核心中央處理單元CPU計算機系統(tǒng)的核心它可以根據(jù)指令實現(xiàn)各種相應(yīng)的運算,并且能實現(xiàn)數(shù)據(jù)的暫存,CPU還能夠與存儲器以及接口通信計算機系統(tǒng)的核心根據(jù)指令實現(xiàn)各種運算實現(xiàn)暫存數(shù)據(jù)實現(xiàn)與存儲器和接口的信息通信大家看這里描述的信息說的其實是CPU內(nèi)部和外部兩個方面,計算機系統(tǒng)的核心根據(jù)指令實現(xiàn)各種運算實現(xiàn)暫存數(shù)據(jù)實現(xiàn)與存儲器和接口的信息通信內(nèi)部外部在CPU內(nèi)部有運算器和控制器,所以它可以進行運算和一些控制,但是CPU只在自己內(nèi)部處理還不行,它要去控制其他設(shè)備與它協(xié)同工作,所以CPU還要與其他的外圍的設(shè)備進行一個數(shù)據(jù)的溝通,內(nèi)部外部運算器控制器控制其他設(shè)備與其協(xié)同工作與其他外圍設(shè)備溝通數(shù)據(jù)這些外部設(shè)備就比如存儲器或接口內(nèi)部外部運算器控制器存儲器接口CPU的內(nèi)部主要由運算器,控制器和內(nèi)部寄存器組構(gòu)成,這是它的硬件方面,CPU的內(nèi)部主要由運算器,控制器和內(nèi)部寄存器組構(gòu)成,這是它的硬件方面,運算器控制器內(nèi)部寄存器組硬件方面在軟件方面,每一種CPU都會有自己的指令級,那么8088、8086使用的指令集基本相同,所以我們不加區(qū)分。關(guān)于指令集我們會在后面的章節(jié)中給大家介紹指令級軟件方面8088、8086指令集基本相同不加區(qū)分運算器控制器內(nèi)部寄存器組硬件方面在進一步展開討論cpu之前,我們還是簡單回顧一下CPU的三大硬件結(jié)構(gòu),算術(shù)邏輯單元(ALU)1控制器2寄存器3首先是ALU,它是算術(shù)邏輯單元,也稱運算器,算術(shù)邏輯單元(ALU)1控制器2寄存器3算術(shù)邏輯單元運算器它是算術(shù)邏輯單元,也稱運算器,它是以加法器為基礎(chǔ),配合其他的邏輯電路可以完成加減乘除的基本運算,并且基于這些基本運算完成一些更復(fù)雜的運算以及各種邏輯運算,更高級的ALU還可以完成浮點運算,以加法器為基配合其它邏輯電路完成加、減、乘、除和其他各種邏輯運算ALU能完成浮點運算關(guān)于這一點我們展示過奔騰系列CPU的內(nèi)部結(jié)構(gòu)圖,我們已經(jīng)看到了其中進行浮點運算的部分奔騰關(guān)于這一點我們展示過奔騰系列CPU的內(nèi)部結(jié)構(gòu)圖,我們已經(jīng)看到了其中進行浮點運算的部分奔騰下面一個是控制器,控制器2寄存器3算術(shù)邏輯單元(ALU)1指令寄存器IR存放從存儲器取出的、將要執(zhí)行的指令(實為其操作碼)控制器又包括三大部分,一個是指令寄存器,它是用來存放從存儲器中取出的將要執(zhí)行的指令然后是指令譯碼器,指令譯碼器是對指令寄存器中的指令進行譯碼,然后確定這個指令應(yīng)該執(zhí)行什么樣的操作指令譯碼器ID對指令寄存器IR中的指令進行譯碼,以確定該指令應(yīng)執(zhí)行什么操作最后一個是可編程邏輯陣列PLA,也稱為定時與控制電路,它會產(chǎn)生取指令和執(zhí)行指令所需要的各種微操作的控制信號。由于每一條指令要執(zhí)行的具體操作是不同的,所以每條指令會對應(yīng)控制信號的某一種組合,PLA就告訴我們的執(zhí)行這條指令究竟要執(zhí)行哪些操作可編程邏輯陣列PLA產(chǎn)生取指令和執(zhí)行指令所需的各種微操作控制信號。每條指令將對應(yīng)控制信號的某一種組合,以確定相應(yīng)的操作序列。定時與控制電路這是控制器的一個完整工作流程,我們有了指令以后,首先要把它取到這個指令寄存器中,然后再交給指令譯碼器,指令譯碼完畢以后就發(fā)送給可編程邏輯陣列,可編程邏輯陣列分析出要執(zhí)行這條指令需要哪些具體的微操作。如果微操作還需要存儲器或接口參與,那么可編程邏輯陣列會發(fā)送控制信號到控制總線上,例如發(fā)送讀或?qū)懙男盘?,讓存儲器或接口?zhí)行讀或?qū)懙牟僮?,指令寄存器IR指令譯碼器ID指令代碼可編程邏輯陣列PLA這是控制器的一個完整工作流程,我們有了指令以后,首先要把它取到這個指令寄存器中,然后再交給指令譯碼器,指令譯碼完畢以后就發(fā)送給可編程邏輯陣列,可編程邏輯陣列分析出要執(zhí)行這條指令需要哪些具體的微操作。如果微操作還需要存儲器或接口參與,那么可編程邏輯陣列會發(fā)送控制信號到控制總線上,例如發(fā)送讀或?qū)懙男盘?,讓存儲器或接口?zhí)行讀或?qū)懙牟僮鳎僮骺刂菩盘栔噶罴拇嫫鱅R指令譯碼器ID指令代碼控制總線CB可編程邏輯陣列PLAI/O接口RAMROM存儲器或接口控制器2寄存器3算術(shù)邏輯單元(ALU)1寄存器寄存器是CPU內(nèi)部的存儲單元CPU內(nèi)部的存儲單元由于寄存器是在CPU內(nèi)部的,所以CPU去讀寫寄存器的速度是非??斓模啾扔趦?nèi)存儲器來說,內(nèi)存儲器它是在CPU外部的,所以CPU要讀寫存儲器要經(jīng)過各種總線,所以呢這個速度會比較慢,比較耗時,CPU內(nèi)部寄存器速度快CPU外部內(nèi)存儲器速度慢CPU訪問寄存器更方便省時CPU內(nèi)部的寄存器分兩種,通用寄存器和專用寄存器,通用寄存器是由程序規(guī)定它的用途,專用寄存器是CPU在設(shè)計之初就已經(jīng)固定好的,比如說堆棧指針寄存器和標志寄存器等等,由程序員規(guī)定其用途通用寄存器專用寄存器用途固定專用如:堆棧指針寄存器、標志寄存器等寄存器以上這些內(nèi)容我們在前面已經(jīng)提到過,這里只是簡單回顧一下,下面我們將會重點來介紹微處理器它的外部引腳和主要功能。謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第二講8088-8086CPU下面我們來學(xué)習(xí)80888086的CPU8088-8086CPU我們這門課程是以英特爾公司的80x八六的基礎(chǔ)產(chǎn)品,8088和8086為背景機展開學(xué)習(xí)的。由于8088和8086他們的差別比較小,英特爾公司80x86差別較小那我們就本節(jié)以8088為主進行介紹,如果沒有特別的說明的話,我們介紹的所有內(nèi)容對于8086都是適用的8086都適用8088和8086都屬于第三代CPU。之所以叫8088或8086,他們的區(qū)別主要在于芯片的引腳上。第三代CPU芯片引腳8086是英特爾發(fā)布的16位芯片,它的內(nèi)部數(shù)據(jù)線和外部數(shù)據(jù)線都是16位的,所以它是真正的16位機英特爾發(fā)布的16位芯片內(nèi)部和外部數(shù)據(jù)線為16位真正的16位機但是英特爾在發(fā)布了8086產(chǎn)品以后,發(fā)現(xiàn)市面上很多產(chǎn)品仍然是用八位數(shù)據(jù)進行傳輸?shù)?,于是因特爾基于這種情況,又發(fā)布了8088以兼容現(xiàn)有的產(chǎn)品。8088它的特點就是它的內(nèi)部數(shù)據(jù)線是16位的,但是它的外部數(shù)據(jù)總線是八位的,所以它是準16位機無論8086還是8088,他們都被廣泛的應(yīng)用于各種智能控制系統(tǒng)中,在最小的配置下,只需要四片外圍的芯片就可以構(gòu)成一個應(yīng)用系統(tǒng),8088和8086都具有兩種工作方式,一種是最小模式,一種是最大模式內(nèi)部數(shù)據(jù)線是16位外部數(shù)據(jù)總線是8位準16位機無論8086還是8088,他們都被廣泛的應(yīng)用于各種智能控制系統(tǒng)中,在最小的配置下,只需要四片外圍的芯片就可以構(gòu)成一個應(yīng)用系統(tǒng),四片外圍芯片應(yīng)用系統(tǒng)8088和8086都具有兩種工作方式,一種是最小模式,一種是最大模式最小模式最大模式下面我們來比較一下,8086和8088兩種芯片,8086和8088的地址引腳是20根,從A0~A19。所不同的是8086有16根數(shù)據(jù)引腳,就是D0~D15,而8088只有8根數(shù)據(jù)引腳,就是D0~D7地址引腳是20根,從A0~A1916根數(shù)據(jù)引腳8根數(shù)據(jù)引腳由于芯片空間有限,地址總線和數(shù)據(jù)總線是復(fù)用的引腳,地址總線和數(shù)據(jù)總線是復(fù)用的引腳空間有限對于8088來說,它只有八根地址線,所以大家可以看到這里是AD0~AD7,從A8開始就不再是ad了,因為從A8到A15就只有地址線不需要根數(shù)據(jù)線復(fù)用了八根地址線不再是AD只有地址線不需要根數(shù)據(jù)線復(fù)用但是,對于8086來說,它的數(shù)據(jù)線和地址線要從AD0復(fù)用到AD15,因它有20根地址線和16根數(shù)據(jù)線,所以大家可以看到它是從AD0一直復(fù)用到AD15,然后A16~19是沒有跟數(shù)據(jù)線復(fù)用,這是第一點大家要注意的區(qū)別,20根地址線16根數(shù)據(jù)線沒有跟數(shù)據(jù)線復(fù)用memory第2點就是M/IO這個引腳。這個引腳中M表示memory就是訪問存儲器的意思。IO就是訪問IO端口的意思。那么究竟訪問存儲器還是IO端口,要看這個引腳是高電平還是低電平。還記得我們在將譯碼器的時候說過,對于引腳來說,引腳上方的小橫杠表示低電平有效,訪問存儲器M訪問IO端口IO引腳是高電平還是低電平引腳上方的小橫杠表示低電平有效我們來看8086,它是在io上有小橫杠,而8088是在m上有小橫杠,因此,同樣的電平接入到兩個芯片的這個引腳上表示的含義是不相同的。對于8086來說,如果是低電平,那么就是去訪問io,但是對于8088來說就是去訪問內(nèi)存儲器,這是一個非常大的區(qū)別同樣的電平接入兩個芯片的引腳表示含義不相同對于8086來說,如果是低電平,那么就是去訪問io,但是對于8088來說就是去訪問內(nèi)存儲器,這是一個非常大的區(qū)別低電平訪問IO端口低電平訪問存儲器8088和8086的特點我們再來看8088和8086的特點,它們具有三個特點,第一個是采用了并行流水線的工作方式,通過設(shè)置了指令預(yù)取隊列來實現(xiàn),關(guān)于指令預(yù)取隊列我們在后面會詳細的介紹。第二個是對內(nèi)存空間實行了分段管理,將內(nèi)存分成了四個段,并設(shè)置了段寄存器,可以方便的實現(xiàn)對1M內(nèi)存空間的尋址,這是我們在下一章要介紹的重點內(nèi)容。最后就是他們都支持多處理器系統(tǒng),也就是系統(tǒng)中可以有多個CPU,而不是只有一個采用并行流水線工作方式通過設(shè)置指令預(yù)取隊列實現(xiàn)01對內(nèi)存空間實行分段管理將內(nèi)存分為4個段并設(shè)置地址段寄存器,以實現(xiàn)對1MB空間的尋址02支持多處理器系統(tǒng)系統(tǒng)中可以有多個CPU,不只一個03重點內(nèi)容謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第三講8088-8086CPU工作模式下面我們來學(xué)習(xí)8088,8086CPU的工作模式8088-8086CPU工作模式8088和8086既可以工作在最大模式也可以工作在最小模式,最大模式最小模式那么我們要如何告訴8088、8086它現(xiàn)在的工作模式呢?如何告訴8088、8086現(xiàn)在的工作模式?就是通過mnmx這個引腳。這個引腳對于8088和8086來說是相同的相同當(dāng)此引腳接高電平的時候,說明8088或8086CPU是處于最小工作模式的,當(dāng)這個引腳是低電平的時候,說明8088或8086CPU是處于最大工作模式的,引腳接高電平時8088或8086CPU最小工作模式引腳接低電平時8088或8086CPU最大工作模式最小工作模式的意思就是整個系統(tǒng)里邊只有一個CPU,他的控制信號比較少,都由這一個CPU說了算,所以不存在總線爭用的問題,因而也就不需要接總線控制器。最大工作模式的意思是說整個系統(tǒng)中有多個CPU,每個CPU都可能正在使用總線,所以會出現(xiàn)控制信號的來源比較多,而且會存在多個CPU爭著使用總線問題,單處理器模式,控制信號較少,一般可不必接總線控制器多處理器模式,控制信號較多,須通過總線控制器與總線相連MN/MX=1(接+5V)由MN/MX引線的狀態(tài)決定MN/MX=0(接地)最小工作模式最大工作模式這種情況下,就需要有一個專門管理總線的模塊,負責(zé)決定究竟總線給誰使用,這就是總線控制器,總線控制器專門管理總線的模塊決定究竟總線給誰使用最小工作模式最大工作模式因此我們在區(qū)分最大模式和最小模式的電路時,最簡單的方法就是看系統(tǒng)中是否連接了總線控制器最小工作模式最大工作模式系統(tǒng)是否連接總線控制器下面我們來看最小工作模式。在最小工作模式的系統(tǒng)連接圖中只有一個CPU,這個CPU要連接信號發(fā)生器,以給CPU一個固定的工作節(jié)拍。還有地址鎖存器和數(shù)據(jù)收發(fā)器用來將CPU復(fù)用的地址和數(shù)據(jù)信號正確的發(fā)送到地址總線和數(shù)據(jù)總線上。最小工作模式時鐘發(fā)生器8088CPU??控制總線數(shù)據(jù)總線地址總線ALEALE:AddressLockEnable給CPU一個固定的工作節(jié)拍數(shù)據(jù)收發(fā)地址鎖存其他的控制信號就直接發(fā)送到控制總線上就好了。這里,我們來重點說明一下地址鎖存器和數(shù)據(jù)收發(fā)器最小工作模式時鐘發(fā)生器8088CPU控制總線數(shù)據(jù)總線地址總線ALEALE:AddressLockEnable??數(shù)據(jù)收發(fā)地址鎖存地址鎖存數(shù)據(jù)收發(fā)在介紹引腳的時候,我們知道8088和8086,它們的地址引腳和數(shù)據(jù)引腳是復(fù)用的,也就是他們使用同樣的引腳發(fā)送地址和數(shù)據(jù)信息,地址引腳數(shù)據(jù)引腳復(fù)用使用同樣的引腳發(fā)送地址和數(shù)據(jù)信息那么如何區(qū)分這個引腳上究竟發(fā)送的是數(shù)據(jù)還是地址呢?其實是通過時間來區(qū)分的如何區(qū)分引腳上究竟發(fā)送的是數(shù)據(jù)還是地址?時間芯片我們知道芯片它不管是讀數(shù)據(jù)還是在寫數(shù)據(jù),都是有一定的操作流程的,讀數(shù)據(jù)寫數(shù)據(jù)有一定的操作流程它首先要把地址發(fā)送出來,當(dāng)CPU將地址發(fā)送出來的時候,他還會配合著讓ALE這個引腳有效,這個引腳也叫做地址鎖存使能信號最小工作模式時鐘發(fā)生器8088CPU??控制總線數(shù)據(jù)總線地址總線ALEALE:AddressLockEnable數(shù)據(jù)收發(fā)地址鎖存把地址發(fā)送出來地址鎖存使能信號當(dāng)這個信號有效的時候,地址鎖存器就是會像一把鎖頭一樣,將此時AD引腳上的數(shù)據(jù)鎖存到地址總線上,一旦鎖存地址總線上的值就不會因為AD引腳的值發(fā)生變化而變化了。最小工作模式時鐘發(fā)生器8088CPU??控制總線數(shù)據(jù)總線地址總線ALEALE:AddressLockEnable數(shù)據(jù)收發(fā)地址鎖存信號有效不因AD引腳的值發(fā)生變化當(dāng)CPU要開始發(fā)送數(shù)據(jù)的時候,AD引腳上的值從地址信息切換成了數(shù)據(jù)信息,這些數(shù)據(jù)信息不會通過地址鎖存器進入地址總線,而是通過數(shù)據(jù)收發(fā)器進入了數(shù)據(jù)總線最小工作模式時鐘發(fā)生器8088CPU??控制總線數(shù)據(jù)總線地址總線ALEALE:AddressLockEnable數(shù)據(jù)收發(fā)地址鎖存開始發(fā)送數(shù)據(jù)時數(shù)據(jù)信息不通過地址鎖存器進入地址總線,是通過數(shù)據(jù)收發(fā)器進入數(shù)據(jù)總線這個時候再結(jié)合CPU發(fā)出的控制指令,存儲器或IO接口就知道CPU究竟是要讀數(shù)據(jù)還是寫數(shù)據(jù)了最小工作模式時鐘發(fā)生器8088CPU??控制總線數(shù)據(jù)總線地址總線ALEALE:AddressLockEnable數(shù)據(jù)收發(fā)地址鎖存開始發(fā)送數(shù)據(jù)時讀數(shù)據(jù)寫數(shù)據(jù)CPU發(fā)出控制指令I(lǐng)O接口存儲器這是8086處于最小模式組建的一個系統(tǒng)。我們可以看到這里有負責(zé)時鐘的芯片,有進行地址鎖存的芯片,還有進行數(shù)據(jù)收發(fā)的芯片。請大家注意,這里的控制信號都是直接進入到了控制總線上的,所以這個8086它是處于最小工作模式的80868086最小模式組建系統(tǒng)注意控制信號都是直接進入到控制總線上最小工作模式下面我們再來看一下最大工作模式,在最大工作模式下,系統(tǒng)中會有多個CPU,最大工作模式地址總線數(shù)據(jù)總線控制總線總線控制器地址鎖存8088CPUALE數(shù)據(jù)收發(fā)時鐘發(fā)生器系統(tǒng)有多個CPU這個時候需要吧控制信號接入到總線控制器中,由總線控制器負責(zé)指定現(xiàn)在總線上的控制信號是來自于哪一路CPU。最大工作模式地址總線數(shù)據(jù)總線控制總線總線控制器地址鎖存8088CPUALE數(shù)據(jù)收發(fā)時鐘發(fā)生器控制信號來自哪一路CPU同樣的,由于CPU它的地址和數(shù)據(jù)是復(fù)用的,仍然是需要通過進行地址鎖存的控制才能保證引腳上的地址和數(shù)據(jù)是可以被準確的進行區(qū)分的最大工作模式地址總線數(shù)據(jù)總線控制總線總線控制器地址鎖存8088CPUALE數(shù)據(jù)收發(fā)時鐘發(fā)生器進行地址鎖存的控制保證引腳上的地址和數(shù)據(jù)被準確區(qū)分這就是我們說的,最大模式和最小模式的主要區(qū)別,就是我們要看系統(tǒng)中有多少個CPU,以及系統(tǒng)中是否有總線控制器最小工作模式最大工作模式主要區(qū)別系統(tǒng)中有多少個CPU系統(tǒng)中是否有總線控制器這是8086連接的最大工作模式的示意圖。我們可以看到除了時鐘,地址鎖存和數(shù)據(jù)收發(fā)這些跟前面一樣的芯片以外,還有一個8288,它就是總線控制器,80868086最大工作模式示意圖總線控制器它也需要一個時鐘給他工作節(jié)拍,將8288連接到控制總線上,以實現(xiàn)對總線上的控制信號進行監(jiān)控和管理需要一個時鐘給工作節(jié)拍將8288連接到控制總線上對總線上的控制信號進行監(jiān)控和管理謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第四講8088CPU主要引腳(一)下面我們來學(xué)習(xí)8088CPU的主要引腳8088CPU主要引腳(一)8088和8086都有40個引腳,屬于雙列直插式的封裝,他們的工作電壓是5v40個引腳雙列直插式封裝工作電壓:5v在8088和8086中,有些引腳屬于雙重定義的,雙重定義比如我們前面介紹過的地址和數(shù)據(jù)引腳,他們采用分時復(fù)用的方式進行工作地址引腳數(shù)據(jù)引腳分時復(fù)用可以通過ALE這個引腳加上分時工作一個特性,將AD引腳上的地址和數(shù)據(jù)區(qū)分開來區(qū)分AD引腳上的地址和數(shù)據(jù)由于地址信號和數(shù)據(jù)信號是復(fù)用的,就可以大大的減少芯片所需要的引腳數(shù)目,從這張圖上可以看到8088和8086的引腳是基本相同的,我們在前邊已經(jīng)給大家介紹了他們的主要差別減少了引腳數(shù)目8088與8086的引腳基本相同下面我們來詳細的了解一下各引腳的功能各引腳的功能首先來看一下A16到A19這四個引腳首先來看一下A16到A19這四個引腳,它們是地址的高四位,也是復(fù)用的引腳,是跟狀態(tài)引腳復(fù)用,狀態(tài)引腳是指S3到S6狀態(tài)引腳地址高四位復(fù)用引腳這四個引腳的輸出是三態(tài)輸出,包括低電平,高電平和高阻態(tài),也就是懸浮狀態(tài)低電平三態(tài)輸出狀態(tài)引腳地址高四位復(fù)用引腳高電平高阻態(tài)(懸浮狀態(tài))8088在執(zhí)行指令的過程中,在某一個時刻這四個引腳的輸出是地址總線的高四位,此時這四個引腳的信息可以用于CPU對外部設(shè)備尋址,在某些時刻,這四個引腳表示CPU處于某種狀態(tài),S3到S6是什么含義呢?低電平三態(tài)輸出高電平高阻態(tài)(懸浮狀態(tài))輸出是地址總線的高四位用于CPU對外部設(shè)備尋址S3到S6是什么含義?首先S6它是恒等于0的,S5是中斷標志位,S4到S3的組合表示CPU當(dāng)前使用的段寄存器是哪一個?S6:恒等于0S5:中斷標志位S4到S3的組合表示CPU當(dāng)前使用的段寄存器是哪一個?關(guān)于段寄存器的定義我們在后面會給大家介紹,這里大家就知道S3到S4的不同組合表示CPU它正在使用不同的寄存器,這個寄存器跟尋址有關(guān)S6:恒等于0S5:中斷標志位S3到S4的不同組合表示CPU在使用不同寄存器再來看A8到15,A8到A15是地址總線的引腳,地址總線的引腳由于8088沒有D8~D15的引腳,所以A8到A15也沒有跟數(shù)據(jù)總線復(fù)用,它們只進行地址信號的輸出,沒有跟數(shù)據(jù)總線復(fù)用只進行地址信號輸出地址總線的引腳再來看AD00到AD7,這些是地址線和數(shù)據(jù)線復(fù)用的引腳,也是三態(tài)的輸出,我們前面已經(jīng)給大家介紹了如何區(qū)分這些引腳究竟是地址還是數(shù)據(jù)?地址線和數(shù)據(jù)線復(fù)用的引腳三態(tài)的輸出如何區(qū)分引腳是地址還是數(shù)據(jù)?可以結(jié)合ALE以及DEN的狀態(tài)ALEDEN當(dāng)ALE有效的時候,說明這些引腳上它發(fā)送的是地址信號,地址鎖存器會將這些地址鎖存到地址總線上當(dāng)DEN這個引腳有效的時候,說明這些引腳上發(fā)送的是數(shù)據(jù)信號ALEDEN鎖存在地址總線上地址信號數(shù)據(jù)信號再來看IO/M這個引腳,我們在前面已經(jīng)給大家介紹過了,他表示的是CPU要去存取內(nèi)存儲器的信息還是與IO接口進行數(shù)據(jù)的傳輸,CPU存取內(nèi)存儲器的信息CPU與IO接口傳輸數(shù)據(jù)當(dāng)這個引腳是高電平時,表示CPU要IO接口進行信息的傳輸,當(dāng)這個引腳是低電平的時候,表示CPU要跟存儲器進行信息的傳輸CPU和IO接口傳輸信息高電平CPU和存儲器傳輸信息低電平再來看WR和RD這兩個引腳這兩個引腳的頭上都是帶小橫杠的,那說明這兩個引腳都是低電平有效的低電平有效WR是write的簡寫,他表示寫信號RD是read的簡寫,他就表示是讀信號低電平有效讀信號read寫信號write所以當(dāng)WR這個引腳是低電平時,表示CPU要進行寫操作CPU要寫操作低電平當(dāng)RD這個引腳是低電平時,表示CPU要進行讀操作,那究竟寫IO還是存儲器或者是讀IO還是存儲器呢?同學(xué)們想一下?對,我們要將WR和RD的狀態(tài)與IO/m這個引腳的狀態(tài)結(jié)合起來一起看才能確定CPU要讀操作低電平是寫IO或存儲器還是讀IO或存儲器?當(dāng)RD這個引腳是低電平時,表示CPU要進行讀操作,那究竟寫IO還是存儲器或者是讀IO還是存儲器呢?同學(xué)們想一下?對,我們要將WR和RD的狀態(tài)與IO/m這個引腳的狀態(tài)結(jié)合起來一起看才能確定CPU要讀操作低電平結(jié)合WR和RD的狀態(tài)與IO/m引腳的狀態(tài)謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第五講8088CPU主要引腳(二)下面我們來學(xué)習(xí)另外幾個比較重要的引腳8088CPU主要引腳(二)先來看一下DT/R這個引腳8088CPU主要引腳(二)DT是datatransmit的簡寫,DR是datareceive的簡寫DT:datatransmitDR:datareceive8088CPU主要引腳(二)DT/R是復(fù)用的引腳,它表示數(shù)據(jù)發(fā)送和接收的控制信號復(fù)用引腳數(shù)據(jù)發(fā)送接收控制信號8088CPU主要引腳(二)它輸出也是三態(tài),用于指示數(shù)據(jù)的傳送方向指示數(shù)據(jù)傳送方向輸出:三態(tài)8088CPU主要引腳(二)當(dāng)DT有效的時候,表示數(shù)據(jù)是從CPU送往外部的,當(dāng)DR有效的時候,表示數(shù)據(jù)是從外部進入到CPU的,它可以用來控制總線收發(fā)器的傳送方向指示數(shù)據(jù)傳送方向輸出:三態(tài)數(shù)據(jù)從CPU送往外部DT有效數(shù)據(jù)從外部進入CPUDR有效控制總線收發(fā)器的傳送方向下一個引腳是DEN,它是數(shù)據(jù)允許信號數(shù)據(jù)允許信號由于地址總線和數(shù)據(jù)總線是復(fù)用的,所以當(dāng)DEN有效的時候,表示復(fù)用的引腳上,實際傳送的是數(shù)據(jù)信息,也就是AD0~AD7引腳上正在發(fā)送D0~D7數(shù)據(jù)允許信號AD0~AD7引腳上正在發(fā)送D0~D7傳送數(shù)據(jù)信息而且數(shù)據(jù)信息會被鎖存在數(shù)據(jù)鎖存器中數(shù)據(jù)允許信號AD0~AD7引腳上正在發(fā)送D0~D7傳送數(shù)據(jù)信息鎖存在數(shù)據(jù)鎖存器下面再來看一下,地址鎖存使能信號,地址鎖存使能信號它會將AD0到A19上的信息鎖存在地址總線上將AD0到A19上的信息鎖存在地址總線上當(dāng)它為高電平的時候,表示ad0~ad7上正在發(fā)送的是地址信號ad0~ad7上正在發(fā)送地址信號高電平Ready信號是輸入信號,它是高電平有效的,表示準備好了輸入信號準備好了高電平被訪問的內(nèi)存或者io會發(fā)出這樣的信號給CPU,當(dāng)這個信號有效時,表示內(nèi)存或IO已經(jīng)準備好了,CPU可以對其進行數(shù)據(jù)訪問輸入信號準備好了高電平內(nèi)存或IO已準備好,CPUa可以對其進行數(shù)據(jù)訪問信號有效當(dāng)這個信號無效的時候,表示內(nèi)存或IO還沒有準備好,CPU就不能對其進行讀寫操作和訪問輸入信號準備好了高電平內(nèi)存或IO未準備好,CPUa不能對其進行讀寫操作和訪問信號無效所以這個信號其實是外部設(shè)備向CPU報告他們的狀態(tài)的信號,當(dāng)CPU檢測到這個引腳從0變到1的時候,說明內(nèi)存或io準備好了,CPU才開始對這些設(shè)備進行訪問輸入信號向CPU報告狀態(tài)內(nèi)存或io已準備好從0變到1下面介紹跟中斷相關(guān)的引腳,首先是INTR引腳,它的英文是interrupt,就是中斷,Interrupt:中斷它表示可屏蔽的中斷請求信號,是輸入信號,還記得屏蔽是什么意思嗎?屏蔽就是讓CPU感受不到Interrupt:中斷輸入信號可屏蔽的中斷請求信號屏蔽:讓CPU感受不到在沒有屏蔽的情況下,CPU在每條指令的最后一個機器周期的最后一個時鐘周期,會去看一下這個引腳,如果這個引腳為高電平,那就是有效的,那么CPU它就可能會去執(zhí)行外部設(shè)備的中斷請求引腳為高電平則有效,CPU執(zhí)行外部設(shè)備的中斷請求沒有屏蔽如果CPU屏蔽了外部中斷,那么這個引腳即使有效,CPU也不會去相應(yīng)這個中斷。CPU可以通過指令屏蔽掉外部中斷,這個操作也叫關(guān)中斷。引腳為高電平則有效,CPU執(zhí)行外部設(shè)備的中斷請求沒有屏蔽即使引腳有效,CPU也不會響應(yīng)中斷有屏蔽關(guān)中斷:CPU通過指令屏蔽掉外部中斷下面一個引腳是INTA,它的英文是interruptacknowledgement,意思是中斷響應(yīng),它是輸出信號,中斷響應(yīng)interruptacknowledgement輸出信號當(dāng)CPU在INTR上收到的這個中斷請求信號后,如果他要響應(yīng)這個中斷就要將INTA這個引腳置成低電平,表示CPU要響應(yīng)INTR的請求了,它可用于外部中斷源的中斷類型碼的選通信號CPU收到中斷請求信號CPU響應(yīng)INTR的請求將INTA置成低電平可用于外部中斷源的中斷類型碼的選通信號再來看一下nonmaskableinterrupt,NMI,它是不可屏蔽的中斷請求信號,也是輸入信號中斷請求信號輸入信號從這個引腳來的外部中斷請求,CPU是不能用軟件對它進行屏蔽的,CPU在執(zhí)行完它當(dāng)前的指令以后,必須去響應(yīng)該中斷請求,這就是不可屏蔽的含義CPU不能用軟件屏蔽它CPU必須響應(yīng)中斷請求謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第六講8088CPU內(nèi)部結(jié)構(gòu)下面我們來學(xué)習(xí)一下8088的內(nèi)部結(jié)構(gòu)8088CPU內(nèi)部結(jié)構(gòu)8088的內(nèi)部結(jié)構(gòu)如這張圖所示。其實這張圖看起來并不復(fù)雜,對嗎?這是我們?yōu)槭裁匆?0X86為原型機來講解CPU的原因。就是因為他們的結(jié)構(gòu)比較簡單,同學(xué)們?nèi)菀桌斫?,像其他更先進的CPU,它的內(nèi)部結(jié)構(gòu)太復(fù)雜了,同學(xué)們學(xué)習(xí)起來會非常困難8088的內(nèi)部結(jié)構(gòu)圖并不復(fù)雜8088結(jié)構(gòu)較簡單易理解更先進的CPU內(nèi)部結(jié)構(gòu)復(fù)雜不易理解businterfaceunitexecutionunit在8088的內(nèi)部,其實我們可以把它從中間分開看成兩部分,左邊的叫執(zhí)行單元英文是executionunit,簡寫成EU。右邊叫總線接口單元,英文是businterfaceunit,簡寫成BIU執(zhí)行單元總線接口單元EUBIU從字面上我們可以這么理解。EU是CPU執(zhí)行各種指令的地方,而BIU是CPU跟外部設(shè)備進行通信的通道EUBIUCPU執(zhí)行各種指令的地方CPU跟外部設(shè)備進行通信的通道首先來看一下執(zhí)行單元,它里面包括了運算器,就是像馬蹄形的這個部分。八個通用寄存器,就是這上面8個長方形的框。一個標志寄存器,它在ALU的下面,寫著FLAGS的這個地方和EU部分的控制電路,在跟BIU鄰近的這個地方。執(zhí)行單元的功能,我們可以跟它的內(nèi)部器件對應(yīng)著看。運算器是進行指令的計算和執(zhí)行的地方。八個通用寄存器可以用來暫存中間運算結(jié)果。而標志寄存器可以用來保存運算的特征。控制電路是用來控制究竟是要取指令還是去執(zhí)行指令等構(gòu)成執(zhí)行單元功能運算器8個通用寄存器1個標志寄存器EU部分控制電路指令的計算和執(zhí)行暫存中間運算結(jié)果保存運算的特征控制取或執(zhí)行指令總線接口單元的功能是從內(nèi)存中取出指令到指令預(yù)取隊列中,并且負責(zé)跟內(nèi)存或者是輸入輸出接口之間進行數(shù)據(jù)的傳送。如果執(zhí)行到了轉(zhuǎn)移指令,那么意味著現(xiàn)在保存在指令預(yù)取隊列中的指令可能都不是將要執(zhí)行的治理,那么BIU會把指令預(yù)取隊列的內(nèi)容清空,也就是復(fù)位,然后再從轉(zhuǎn)移指令指示的新的地址取指令。取到指令后傳給執(zhí)行指令的單元進行執(zhí)行。指令預(yù)取隊列是80X86系列的創(chuàng)新,總線接口單元功能從內(nèi)存中取指令到指令預(yù)取隊列負責(zé)與內(nèi)存或輸入/輸出接口之間的數(shù)據(jù)傳送在執(zhí)行轉(zhuǎn)移程序時,BIU使指令預(yù)取隊列復(fù)位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行80X86系列的創(chuàng)新功能在執(zhí)行轉(zhuǎn)移程序時,BIU使指令預(yù)取隊列復(fù)位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行它是CPU能夠進行并行流水線工作的非常重要的基礎(chǔ),我們在下一節(jié)會給大家重點的介紹總線接口單元從內(nèi)存中取指令到指令預(yù)取隊列負責(zé)與內(nèi)存或輸入/輸出接口之間的數(shù)據(jù)傳送指令預(yù)取隊列是并行流水線工作的基礎(chǔ)功能在執(zhí)行轉(zhuǎn)移程序時,BIU使指令預(yù)取隊列復(fù)位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行在BIU這個部分除了指令預(yù)取隊列以外,還有幾個長方形的框,標記著段寄存器,這些是專用寄存器,其中IP是指令指針寄存器,它告訴我們目標指令的位置再跟著老師網(wǎng)上看,你可以看到一個倒的馬蹄形的模塊,它是地址加法器,究竟是怎么相加的我們在下一章會給大家介紹,但是大家要知道,這個地址加法器它的輸出就是20位的地址信息,被傳輸?shù)降刂芬_上??偩€接口單元從內(nèi)存中取指令到指令預(yù)取隊列負責(zé)與內(nèi)存或輸入/輸出接口之間的數(shù)據(jù)傳送指令預(yù)取隊列是并行流水線工作的基礎(chǔ)指令指針寄存器目標指令的位置功能在執(zhí)行轉(zhuǎn)移程序時,BIU使指令預(yù)取隊列復(fù)位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行再跟著老師網(wǎng)上看,你可以看到一個倒的馬蹄形的模塊,它是地址加法器,總線接口單元從內(nèi)存中取指令到指令預(yù)取隊列負責(zé)與內(nèi)存或輸入/輸出接口之間的數(shù)據(jù)傳送指令預(yù)取隊列是并行流水線工作的基礎(chǔ)地址加法器究竟是怎么相加的我們在下一章會給大家介紹,但是大家要知道,這個地址加法器它的輸出就是20位的地址信息,被傳輸?shù)降刂芬_上。地址加法器是怎么相加?地址加法器的輸出是20位的地址信息,被傳輸?shù)降刂芬_上。謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第七講指令預(yù)取隊列這一節(jié)我們來學(xué)習(xí)指令預(yù)取隊列指令預(yù)取隊列首先來了解一下為什么需要指令預(yù)取隊列,為什么需要指令預(yù)取隊列?因為這要涉及到傳送地址,數(shù)據(jù)這些信息,要使用地址總線和數(shù)據(jù)總線等,因此CPU和內(nèi)存之間通信的速度要遠遠低于CPU內(nèi)部處理的速度傳送地址傳送數(shù)據(jù)地址總線和數(shù)據(jù)總線CPU執(zhí)行完指令要等待很長時間下一條指令到達才繼續(xù)工作拖慢運行時間和工作效率這會導(dǎo)致CPU執(zhí)行完了指令要等待很長時間,等下一條指令到達后才能繼續(xù)工作,這嚴重拖慢了CPU的運行時間和工作效率。那要如何解決這個問題呢?如何解決這個問題?當(dāng)然,我們可以想辦法提升CPU與內(nèi)存之間通信的速率,但這會大幅度提升成本CPU內(nèi)存大幅度提升成本通信速率那么工程師們想到的辦法,就是用指令預(yù)取隊列,在EU和BIU之間做一個緩沖。工程師指令預(yù)取隊列EUBIUBIU可以預(yù)先將多條指令讀進來按先來后到的順序存放在指令預(yù)取隊列中。這個隊列執(zhí)行的規(guī)則是先進先出。就是先進來的指令先從隊列中拿出去執(zhí)行。這樣EU就不必等待BIU讀取指令,而可以一直從隊列中取指令并執(zhí)行了BIUEU將多條指令讀進來按先來后到的順序存放指令預(yù)取隊列不必等待BIU讀取指令,從隊列中取指令并執(zhí)行先進來的指令先從隊列中拿出去執(zhí)行先進先出因此,我們說指令預(yù)取隊列保證EU和BIU兩個部分可以同時進行工作。最重要的是有了指令預(yù)取隊列以后,我們才真正實現(xiàn)了指令的并行執(zhí)行BIUEU指令預(yù)取隊列同時進行并行執(zhí)行我們在前面提到過,要想實現(xiàn)指令的并行執(zhí)行,要把取指令,分析指令和執(zhí)行指令交給不同的人去做想實現(xiàn)指令的并行執(zhí)行,要把取指令,分析指令和執(zhí)行指令交給不同的人去做在8088、8086出現(xiàn)之前,也就是在沒有指令預(yù)取隊列的時候,CPU是用串行的方式來進行指令操作的,8088、8086出現(xiàn)前,沒有指令預(yù)取隊列時CPU用串行的方式進行指令操作取指指令流水線先取指令,然后如果需要取操作數(shù)的話,再去取操作數(shù),最后再執(zhí)行,執(zhí)行完了以后把數(shù)據(jù)存儲下來,再去取下一條指令,這就是串行的方式。這種串行方式的工作效率會比較低8088、8086出現(xiàn)前,沒有指令預(yù)取隊列時CPU用串行的方式進行指令操作執(zhí)行存數(shù)取數(shù)串行方式工作效率會比較低有了指令預(yù)取隊列,EU和BIU各司其職,實現(xiàn)并行的執(zhí)行方式。這種方式可以大大提升CPU處理指令的效率BIUEU指令預(yù)取隊列各司其職并行執(zhí)行提升CPU處理指令的效率負責(zé)指令的執(zhí)行由于取指令是事先進行,有時間差在并行執(zhí)行方式中,BIU是CPU跟外部通信的一個通道,他負責(zé)從內(nèi)存中取出指令,并送入到指令預(yù)取隊列中。如果需要的話它再從內(nèi)存中取操作數(shù)再送到EU部分執(zhí)行。EU就負責(zé)指令的執(zhí)行。而且由于取指令是事先就進行的,有個時間差的問題,所以EU也不需要再等等BIU了EUBIU負責(zé)從內(nèi)存取指送入指令流隊列從內(nèi)存取操作數(shù)送至EU部份去執(zhí)行8086/8088CPU我們來看這張圖,BIU一直在取指令,EU一直在執(zhí)行指令,如果需要取操作數(shù)的話,BIU會再去取個操作數(shù)。所以總線可以一直處于繁忙的狀態(tài)如需取操作數(shù),BIU會再去取個操作數(shù)因為取指令和執(zhí)行指令由不同的模塊來負責(zé),所以我們說他們在空間上是分開的。所以在時間上他們是可以被同時執(zhí)行的,也就是取指令和執(zhí)行指令可以同時進行了,當(dāng)然取的指令和執(zhí)行的指令不是同一個指令哈。這就是指令的并行執(zhí)行BIU&EU取指令和執(zhí)行指令由不同模塊負責(zé)在空間上是分開的,故在時間上可采用重疊操作技術(shù)(取的指令和執(zhí)行的指令不是同一個指令)這就是指令的并行執(zhí)行BIU取指1取指2取指3取指4取指5得到數(shù)據(jù)取指6EU等待執(zhí)行1執(zhí)行2執(zhí)行3執(zhí)行4指令的并行執(zhí)行8088和8086首次在CPU中采用了指令流水線的結(jié)構(gòu),使他們成為了CPU發(fā)展史上的一個里程碑。采用指令流水線的結(jié)構(gòu)CPU發(fā)展史上的里程碑隨著技術(shù)的發(fā)展,現(xiàn)在我們使用的CPU為了加速,cpu中不止有指令預(yù)取隊列還加入了更多新的技術(shù)。請感興趣的同學(xué),自行了解一下?,F(xiàn)在使用的CPU為了加速,不止有指令預(yù)取隊列還加入更多新的技術(shù)。謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第七講指令預(yù)取隊列這一節(jié)我們來學(xué)習(xí)指令預(yù)取隊列指令預(yù)取隊列首先來了解一下為什么需要指令預(yù)取隊列,為什么需要指令預(yù)取隊列?因為這要涉及到傳送地址,數(shù)據(jù)這些信息,要使用地址總線和數(shù)據(jù)總線等,因此CPU和內(nèi)存之間通信的速度要遠遠低于CPU內(nèi)部處理的速度傳送地址傳送數(shù)據(jù)地址總線和數(shù)據(jù)總線CPU執(zhí)行完指令要等待很長時間下一條指令到達才繼續(xù)工作拖慢運行時間和工作效率這會導(dǎo)致CPU執(zhí)行完了指令要等待很長時間,等下一條指令到達后才能繼續(xù)工作,這嚴重拖慢了CPU的運行時間和工作效率。那要如何解決這個問題呢?如何解決這個問題?當(dāng)然,我們可以想辦法提升CPU與內(nèi)存之間通信的速率,但這會大幅度提升成本CPU內(nèi)存大幅度提升成本通信速率那么工程師們想到的辦法,就是用指令預(yù)取隊列,在EU和BIU之間做一個緩沖。工程師指令預(yù)取隊列EUBIUBIU可以預(yù)先將多條指令讀進來按先來后到的順序存放在指令預(yù)取隊列中。這個隊列執(zhí)行的規(guī)則是先進先出。就是先進來的指令先從隊列中拿出去執(zhí)行。這樣EU就不必等待BIU讀取指令,而可以一直從隊列中取指令并執(zhí)行了BIUEU將多條指令讀進來按先來后到的順序存放指令預(yù)取隊列不必等待BIU讀取指令,從隊列中取指令并執(zhí)行先進來的指令先從隊列中拿出去執(zhí)行先進先出因此,我們說指令預(yù)取隊列保證EU和BIU兩個部分可以同時進行工作。最重要的是有了指令預(yù)取隊列以后,我們才真正實現(xiàn)了指令的并行執(zhí)行BIUEU指令預(yù)取隊列同時進行并行執(zhí)行我們在前面提到過,要想實現(xiàn)指令的并行執(zhí)行,要把取指令,分析指令和執(zhí)行指令交給不同的人去做想實現(xiàn)指令的并行執(zhí)行,要把取指令,分析指令和執(zhí)行指令交給不同的人去做在8088、8086出現(xiàn)之前,也就是在沒有指令預(yù)取隊列的時候,CPU是用串行的方式來進行指令操作的,8088、8086出現(xiàn)前,沒有指令預(yù)取隊列時CPU用串行的方式進行指令操作取指指令流水線先取指令,然后如果需要取操作數(shù)的話,再去取操作數(shù),最后再執(zhí)行,執(zhí)行完了以后把數(shù)據(jù)存儲下來,再去取下一條指令,這就是串行的方式。這種串行方式的工作效率會比較低8088、8086出現(xiàn)前,沒有指令預(yù)取隊列時CPU用串行的方式進行指令操作執(zhí)行存數(shù)取數(shù)串行方式工作效率會比較低有了指令預(yù)取隊列,EU和BIU各司其職,實現(xiàn)并行的執(zhí)行方式。這種方式可以大大提升CPU處理指令的效率BIUEU指令預(yù)取隊列各司其職并行執(zhí)行提升CPU處理指令的效率負責(zé)指令的執(zhí)行由于取指令是事先進行,有時間差在并行執(zhí)行方式中,BIU是CPU跟外部通信的一個通道,他負責(zé)從內(nèi)存中取出指令,并送入到指令預(yù)取隊列中。如果需要的話它再從內(nèi)存中取操作數(shù)再送到EU部分執(zhí)行。EU就負責(zé)指令的執(zhí)行。而且由于取指令是事先就進行的,有個時間差的問題,所以EU也不需要再等等BIU了EUBIU負責(zé)從內(nèi)存取指送入指令流隊列從內(nèi)存取操作數(shù)送至EU部份去執(zhí)行8086/8088CPU我們來看這張圖,BIU一直在取指令,EU一直在執(zhí)行指令,如果需要取操作數(shù)的話,BIU會再去取個操作數(shù)。所以總線可以一直處于繁忙的狀態(tài)如需取操作數(shù),BIU會再去取個操作數(shù)因為取指令和執(zhí)行指令由不同的模塊來負責(zé),所以我們說他們在空間上是分開的。所以在時間上他們是可以被同時執(zhí)行的,也就是取指令和執(zhí)行指令可以同時進行了,當(dāng)然取的指令和執(zhí)行的指令不是同一個指令哈。這就是指令的并行執(zhí)行BIU&EU取指令和執(zhí)行指令由不同模塊負責(zé)在空間上是分開的,故在時間上可采用重疊操作技術(shù)(取的指令和執(zhí)行的指令不是同一個指令)這就是指令的并行執(zhí)行BIU取指1取指2取指3取指4取指5得到數(shù)據(jù)取指6EU等待執(zhí)行1執(zhí)行2執(zhí)行3執(zhí)行4指令的并行執(zhí)行8088和8086首次在CPU中采用了指令流水線的結(jié)構(gòu),使他們成為了CPU發(fā)展史上的一個里程碑。采用指令流水線的結(jié)構(gòu)CPU發(fā)展史上的里程碑隨著技術(shù)的發(fā)展,現(xiàn)在我們使用的CPU為了加速,cpu中不止有指令預(yù)取隊列還加入了更多新的技術(shù)。請感興趣的同學(xué),自行了解一下?,F(xiàn)在使用的CPU為了加速,不止有指令預(yù)取隊列還加入更多新的技術(shù)。謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第七講指令預(yù)取隊列這一節(jié)我們來學(xué)習(xí)指令預(yù)取隊列指令預(yù)取隊列首先來了解一下為什么需要指令預(yù)取隊列,為什么需要指令預(yù)取隊列?主要的原因是CPU處理指令的速度比較快,但是從CPU從內(nèi)存取指令或操作數(shù)的速度比較慢,因為這要涉及到傳送地址,數(shù)據(jù)這些信息,要使用地址總線和數(shù)據(jù)總線等,因此CPU和內(nèi)存之間通信的速度要遠遠低于CPU內(nèi)部處理的速度傳送地址傳送數(shù)據(jù)地址總線和數(shù)據(jù)總線CPU執(zhí)行完指令要等待很長時間下一條指令到達才繼續(xù)工作拖慢運行時間和工作效率這會導(dǎo)致CPU執(zhí)行完了指令要等待很長時間,等下一條指令到達后才能繼續(xù)工作,這嚴重拖慢了CPU的運行時間和工作效率。那要如何解決這個問題呢?如何解決這個問題?當(dāng)然,我們可以想辦法提升CPU與內(nèi)存之間通信的速率,但這會大幅度提升成本CPU內(nèi)存大幅度提升成本通信速率那么工程師們想到的辦法,就是用指令預(yù)取隊列,在EU和BIU之間做一個緩沖。工程師指令預(yù)取隊列EUBIUBIU可以預(yù)先將多條指令讀進來按先來后到的順序存放在指令預(yù)取隊列中。這個隊列執(zhí)行的規(guī)則是先進先出。就是先進來的指令先從隊列中拿出去執(zhí)行。這樣EU就不必等待BIU讀取指令,而可以一直從隊列中取指令并執(zhí)行了BIUEU將多條指令讀進來按先來后到的順序存放指令預(yù)取隊列不必等待BIU讀取指令,從隊列中取指令并執(zhí)行先進來的指令先從隊列中拿出去執(zhí)行先進先出因此,我們說指令預(yù)取隊列保證EU和BIU兩個部分可以同時進行工作。最重要的是有了指令預(yù)取隊列以后,我們才真正實現(xiàn)了指令的并行執(zhí)行BIUEU指令預(yù)取隊列同時進行并行執(zhí)行我們在前面提到過,要想實現(xiàn)指令的并行執(zhí)行,要把取指令,分析指令和執(zhí)行指令交給不同的人去做想實現(xiàn)指令的并行執(zhí)行,要把取指令,分析指令和執(zhí)行指令交給不同的人去做在8088、8086出現(xiàn)之前,也就是在沒有指令預(yù)取隊列的時候,CPU是用串行的方式來進行指令操作的,8088、8086出現(xiàn)前,沒有指令預(yù)取隊列時CPU用串行的方式進行指令操作取指指令流水線先取指令,然后如果需要取操作數(shù)的話,再去取操作數(shù),最后再執(zhí)行,執(zhí)行完了以后把數(shù)據(jù)存儲下來,再去取下一條指令,這就是串行的方式。這種串行方式的工作效率會比較低8088、8086出現(xiàn)前,沒有指令預(yù)取隊列時CPU用串行的方式進行指令操作執(zhí)行存數(shù)取數(shù)串行方式工作效率會比較低有了指令預(yù)取隊列,EU和BIU各司其職,實現(xiàn)并行的執(zhí)行方式。這種方式可以大大提升CPU處理指令的效率BIUEU指令預(yù)取隊列各司其職并行執(zhí)行提升CPU處理指令的效率負責(zé)指令的執(zhí)行由于取指令是事先進行,有時間差在并行執(zhí)行方式中,BIU是CPU跟外部通信的一個通道,他負責(zé)從內(nèi)存中取出指令,并送入到指令預(yù)取隊列中。如果需要的話它再從內(nèi)存中取操作數(shù)再送到EU部分執(zhí)行。EU就負責(zé)指令的執(zhí)行。而且由于取指令是事先就進行的,有個時間差的問題,所以EU也不需要再等等BIU了EUBIU負責(zé)從內(nèi)存取指送入指令流隊列從內(nèi)存取操作數(shù)送至EU部份去執(zhí)行8086/8088CPU我們來看這張圖,BIU一直在取指令,EU一直在執(zhí)行指令,如果需要取操作數(shù)的話,BIU會再去取個操作數(shù)。所以總線可以一直處于繁忙的狀態(tài)如需取操作數(shù),BIU會再去取個操作數(shù)因為取指令和執(zhí)行指令由不同的模塊來負責(zé),所以我們說他們在空間上是分開的。所以在時間上他們是可以被同時執(zhí)行的,也就是取指令和執(zhí)行指令可以同時進行了,當(dāng)然取的指令和執(zhí)行的指令不是同一個指令哈。這就是指令的并行執(zhí)行BIU&EU取指令和執(zhí)行指令由不同模塊負責(zé)在空間上是分開的,故在時間上可采用重疊操作技術(shù)(取的指令和執(zhí)行的指令不是同一個指令)這就是指令的并行執(zhí)行BIU取指1取指2取指3取指4取指5得到數(shù)據(jù)取指6EU等待執(zhí)行1執(zhí)行2執(zhí)行3執(zhí)行4指令的并行執(zhí)行8088和8086首次在CPU中采用了指令流水線的結(jié)構(gòu),使他們成為了CPU發(fā)展史上的一個里程碑。采用指令流水線的結(jié)構(gòu)CPU發(fā)展史上的里程碑隨著技術(shù)的發(fā)展,現(xiàn)在我們使用的CPU為了加速,cpu中不止有指令預(yù)取隊列還加入了更多新的技術(shù)。請感興趣的同學(xué),自行了解一下?,F(xiàn)在使用的CPU為了加速,不止有指令預(yù)取隊列還加入更多新的技術(shù)。謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第八講8088CPU的通用寄存器下面我們來學(xué)習(xí)8088CPU的通用寄存器8088CPU的通用寄存器在8088的內(nèi)部有14個,16位的寄存器,我們把它們分成兩類,一類是通用寄存器,一類是專用寄存器,左邊是通用寄存器,一共有八個,這八個通用寄存器都在8088內(nèi)部的EU這個部分中,我們可以把這八個通用寄存器再細分成三類,包括數(shù)據(jù)寄存器AX、BX、CX和DX共4個,兩個指針寄存器SP和BP,還有兩個變址寄存器SI和DI14個16位的寄存器通用寄存器專用寄存器AHALBHBLCHCLDHDLAXBXCXDX堆棧指針寄存器基址指針寄存器SPBP指針寄存器SIDI源變址寄存器目的變址寄存器變址寄存器數(shù)據(jù)寄存器IP指令指針FLAGS狀態(tài)標志控制寄存器CSDSSSES段寄存器代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器首先我們來看一下數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是用來存放參與運算的數(shù)據(jù)或者運算的結(jié)果,這里的每一個數(shù)據(jù)寄存器都是16位的,但是每一個16位的寄存器又可以分成兩個獨立的八位寄存器來使用數(shù)據(jù)寄存器用于存放運算數(shù)據(jù)或運算結(jié)果每個16位寄存器均可分別作為2個獨立的8位寄存器使用比如AX,我們可以把它分成兩個八位的寄存器,其中它的低八位,我們把它叫做AL寄存器,它的高八位,我們把它叫做AH寄存器。所以當(dāng)AX用來存儲一個16位的數(shù)據(jù)的時候,它是作為一個整體來看待的,但是如果把它分開,用來存放8位的數(shù)據(jù),那你就要注意數(shù)據(jù)是存放在了AL還是AH中,除此以外,我們在來看看這些寄存器的名字,其實他們的名字跟他們的功能是直接相關(guān)的AX16AH8AL8低八位高八位存儲時作為整體注意數(shù)據(jù)存放于AL或AH中寄存器的名字與其功能直接相關(guān)AX是累加器,常用在加、減乘除等各種運算中AX16AH8AL8累加器

Accumulator用于各種運算中BX是基址寄存器,它通??梢杂脕泶娣鸥刂废嚓P(guān)的信息AX16AH8AL8累加器

Accumulator基址寄存器BaseBXBHBL用于存放跟地址相關(guān)的信息CX是計數(shù)寄存器,CX可以用來計數(shù)AX16AH8AL8累加器

Accumulator基址寄存器BaseBXBHBL計數(shù)寄存器CountCXCHCL用于計數(shù)DX是數(shù)據(jù)寄存器,常用于存放數(shù)據(jù)AX16AH8AL8累加器

Accumulator基址寄存器BaseBXBHBL計數(shù)寄存器CountCXCHCL數(shù)據(jù)寄存器DataDXDHDL用于存放數(shù)據(jù)四個數(shù)據(jù)寄存器除了存放算術(shù)或邏輯單元的操作數(shù)以外,他們還有各自特有的用途,也就是在某一種場景下,我們只能使用這個寄存器,使用其他的寄存器會出錯四個數(shù)據(jù)寄存器除存放算術(shù)或邏輯單元操作數(shù)外,還有各自用途比如說AX可以存放算術(shù)或邏輯運算的操作數(shù),它的一個特殊的應(yīng)用場景就是在輸入輸出指令中,也就是In或者out指令中,我們只能用AX跟外部接口進行信息的傳輸,Bx它常用于存放訪問內(nèi)存的基地址,Cx是在循環(huán)或者串操作的時候用做計數(shù)器,在使用寄存器間接尋址的輸入輸出指令中,我們使用dx來存放輸入輸出端口的端口號或者端口地址AXBXDXCX存放算術(shù)或邏輯運算的操作數(shù)寄存器間接尋址的I/O指令中,用來存放輸入輸出端口的端口號或端口地址常用于存放訪問內(nèi)存時的基地址在循環(huán)或串操作時用做計數(shù)器凡IN或OUT指令均必須用累加器與外部接口傳送信息再來看兩個指針寄存器,SP和BP指針寄存器SPBP首先來看SP,SP的英文是stackpointer,它的中文含義是堆棧指針寄存器,它主要用于在堆棧中做指針指針寄存器SP堆棧指針寄存器stackpointer用于在堆棧中做指針我們首先來看一下堆棧,堆棧是我們在內(nèi)存中開辟的一個特定區(qū)域●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)這個區(qū)域是用來臨時存放數(shù)據(jù)的,堆棧的一個特點就是他是先進后出的結(jié)構(gòu)●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)用于臨時存放數(shù)據(jù)結(jié)構(gòu):先進后出如果這個堆棧它是空的話,那么它的棧頂和它的棧底是重合的●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)棧頂棧底重合堆棧:空當(dāng)這個堆棧滿的時候,它的棧頂就會指向他這個堆棧段的首地址,至于堆棧的首地址,我們可以通過特定的方式來計算,關(guān)于這一點我們在介紹段基址的再詳細說明●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)棧頂棧底重合堆棧:空棧頂指向堆棧段的首地址堆棧:滿堆棧的首地址可通過特定方式計算現(xiàn)在我們知道SP是指向這個堆棧段的棧頂?shù)?,那么sp的值究竟是多少呢?●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)sp的值是多少?它的值其實就是它當(dāng)前指向的堆棧最上面的這個數(shù)據(jù),到堆棧的起始地址的距離,我們也跟這個距離叫偏移量,●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)偏移量舉個例子大家會比較好理解,我們把堆棧看成是一個裝衣服的整理箱,這個整理箱有個蓋子,這個蓋子指向的就是這個堆棧段的起始地址,●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)這個整理箱的底部就是這個堆棧段的棧底●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)當(dāng)我們往這個箱子里面放衣服的時候,最上面的這件衣服就是堆棧的棧頂?shù)奈恢?,SP就指向這個位置●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)基址指針寄存器,BP,base,pointer,它可以指向堆棧的任何一個單元BPbasepointer可指向堆棧的任何一個單元基址指針寄存器在這張圖中是1000h,而BP就要靈活得多,●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)它可以指向堆棧里面存放的任何一個數(shù)據(jù),比如它指向的這個數(shù)據(jù)的地址是23000h那么BP的值就是3000h●

●●●

●●●

●●●

●●●

●●●

●●SP1000HSS20000H1000HBP3000H堆棧段起始地址棧底棧頂21000H棧中某單元23000H堆棧RAM區(qū)指向堆棧里存放的任何一個數(shù)據(jù)最后看一下變址寄存器,變址寄存器包括SI和DI,變址寄存器SIDISI是sourceindex就是源索引變址寄存器SIDI源索引源索引sourceindexsourceindexDI是destinationindex就是目標索引變址寄存器目標索引destinationindexSIDI所以這兩個寄存器,他們當(dāng)然可以用于存儲數(shù)據(jù),但是它們更常用在串操作指令中。變址寄存器SIDI用于存儲數(shù)據(jù)用于串操作指令中通常,我們只能用SI指向源串,用DI指向目的串變址寄存器SIDI指向源串指向目的串然后我們就可以在源和目的之間傳輸信息,這是變址寄存器比較特殊的用法變址寄存器SIDI指向源串指向目的串在源和目的之間傳輸信息謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第九講8088CPU的專用寄存器14個16位的寄存器8088CPU的專用寄存器8088內(nèi)部有14個,16位寄存器其中有六個專用寄存器我們還可以將這六個專用寄存器細分成兩個控制寄存器和四個段寄存器這里的控制寄存器包括指令指針寄存器和狀態(tài)標志寄存器四個段寄存器分別是代碼段,數(shù)據(jù)段,堆棧段和附加段寄存器通用寄存器專用寄存器AHALBHBLCHCLDHDLAXBXCXDX堆棧指針寄存器基址指針寄存器SPBPSIDI源變址寄存器目的變址寄存器IP指令指針FLAGS狀態(tài)標志控制寄存器CSDSSSES代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器段寄存器代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器指令指針狀態(tài)標志指針寄存器變址寄存器數(shù)據(jù)寄存器代碼段寄存器CodeSegment首先來看一下段寄存器,段寄存器包括代碼段,數(shù)據(jù)段,堆棧段和附加段。段寄存器數(shù)據(jù)段寄存器DateSegment堆棧段寄存器StackSegment附加段寄存器ExtraSegment他們的簡寫分別是CS,ds、ss和es。CS段寄存器代碼段寄存器CodeSegment數(shù)據(jù)段寄存器DateSegment堆棧段寄存器StackSegment附加段寄存器ExtraSegmentDSSSES這些英文簡寫同學(xué)們要記清楚,因為在后續(xù)提到段基址的時候都是這樣的寫法寫的CS段寄存器代碼段寄存器CodeSegment數(shù)據(jù)段寄存器DateSegment堆棧段寄存器StackSegment附加段寄存器ExtraSegmentDSSSES縮寫與段基址的寫法一致段寄存器是用來干嘛的呢?它們是用來存放段基址的,段寄存器用于存放段基址什么叫段基址?大家可以把它理解成一個內(nèi)存空間段的起始地址段寄存器用于存放段基址內(nèi)存空間段的起始地址那么顧名思義,我們知道內(nèi)存中至少有四種不同的段,分別是代碼段,數(shù)據(jù)段,堆棧段和附加段。代碼段寄存器CodeSegment段寄存器數(shù)據(jù)段寄存器DateSegment堆棧段寄存器StackSegment附加段寄存器ExtraSegment代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器再顧名思義一下,代碼段應(yīng)該是用來存放代碼的,數(shù)據(jù)段應(yīng)該是用來存放數(shù)據(jù)的,堆棧段是用來存放堆棧的。段寄存器存放代碼代碼段寄存器CodeSegment數(shù)據(jù)段寄存器DateSegment堆棧段寄存器StackSegment附加段寄存器ExtraSegment存放數(shù)據(jù)存放堆棧CS那么CS存放的就是代碼段的基地址,它告訴我們了代碼段的起始地址在哪里,因此CS,DS,SS和ES是專用寄存器段寄存器存放代碼代碼段寄存器CodeSegmentCS存放代碼段的基地址代碼段的起始地址在哪里數(shù)據(jù)段寄存器DateSegment堆棧段寄存器StackSegment附加段寄存器ExtraSegment存放數(shù)據(jù)存放堆棧DSSSES那么CS存放的就是代碼段的基地址,它告訴我們了代碼段的起始地址在哪里,因此CS,DS,SS和ES是專用寄存器段寄存器CS數(shù)據(jù)段寄存器DateSegment堆棧段寄存器StackSegment附加段寄存器ExtraSegment存放數(shù)據(jù)存放堆棧DSSSES專用寄存器再來看一下控制寄存器,首先來看一下指令指針寄存器IP,IP我們在前面已經(jīng)提到過多次了,它是用來存放待取的下一條指令的第一個操作碼的偏移量控制寄存器指令指針寄存器InstructionPointerIP存放待取的下一條指令第一個操作碼的偏移量這句話不太好理解,老師把它翻譯一下,IP其實就是指向下一條指令的地址。下一條指令一定是存放在代碼段里的,那么IP告訴我們從代碼段的段基址開始要走多少個存儲空間的距離才能到達下一條指令,這個距離也叫偏移量IP指向下一條指令的地址,下一條指令一定存放在代碼段里從代碼段的段基址開始要走多少個存儲空間的距離到達下一條指令(這個距離也叫偏移量)那我們在取指令的時候,既要知道CS的值,又要知道IP的值,我們才能通過CS和IP計算出來下一條指令的準確地址,然后去那個位置把它取出來,取指令時CSIP計算出下一條指令的準確地址去那個位置把它取出來我們用戶程序是不能訪問IP這個值的,IP的值會基于程序的運行進行自動修改。我們在講解指令的時候,請同學(xué)們注意IP值是如何自動修改的用戶程序不得直接訪問IPIp的值會基于程序的運行進行自動修改我們在講解指令的時候,請同學(xué)們注意IP值是如何自動修改的注意IP值是如何自動修改還有一個控制寄存器是標志寄存器flagregister,也有人把它寫成FLAG,這里我們把它簡寫成FR,控制寄存器標志寄存器FlagRegisterFLAGFR它不是我們通常意義下的寄存器,不是通常意義下的寄存器我們通常意義下的寄存器就是把這個寄存器看成是一個16位的存儲空間,用它來存儲數(shù)據(jù)的,但是FR它比較特殊的是,它是按位,來存儲的,也就是說,寄存器把這個寄存器看成16位的存儲空間,用之存儲數(shù)據(jù)FR比較特殊,是按位存儲它里面其實定義了16個位,也叫標志位,這16個標志位之間是沒有相互關(guān)系的,每個位都有自己特定的含義,這是標志寄存器它比較特殊的一點,F(xiàn)R定義16個位標志位標志位之間無相互關(guān)系每個位有自己特定含義具體來說,在16個位中,英特爾只定義了其中的九位,其他的位它并沒有公開告訴我們怎么使用,這九位里邊有六位狀態(tài)位和三位控制位,它們反映了我們剛剛完成的算數(shù)運算或者邏輯運算的結(jié)果的狀態(tài),英特爾97這九位里邊有六位狀態(tài)位和三位控制位,它們反映了我們剛剛完成的算數(shù)運算或者邏輯運算的結(jié)果的狀態(tài),英特爾9六位狀態(tài)位三位控制位反映算數(shù)運算或邏輯運算結(jié)果的狀態(tài)我們在下一節(jié)中的會給大家詳細的介紹這個標志寄存器里的各位標志寄存器里的各位標志寄存器里的各位謝謝觀看!微機原理及應(yīng)用第三章認識微處理器第十講8088CPU的標志寄存器下面我們來學(xué)習(xí)8088CPU的標志寄存器8088CPU的標志寄存器我們在前面已經(jīng)提到標志寄存器中有九個位已經(jīng)定義了,下面我們來學(xué)習(xí)一下各個位的含義…OFDFIFTFSFZFAFPFCF151143210控制位1-溢出Overflow1-減量Direction1-允許Interrupt1-單步Trap1-負Sign1-零Zero1-有AuxiliaryCarry/Borrow1-偶Parity1-有Carry/Borrow首先來看第一個cf標志位cf標志位是進位標志位它表示我們剛剛計算的結(jié)果是否有進位或者借位產(chǎn)生如果有進位或借位,CF就為1,如果沒有,cf就為0在執(zhí)行循環(huán)移位指令的時候,也會影響到CF的狀態(tài),請大家注意…1531控制位11OF1-溢出OverflowDF1-減量DirectionIF1-允許InterruptTF1-單步TrapSF1-負SignZF1-零Zero4AF1-有AuxiliaryCarry/Borrow2PF1-偶Parity0CF1-有Carry/Borrow首先來看第一個cf標志位,cf標志位是進位標志位,它表示我們剛剛計算的結(jié)果是否有進位或者借位產(chǎn)生,如果有進位或借位,CF就為1,如果沒有,cf就為0,在執(zhí)行循環(huán)移位指令的時候,也會影響到CF的狀態(tài),請大家注意…1531控制位11OF1-溢出OverflowDF1-減量DirectionIF1-允許InterruptTF1-單步TrapSF1-負SignZF1-零Zero4AF1-有AuxiliaryCarry/Borrow2PF1-偶Parity0CF1-有Car

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論