微型計算機(jī)技術(shù)及應(yīng)用(第四版)課后習(xí)題和答案_第1頁
微型計算機(jī)技術(shù)及應(yīng)用(第四版)課后習(xí)題和答案_第2頁
微型計算機(jī)技術(shù)及應(yīng)用(第四版)課后習(xí)題和答案_第3頁
微型計算機(jī)技術(shù)及應(yīng)用(第四版)課后習(xí)題和答案_第4頁
微型計算機(jī)技術(shù)及應(yīng)用(第四版)課后習(xí)題和答案_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微型計算機(jī)技術(shù)及應(yīng)用(第四版)習(xí)題和答案第二章1、8088與8086的區(qū)別[解答]①外部數(shù)據(jù)總線位數(shù)不同。8086外部數(shù)據(jù)總線16位,在一個總線周期內(nèi)可以輸入/輸出一個字(16位數(shù)據(jù)),而8088外部數(shù)據(jù)總線8位,在一個總線周期內(nèi)只能輸入/輸出一個字節(jié)(8位數(shù)據(jù))。②指令隊列緩沖器大小不同。8086指令隊列可容納6個字節(jié),且在每一個總線周期中從存儲器取出2個字節(jié)的指令代碼填入指令隊列;而8088指令隊列只能容納4個字節(jié),在一個機(jī)器周期中取出一個字節(jié)的指令代碼送指令隊列。③部分引腳的功能定義有所區(qū)別。(1)AD15-AD0的定義不同。在8086中都定義為地址/數(shù)據(jù)分時復(fù)用引腳;而在8088中,由于只需要8條數(shù)據(jù)線,因此,對應(yīng)于8086的AD15-AD8這8根引腳在8088中定義為A15-A8,它們在8088中只做地址線用。(2)引腳28和34的定義不同。在最大方式下,8088的第34引腳保持高電平,在最小模式時,8088和8086的第28引腳的控制信號相反,而8086的第34引腳為BHE/S7,BHE用來區(qū)分是傳送字節(jié)、還是字,8088的第34引腳為SS0,用來指出狀態(tài)信息,不能復(fù)用。(3)引腳28的有效電平高低定義不同。8088和8086的第28引腳的功能是相同的,但有效電平的高低定義不同。8088的第28引腳為IO/M,當(dāng)該引腳為低電平時,表明8088正在進(jìn)行存儲器操作;當(dāng)該引腳為高電平時,表明8088正在進(jìn)行I/O操作。8086的第28引腳為M/IO,電平與8088正好相反。2、根據(jù)8086CPU的存儲器讀寫時序圖,請說明:(1)地址信號應(yīng)在哪些時間內(nèi)有效?(2)讀、寫動作發(fā)生在什么時間內(nèi)?(3)為什么讀與寫數(shù)據(jù)的有效時間長短不一樣?(4)T1狀態(tài)下數(shù)據(jù)/地址線上是什么信息?數(shù)據(jù)信息是什么時候給出?[解答]地址信號只在T1狀態(tài)時有效,并被鎖存起來。讀動作發(fā)生在T3、T4狀態(tài),而寫動作發(fā)生在T2、T3、T4狀態(tài)。讀與寫數(shù)據(jù)的有效時間長短不一樣是因為CPU的速度與外設(shè)的速度不相匹配所造成的。T1狀態(tài)下數(shù)據(jù)/地址線上是地址信息,數(shù)據(jù)信息是在T2狀態(tài),由AD15-AD0給出。3、8086CPU形成三大總線時,為什么要對部分地址線進(jìn)行鎖存?用什么信號控制鎖存?[解答]為了確保CPU對存儲器和I/O端口的正常讀/寫操作,需要求地址和數(shù)據(jù)同時出現(xiàn)在地址總線和數(shù)據(jù)總線上。而在8086CPU中有AD0-AD15部分總線是地址/數(shù)據(jù)復(fù)用的,因此需在總線周期的前一部分傳送出地址信息,并存于鎖存器中,而用后一部分周期傳送數(shù)據(jù)。8086CPU中是通過CPU送出的ALE高電平信號來控制鎖存的。4、BHE信號的作用是什么?試說明當(dāng)起始地址為奇地址、偶地址、一次讀寫一個字節(jié)和一個字時,BHE和A0的狀態(tài)。[解答]BHE信號的作用是高8位允許引腳。若BHE為0則表示對一個字進(jìn)行操作,即高8位有效,若BHE為1則表示對一個字節(jié)進(jìn)行操作,即高8位無效。當(dāng)起始地址為奇地址時,一次讀寫一個字節(jié)時,BHE為1,A0狀態(tài)為1;當(dāng)起始地址為偶地址時,一次讀寫一個字節(jié)時,BHE為1,A0狀態(tài)為0;當(dāng)起始地址為奇地址時,一次讀寫一個字時,BHE為0,A0狀態(tài)為1;當(dāng)起始地址為偶地址時,一次讀寫一個字時,BHE為0,A0狀態(tài)為0。5、CPU在8086的微機(jī)系統(tǒng)中,為什么常用AD0作為低8位數(shù)據(jù)的選通信號?[解答]在8086系統(tǒng)中,常將AD0作為低8位數(shù)據(jù)的選通信號,因為每當(dāng)CPU和偶地址單元或偶地址端口交換數(shù)據(jù)時,在T1狀態(tài),AD0引腳傳送的地址信號必定為低電平,在其他狀態(tài),則用來傳送數(shù)據(jù).而CPU的傳輸特性決定了只要是和偶地址或偶地址端口交換數(shù)據(jù),那么,CPU必定通過總線低8位(AD7-AD0)傳輸數(shù)據(jù).可見,如果在總線周期的T1狀態(tài),AD0為低電平,實際上就指示了在這一總線周期中,CPU將用總線低8位和偶地址單元或偶地址端口交換數(shù)據(jù)。6、系統(tǒng)中有多個總線模塊時,在最大模式和最小模式下分別用什么方式來傳遞總線控制權(quán)?[解答]在最小模式下總線控制權(quán)是通過HOLD引腳來實現(xiàn)的,當(dāng)系統(tǒng)中CPU之外的另一個模塊要求占用總線時,通過此引腳向CPU發(fā)一個高電平的請求信號。這時,如果CPU允許讓出總線,就在當(dāng)前總線周期完成時,于T4狀態(tài)從HOLD引腳發(fā)出一個回答信號,對剛才的HOLD請求作出響應(yīng)。同時,CPU使地址/數(shù)據(jù)總線和控制狀態(tài)線處于浮空狀態(tài)??偩€請求部件收到HLDA信號后,就獲得了總線控制權(quán)。在最大模式下總線控制權(quán)是通過LOCK、RQ/GT1,RQ/GT0引腳來實現(xiàn)的,首先,總線模塊通過RQ/GT1向CPU發(fā)出一個請求信號,并通過RQ/GT0來接受CPU的響應(yīng),如果LOCK為低電平,則總線請求部件就獲得了總線控制權(quán)。1、8086CPU在內(nèi)部結(jié)構(gòu)上的主要特點是什么?[解答]:8086CPU在內(nèi)部結(jié)構(gòu)上從結(jié)構(gòu)上可分為:總線接口部件BIU和執(zhí)行部件EU。它是16位微處理器有16根數(shù)據(jù)線20根地址線,內(nèi)部寄存器、內(nèi)部運(yùn)算部件以及內(nèi)部操作都是按16位設(shè)計的。2、什么是流水線結(jié)構(gòu)?流水線操作有什么好處?試舉一個例子說明流水線操作的過程。[解答]:流水線結(jié)構(gòu)是把處理執(zhí)行部件分成幾個功能不同的處理執(zhí)行部件,不同的處理執(zhí)行部件就可以同時并行工作,分別負(fù)責(zé)不同的任務(wù).這樣的好處是可以實現(xiàn)多任務(wù)重疊執(zhí)行,以提高效率。例如:有一任務(wù)共可以分成N個子任務(wù),每子任務(wù)需要時間T,則完成該個任務(wù)需要時間NT。若單獨執(zhí)行方式完成K個任務(wù),則共需要時間K*NT。若采用流水線執(zhí)行方式完成K個任務(wù),則共需要時間NT+(K-1)T。當(dāng)K較大時,很明顯K*NT》NT+(K-1)T3、畫出8086CPU各寄存器圖,并聲明每個寄存器的作用。[解答]8086CPU各寄存器圖如圖:1)四個通用寄存器:AX,BX,CX,DX既可以作16位寄存器使用,也可以作8位寄存器使用。2)四個專用寄存器:BP用作基數(shù)指針寄存器,SP用作堆棧指針寄存器,SI用作源變址寄存器,DI用作目的變址寄存器。3)四個段地址寄存器:CS為16位的代碼段地址寄存器,DS為16位的數(shù)據(jù)段地址寄存器,ES為16位的擴(kuò)展段地址寄存器,SS為16位的堆棧段地址寄存器。4)IP為16位的指令指針寄存器5)標(biāo)志寄存器有16位,其中7位未用,各位的含義如下:(1)標(biāo)志有6個,即SF、ZF、PF、CF、AF、和OP。符號標(biāo)志SF:與運(yùn)算結(jié)果的最高位相同。零標(biāo)志ZF:若結(jié)果為零則為1,若結(jié)果非零則為0。奇/偶標(biāo)志PF:若運(yùn)算結(jié)果的低8位有1的個數(shù)為偶數(shù),則PF為1,否則為0。進(jìn)位標(biāo)志CF:若運(yùn)算中有進(jìn)位或有借位時,則為1。另外循環(huán)指令也會影響該位。輔助進(jìn)位標(biāo)志AF:當(dāng)加法運(yùn)算時,如果第三位往第四位有進(jìn)位或者當(dāng)減法時,如果第三位從第四位有借位,則AF為1。另外,輔助進(jìn)位標(biāo)志一般在BCD碼運(yùn)算中作為是否進(jìn)行十進(jìn)制調(diào)整的判斷依據(jù)。溢出標(biāo)志OF:當(dāng)運(yùn)算過程中產(chǎn)生溢出時,(2)標(biāo)志有3個,即DF、IF、TF。方向標(biāo)志DF:這是控制串操作指令用的標(biāo)志。如果DF為0,則串操作過程中地址會不斷增加;反之,如果DF為1,則串操作過程中地址會不斷減少。中斷標(biāo)志IF:這是控制可屏蔽中斷的標(biāo)志.如果IF為0,則CPU不能對可屏蔽中斷請求作出響應(yīng);如果IF為1,則CPU可以接受可屏蔽中斷請求.跟蹤標(biāo)志TF:如果TF為1,則CPU按跟隨方式執(zhí)行指令.會使OF為1。4、總線接口部件有哪些功能?請逐一說明。[解答]:總線接口部件的功能是負(fù)責(zé)與存儲器、I/O端口傳送數(shù)據(jù)。具體講,總線接口部件要從內(nèi)存取指令隊列;CPU執(zhí)行指令時,總線接口部件要配合執(zhí)行部件從指定的內(nèi)存單元或者外設(shè)端口中取數(shù)據(jù),將數(shù)據(jù)傳送給執(zhí)行部件,或者把執(zhí)行部件的操作結(jié)果傳送到指定的內(nèi)存單元或外設(shè)端口中。5、8086的總線接口部件有那幾部分組成?[解答]:8086的總線接口部件有以下4部分組成:(1)4個段地址寄存器,即:CS——16位的代碼段寄存器,DS——16位的數(shù)據(jù)段寄存器,ES——16位的擴(kuò)展段寄存器,SS——16位的堆棧段寄存器;(2)16位的指令指針寄存器IP(3)20位的地址加法器(4)6字節(jié)的指令隊列6、8086的執(zhí)行部件有什么功能?由那幾部分組成?[解答]:執(zhí)行部件的功能是負(fù)責(zé)指令的執(zhí)行。8086的執(zhí)行部件有:(1)4個通用寄存器:AX,BX,CX,DX;(2)4個專用寄存器:即基數(shù)指針寄存器BP,堆棧指針寄存器SP,原變址寄存器SI,目的變址寄存器DI。(3)標(biāo)志寄存器(4)算術(shù)邏輯單元7、狀態(tài)標(biāo)志和控制標(biāo)志又何不同?8086的狀態(tài)標(biāo)志和控制標(biāo)志分別有哪些?[解答]:狀態(tài)標(biāo)志表示前面的操作執(zhí)行后,算術(shù)邏輯部件處在怎樣一種狀態(tài),這種狀態(tài)會像某種先決條件一樣影響后面的操作。狀態(tài)標(biāo)志有6個,即SF、ZF、PF、CF、AF和OF。控制標(biāo)志是人為設(shè)置的,指令系統(tǒng)中有專門的指令用于控制標(biāo)志的設(shè)置和清除每個控制標(biāo)志都對某一種特定的功能起控制作用??刂茦?biāo)志有3個,即DF、IF、TF。程序中用專門的指令對它們進(jìn)行操作。8、總線周期的含義是什么?8086/8088的基本總線周期由幾個時鐘組成?如果一個CPU的時鐘頻率(主頻)為24MHz,那么,它的一個時鐘周期為多少?一個基本總線周期為多少?[解答]:總線周期的含義是計算機(jī)執(zhí)行一條訪問內(nèi)存或端口的機(jī)器指令的時間;8086/8088的基本總線周期由4個時鐘周期組成;如果CPU的時鐘頻率為24MHz,那么它的一個時鐘周期為(T=1/F)41.5ns,一個基本總線周期為(4T)166ns;9、在總線周期的T1、T2、T3、T4狀態(tài),CPU分別執(zhí)行什么動作?什么情況下需要插入等待狀態(tài)Tw?Tw在哪兒插入?[解答]:在總線周期的T1、T2、T3、T4狀態(tài),CPU分別執(zhí)行的動作是:(1)在T1狀態(tài),CPU往多路復(fù)用總線上發(fā)出地址信息,以指出要尋址的存儲單元或處設(shè)端口的地址;(2)在T2狀態(tài),CPU從總線上撤消地址,而使總線的低16位浮置成高阻狀態(tài),為傳輸數(shù)據(jù)作準(zhǔn)備??偩€的最高4位(A19-A16)用來輸出本總線周期狀態(tài)信息,這些狀態(tài)信息用來表示中斷允許狀態(tài)、當(dāng)前正在使用的段寄存器名等;(3)在T3狀態(tài),多路總線的高位繼續(xù)提供狀態(tài)信息,而多路總線的低16位(8088則為低8位)上出現(xiàn)由CPU的數(shù)據(jù)或者CPU從存儲器或者CPU從存儲器或端口讀入或端口讀入的數(shù)據(jù);(4)在T4狀態(tài),總線結(jié)束。在有些情況下,外設(shè)或存儲器速度較慢,不能及時地配合CPU傳送數(shù)據(jù)。這時,外設(shè)或存儲器會通過“Ready”信號在T3狀態(tài)啟動前向CPU發(fā)一個“數(shù)據(jù)未準(zhǔn)備好”信號,于是CPU會在T3之后插入1個或多個附加的時鐘周期Tw。1、80386的MMU功能塊具體有什么功能?邏輯地址、線性地址、物理地址分別由其中什么部件管理?[解答]MMU的功能就是實現(xiàn)存儲器的管理,它由分段部件和分頁部件組成。前者管理面向程序員的邏輯地址空間,并且將邏輯地址轉(zhuǎn)換為線性地址;后者管理物理地址空間,將分段部件或者指令譯碼部件產(chǎn)生的線性地址轉(zhuǎn)換為物理地址。2、80386有哪三種工作方式?為什么要這樣多工作方式?[解答]80386有三種工作方式,一種叫實地址方式,另一種叫保護(hù)虛擬地址方式,還有一種叫虛擬8086方式。80386在剛加電或者復(fù)位時便進(jìn)入實地址方式,主要是為80386進(jìn)行初始化用的。完成初始化后,便立即轉(zhuǎn)到保護(hù)方式,此方式提供了多任務(wù)環(huán)境中的各種復(fù)雜功能以及復(fù)雜存儲器組織的管理機(jī)制。在保護(hù)方式下,80386才充分發(fā)揮其強(qiáng)大的功能和本性。虛擬8086方式可以使大量的8086軟件有效地與80386保護(hù)方式下的軟件并發(fā)運(yùn)行,可以是80386保護(hù)方式中多任務(wù)操作的某一個任務(wù)。3、80386的實地址方式用于什么時候?為什么說它是為建立保護(hù)方式作準(zhǔn)備的方式?實地址工作方式有什么特點?[解答]80386的實地址方式用于為80386進(jìn)行初始化用的,為在該工作方式下所需要的數(shù)據(jù)結(jié)構(gòu)做好各種配置和準(zhǔn)備,因此,這是一種為建立保護(hù)方式作準(zhǔn)備的方式。實地址工作方式的特點:(1)尋址機(jī)構(gòu)、存儲器管理、中斷處理機(jī)構(gòu)均和80386一樣。(2)操作數(shù)默認(rèn)長度為16位,但允許訪問80386的32位寄存器組,在使用時,指令中要加上前綴以表示越權(quán)存取。(3)不用虛擬地址的概念,存儲器容量最大1M字節(jié)。(4)實地址方式下,存儲器中保留兩個固定區(qū)域,一個為初始化程序區(qū),另一個為中斷向量區(qū)。(5)80386具有4個特權(quán)級,實地址方式下,程序在最高級(0級)上執(zhí)行。4、虛擬8086方式有什么特點?為什么要設(shè)置這種方式?[解答]其特點如下:(1)可以執(zhí)行8086的應(yīng)用程序。(2)段寄存器的用法和實地址方式時一樣,即段寄存器內(nèi)容左移4位加上偏移量為線性地址。(3)存儲器尋址空間為1M字節(jié),可以使用分頁方式,將1M字節(jié)分為256個頁面,每頁4K字節(jié)。在80386多任務(wù)系統(tǒng)中,可以其中一個或幾個任務(wù)使用虛擬8086方式。此時,一個任務(wù)使用的全部頁面可以定位于某個物理地址空間,另一個任務(wù)的頁面可以定位于其他區(qū)域,即每個虛擬8086方式下的任務(wù)可以轉(zhuǎn)換到物理存儲器的不同位置,這樣,把存儲器虛擬化了,虛擬8086方式的名稱正是由此而來。(4)虛擬8086方式中,程序在最低特權(quán)級上運(yùn)行,因此,80386指令系統(tǒng)中的一些特權(quán)指令不能使用。設(shè)置這種方式是因為虛擬8086方式是80386中很重要的設(shè)計特點,他可以使大量的8086軟件有效的與80386保護(hù)方式下的軟件并發(fā)運(yùn)行。5、80386的標(biāo)志寄存器中,哪些是狀態(tài)標(biāo)志?哪些是控制標(biāo)志?哪些是系統(tǒng)方式標(biāo)志?[解答]狀態(tài)標(biāo)志:CF、PF、AF、ZF、SF、OF、NT??刂茦?biāo)志:DF、IF、TF、IOPL。系統(tǒng)方式標(biāo)志:VM、PF。6、什么叫段基地址?它有多少位?什么叫選擇子?選擇子作用?[解答]段基地址是指每段的起始地址,有32位;選擇子是用于查找段基地址和段屬性的參數(shù),作用是用來選描述符。7、80386的段描述符寄存器中包含哪些內(nèi)容?[解答]80386的段描述符寄存器中(64位)包括段基地址(32位)、段界限值(20位)、屬性值(12位)。其中屬性包括:是否存在內(nèi)存、特權(quán)值級別(2位)、是否已存取過、粒度、擴(kuò)展方向、可讀、可寫、可執(zhí)行。1、80386的流水線技術(shù)主要體現(xiàn)在哪兩個方面?[解答]指令流水線和地址流水線。2、指令流水線由哪些部件構(gòu)成?這些部件的主要功能分別是什么?[解答]指令流水線是由總線接口部件、指令預(yù)取部件、指令譯碼部件和執(zhí)行部件構(gòu)成。它們的功能如下:總線接口部件BIU:其是80386和計算機(jī)系統(tǒng)與其他部件之間的高速接口。它控制著32位數(shù)據(jù)總線和32位地址總總線的信息傳輸??偩€接口部件最主要的操作就是響應(yīng)分段部件和分頁部件的請求,實現(xiàn)讀取指令和存取數(shù)據(jù)的功能。指令預(yù)取部件IPU:在總線周期時從存儲器讀取指令放入16字節(jié)的指令預(yù)取隊列,每當(dāng)隊列有部分字節(jié)或產(chǎn)生一次控制轉(zhuǎn)移后,指令預(yù)取部件就向總線接口部件發(fā)總線請求信號,如果沒有其它總線周期請求,那么,總線接口部件就響應(yīng)該請求,使指令預(yù)取隊得到補(bǔ)充。指令譯碼部件IDU:對指令進(jìn)行譯碼,它從指令預(yù)取隊列中取出指令并將其譯成內(nèi)部代碼,再將這些代碼送入先進(jìn)先出譯碼指令列中,等待執(zhí)行部件處理。執(zhí)行部件EU:由運(yùn)算器等一系列的寄存器,包括控制ROM在內(nèi)的控制部件和測試部件組成,后者能對復(fù)雜的存儲器保護(hù)功能進(jìn)行快速測試。3、80386的邏輯地址,線性地址,物理地址分別指什么?它們的尋址能力分別為多少?[解答]邏輯地址:程序員所看到和使用的地址,也叫虛擬地址,邏輯地址可表示為:段選擇器:偏移地址。80386段內(nèi)偏移地址為32位,在保護(hù)方式下,可實現(xiàn)對16384(214)個段的管理,它的尋址能力為46位,故可提供的虛擬存儲空間為64TB(246)。線性地址:通過段描述符表將含選擇子和偏移量的邏輯地址轉(zhuǎn)化成32位的線性地址其尋址為32位,即232=4GB。物理地址:指出了存儲單元在存儲體中的具體位置。若段內(nèi)不分頁,那么線性地址就是物理地址。尋址空間為32位,即232=4GB。4、地址流水線由哪些部件組成?地址流水線技術(shù)具體是如何體現(xiàn)的?[解答]地址流水線有分段部件、分頁部件和總線接口部件構(gòu)成。地址流水線技術(shù)具體體現(xiàn)在如下方面:(1)有效地址的形成:分段部件把各地址分量送到一個加法器中,各地址分量可能有立即數(shù)和另外一、二個寄存器給出的值構(gòu)成。(2)邏輯地址與物理地址的轉(zhuǎn)換:有效地址通過(另一個)加法器和段基址相加,得到線性地址。(3)線性地址與物理地址的轉(zhuǎn)化:由分頁部件將線性地址轉(zhuǎn)換成物理地址。三個動作的重疊進(jìn)行,通常一個操作還在總線上進(jìn)行時,下一個物理地址就已經(jīng)算好了,充分體現(xiàn)了流水的特點。5、80386采用哪幾種描述符表?這些表的設(shè)置帶來什么優(yōu)點?[解答]80386共設(shè)計三中描述符表即:全局描述符表,局部描述符表,中斷描述符表。采用描述符表帶來如下三方面的優(yōu)點:1.可以大大擴(kuò)展存儲空間;2.可以實現(xiàn)虛擬存儲;3.可以實現(xiàn)多任務(wù)隔離。6、分頁部件用什么機(jī)制實現(xiàn)線性地址往物理地址的轉(zhuǎn)換?[解答]映射的第一步是查詢CR3,CR3的高20位指向頁組目錄項表;映射的第二步是將線性地址的高10位作為頁組項號從頁組目錄項表中找出所需要的項,此項的首字節(jié)地址就是項地址,它由CR3的高20位和線性地址高10位乘4所得的值組成;第三步是查詢相應(yīng)頁組目錄對應(yīng)的頁表,一個頁表也占4K字節(jié),內(nèi)含1024個頁表項;有了頁表項,再將其中高20位和線性地址的最低12位合起來就得到了所得的物理地址。7、段選擇子存與何處?它有什么作用?概述段選擇子是如何從GDT或LDT中選擇一個描述符的。[解答]段選擇子存于段寄存器中。段選擇子的第0,1位RDL用來定義此段使用的特權(quán)級別,第2位T1稱為描述表的指示符,用來指出此描述符在哪個當(dāng)前描述符表中,如T1為1,則在CDT中,如T1為0,則在GDT中,高13位是段描述符索引依次指出所在選項在描述符表中的位置。第三章1、8086/8088的指令有哪些尋址方式?它們的具體含義是什么?指令中如何表示它們?[解答]:8086/8088指令系統(tǒng)的尋址方式分為兩大類:數(shù)據(jù)尋址方式和地址尋址方式。數(shù)據(jù)尋址方式可分為立即數(shù)尋址方式、寄存器尋址方式、存儲器尋址方式和I/O端口尋址方式四種類型。存儲器尋址方式又分為:直接尋址方式、寄存器間接尋址方式、寄存器相對尋址方式、基址變址尋址方式、基址變址相對尋址方式。地址尋址方式可分為段內(nèi)直接尋址方式、段內(nèi)間接尋址方式、段間直接尋址方式、段間間接尋址方式。2、分別指出下列指令中源操作數(shù)和目的操作數(shù)的尋址方式:(1)MOVAX,1000H(3)MOV[BX],AL(5)ADDAX,[BX+4](7)MOV[DI+2],AX[解答]:(2)MOVAX,ES:1000H(4)MOVDI,[SI](6)SUBAX,[BX+DI+5](8)ADDAX,[BP+DI-7](1)立即尋址和寄存器尋址;(2)直接尋址和寄存器尋址(3)寄存器尋址和間接尋址;(4)間接尋址和寄存器尋址;(5)基址尋址和寄存器尋址;(6)基址變址尋址和寄存器尋址;(7)寄存器尋址和變址尋址;(8)基址變址尋址和寄存器尋址;3、指出下列指令是否合法:(1)MOVAX,DL(3)ADDAX,5(5)PUSHCH(2)MOV[BX],5(4)MOVDS,1000H(6)POPCS(7)ADDES,AX(8)MOVSS,CS(9)DECBX(10)INC[BX][解答]:(1)類型不一致;(2)兩個操作數(shù)的類型都不明確;(3)正確;(4)立即數(shù)不能直接送段寄存器;(5)棧操作是字操作,不能進(jìn)行字節(jié)操作;(6)POP指令的操作數(shù)不能是CS;(7)段寄存器僅能做MOV指令和棧操作指令的操作數(shù),不能作累加器;(8)段寄存器間不能傳送;(9)正確;(10)類型不明確,不知是字加1,還是字節(jié)加1。4、寫出MOVAH,[BX+DI+50H]的機(jī)器語言編碼。5、寫出ADDAX,[BX+DI+0826H]的機(jī)器語言編碼。此指令的存儲器有效地址EA=BX+DI+0826H,其指令功能是(EA)+(AX)→AX中。6、寫出指令MOV[BX+DI-8],CL的機(jī)器語言編碼(假設(shè)在80386/80486上是16位操作)。這條指令可用符號寫成MOVmem,reg的形式,源操作數(shù)是寄存器尋址,目的數(shù)是存儲器尋址方式,故此指令的編碼形式為:由于目的數(shù)是存儲器尋址,D=0和reg域指定了源寄存器。CL寄存器的reg編碼是001B,它與W=0一起表示一個8位操作數(shù)。至此編碼又可進(jìn)一步寫成如下形式:取r/m的值為001B,是對[BX+DI+disp]的尋址計算。位移量disp8的范圍是在-128到+127之間,-6為FAH。當(dāng)mod=01B時,為選取8位位移量,則指令MOV[BX+DI-6],CL的完整編碼如下:第4章存儲器和高速緩存技術(shù)1、微型計算機(jī)中存儲器分成哪幾個等級?它們各有什么特點?用途如何?[解答]微型計算機(jī)中存儲器分為外部存儲器和內(nèi)部存儲器。外存容量大,但存取速度慢,且cpu使用外存信息時需先把信息送到內(nèi)存中。內(nèi)存容量小,存取速度快,其信息cpu可直接使用,故外存存放相對來說不經(jīng)常使用的程序和數(shù)據(jù)。另外,外存總是和某個外部設(shè)備有關(guān)。內(nèi)存容納當(dāng)前正在使用的或者經(jīng)常使用的程序和數(shù)據(jù)。2、什么是直接尋址范圍?地址線的多少與它有什么關(guān)系?[解答]直接尋址范圍就是利用地址線可尋址的最大地址范圍,以地址線的位數(shù)為指數(shù),以2為底數(shù)的冪為最大直接尋址范圍。3、根據(jù)你對CPU和各種存儲器的了解,一個微型計算機(jī)是如何開始工作的?[解答]計算機(jī)工作時,一般先由ROM(ReadOnlyMemory,只讀存儲器)中的引導(dǎo)程序,啟動系統(tǒng),再從外存中讀取系統(tǒng)程序和應(yīng)用程序,送到內(nèi)存的RAM(RandomAccessMemory,隨機(jī)存取存儲器)中。在程序的運(yùn)行過程中,中間結(jié)果一般放在內(nèi)存RAM中,程序結(jié)束時,又將結(jié)果送到外存。4、存儲器的存取時間是什么意思?它在系統(tǒng)設(shè)計時有什么實際意義?[解答]存儲器的存取時間是指存儲器接收到穩(wěn)定的地址輸入到完成操作的時間,系統(tǒng)設(shè)計時可以據(jù)此考慮數(shù)據(jù)傳輸、總線的選擇和時序安排。5、什么是隨機(jī)存儲器?它在系統(tǒng)中起什么作用?[解答]隨機(jī)存取是指對所有的存儲單元都可以用同樣的時間訪問,起到暫時保存中間結(jié)果和運(yùn)行的程序。6、什么是只讀存儲器?它在系統(tǒng)中起什么作用?[解答]存儲器被寫入后,只能被讀出而不能用通常的辦法重寫或改寫,以保存啟動程序和部分固化系統(tǒng)程序段作用。7、RAS、CAS信號有什么用?請畫一個原理圖并說明它們是如何產(chǎn)生的?[解答]RAS和CAS是提供給外部RAM的行地址和列地址的選通信號。圖見課本P175。8、EPROM在寫入和讀出時所加的信號和電壓有什么不同?[解答]EPROM讀出時,Vpp和Vcc接5v電壓,芯片允許信號(片選信號)CE必須在地址穩(wěn)定以后有效,才能保證讀得所需單元的數(shù)據(jù)。寫入即編程方式下,Vcc仍加5v電壓,但Vpp按廠家要求加上21—25v的電壓,必須在地址和數(shù)據(jù)穩(wěn)定之后,才能加上編程脈沖。9、8086CPU在組織系統(tǒng)時,為什么要把存儲器分為奇和偶兩個體?如何實現(xiàn)這種控制?由此推想,對32位CPU應(yīng)該有幾個控制信號,才能保證單字節(jié),雙字節(jié)和一個等尋址都能進(jìn)行的要求?[解答]8086的數(shù)據(jù)總線16位,但1個內(nèi)存單元中存放的數(shù)是8位,為了一次對2個單元進(jìn)行訪問,要把存儲器分為奇和偶兩個體。每個內(nèi)存單元都一個地址,要訪問2個單元時,從偶存儲器開始,可用一個控制信號來選擇。那么,對32位CPU有32位地址總線,分為4個存儲體,應(yīng)該有4個控制信號,才能保證單字,雙字節(jié)和一個等尋址都能進(jìn)行的要求。(詳見P185)10、計算機(jī)的內(nèi)存有什么特點?內(nèi)存由哪兩部分組成?外存一般是指哪些設(shè)備?外存有什么特點?[解答]內(nèi)存特點:快速存取,容量受限制。內(nèi)存分為RAM和ROM。外存有軟盤、硬盤、盒式磁帶和光盤。外存特點:大容量,所存信息既可修改又可保存,但外存速度比較慢,要配置專用設(shè)備。11、用存儲器件組成內(nèi)存時,為什么總是采用矩陣形式?請用一個具體例子說明。[解答]簡化選擇內(nèi)存單元的譯碼電路,通過行選擇線和列選擇線來確定一個內(nèi)存單元,因而用存儲器組成內(nèi)存時,總是采用矩陣形式。比如,要組成1K字節(jié)的內(nèi)容,如果不用矩陣來組織這些單元,而是將它們一字排開,那么就要1024條譯碼線才能實現(xiàn)對這些單元的尋址。如果用32*32的矩陣來實現(xiàn)排列,那么,就只要32條行選擇線和32條列選擇線就可以了。12、在選擇存儲器件時,最重要的考慮因素是什么?此外還應(yīng)考慮那些因素?[解答]最重要的因素是存儲容量(位容量)。此外,還應(yīng)考慮易失性、只讀性、速度、功耗、可靠性、價格等。13、什么叫靜態(tài)RAM?靜態(tài)RAM有什么特點?[解答]不需要進(jìn)行周期性刷新的既可讀又可寫的存儲器。其特點如下:(1)優(yōu)點:不需要進(jìn)行刷新,簡化了外部電路。(2)缺點:①靜態(tài)RAM基本存儲電路中包含的管子數(shù)目比較多,導(dǎo)致一個器件的位容量比采用類似設(shè)計方法的非靜態(tài)RAM要少。②靜態(tài)RAM基本存儲電路中2個交叉耦合的管子總有1個處于導(dǎo)通狀態(tài),所以會持續(xù)地消耗功率,導(dǎo)致靜態(tài)RAM的功耗比較大。14、靜態(tài)RAM芯片上為什么往往只有寫信號而沒有讀信號?什么情況下可以從芯片讀得數(shù)據(jù)?[解答]對于存儲器來說,在允許信號有效之后,一定是進(jìn)行讀/寫操作,而且非寫即讀,使得只用寫信號WE就可以既控制寫操作又控制讀操作。在讀操作時,寫脈沖發(fā)生器不產(chǎn)生負(fù)脈沖,而是使WE端處于高電平,此高電平就用來作為讀出信號。15、在靜態(tài)存儲器進(jìn)行讀/寫時,地址信號要分為幾個?分別產(chǎn)生什么信號?[解答]地址信號分為3個。A19-A14用來作為模塊選擇信號,A12-A13產(chǎn)生4個矩陣的芯片允許信號,A11-A0作為矩陣內(nèi)部的行地址和列地址。16、動態(tài)RAM工作時有什么特點?和靜態(tài)RAM比較,動態(tài)RAM有什么長處?有什么不足之處?動態(tài)RAM一般用什么場合?[解答]㈠動態(tài)RAM工作時,每隔一定的時間就要進(jìn)行全面的刷新。㈡和靜態(tài)RAM相比,動態(tài)RAM有以下長處:①高位密度;②低功耗特性;③價格低廉。㈢不足之處:在刷新周期中,內(nèi)存模塊不能啟動讀周期或?qū)懼芷?,即要等刷新周期完成之后,才能啟動讀周期或?qū)懼芷?。㈣動態(tài)RAM一般用于內(nèi)存模塊。17、動態(tài)RAM為什么要進(jìn)行刷新?刷新過程和讀操作比較有什么差別?[解答]不管是哪一種動態(tài)RAM,都是利用電容存儲電荷的原理來保存信息的,由于電容會逐漸放電,所以,對動態(tài)RAM必須不斷進(jìn)行讀出和再寫入,以使泄放的電荷受到補(bǔ)充,也就是進(jìn)行刷新。在溫度上升時,電容的放電會加快,所以兩次刷新間的間隔是隨溫度而變化的,一般為1--100ms.在70攝氏度情況下,典型的刷新時間間隔為2ms。雖然進(jìn)行一次讀寫操作實際上也進(jìn)行刷新,但是,由于讀寫操作本身具有隨機(jī)性,所以,并不能保證所有的RAM單元都在2ms中通過正常的讀寫操作來刷新,由此,專門安排了存儲刷新周期完成對動態(tài)RAM的刷新。18、動態(tài)RAM控制器一般完成什么功能?[解答]動態(tài)RAM控制器一般完成刷新過程中的刷新計時,地址計數(shù),以及地址轉(zhuǎn)換。動態(tài)RAM一般完成兩個功能,一個是地址處理部分,一個是時序處理部分。地址處理部分的功能主要是:處理動態(tài)RAM正常讀寫時的地址信號和刷新過程中的地址信號。時序處理部分的功能主要是:產(chǎn)生正確的讀寫時序和刷新時序。19、ROM、PROM、EPROM分別用在什么場合?[解答]ROM適合于固化成熟的固定程序和數(shù)據(jù)。PROM適用于需要對存儲器進(jìn)行編程的地方。EPROM適用于需要用電信號對存儲器中的內(nèi)容進(jìn)行在線清除和修改的地方。20、Cache技術(shù)的基本思想和出發(fā)點是什么?一個Cache系統(tǒng)由哪幾個主要部分組成?[解答]Cache是一種高速緩沖存儲器,是為了解決CUP和主存之間速度不匹配問題而采用的一項重要技術(shù)。Cache技術(shù)的出發(fā)點就是用SRAM和DRAM構(gòu)成一個組合的存儲系統(tǒng),使它兼有SRAM和DRAM的優(yōu)點。采用這樣的技術(shù),在主存和高速CPU之間設(shè)置一個小容量的高速存儲器(通常為32KB的SRAM),其中存放的CPU常用的指令和數(shù)據(jù),于是,CPU對存儲器的訪問主要體現(xiàn)在對SRAM的存取,因此可以不必加等待狀態(tài)而保持高速操作。一個cache系統(tǒng)包含3個方面的內(nèi)容:1、Cache模塊,即CPU和慢速主存之間的SRAM;2、主存,即慢速DRAM;3、Cache控制器,用來對Cache系統(tǒng)進(jìn)行控制。21、區(qū)域性定律是適用于哪一方面的?它包含哪兩類區(qū)域性?[解答]大部分軟件對存儲器的訪問并不是任意的、隨機(jī)的,而是有著明顯的區(qū)域性。也可以說存在著區(qū)域性定律(PrincipleofLocdity),這表現(xiàn)在兩個方面:1、時間區(qū)域性。即存儲體中某一個數(shù)據(jù)被存取后,可能很快又被存取。2、空間區(qū)域性。存儲體中某個數(shù)據(jù)被存取了,附近的數(shù)據(jù)也很快被存取。正是這個區(qū)域性設(shè)計,導(dǎo)致了存儲提設(shè)計的層次結(jié)構(gòu),即把存儲體分為幾層。對提高存儲器的存取速度、從而提高程序運(yùn)行速度非常有效。22、Cache的組織方式有哪幾種?各有什么特征?[解答]按照主存和Cache之間的映象關(guān)系,Cache有3種組織方式:1、全相聯(lián)方式(fullyassociative)。按這種方式,主存的一個區(qū)塊可映象到Cache的任何一個地方。2、直接映象方式(directmappad)。在這種方式下,主存的一個區(qū)塊可能映象到Cache的一個對應(yīng)的地方。3、組相聯(lián)方式(setassociative)。即主存的一個區(qū)塊可以映象到Cache的有限地方。具體說,在這種方式下,一個Cache分為許多組,在一組里有兩個或多個區(qū)塊,主存的區(qū)塊映象到某個對應(yīng)的組中,但是這個區(qū)塊可能出現(xiàn)在這個組的任何地方。23、在組相聯(lián)方式Cache中,一般采用雙路相聯(lián)或四路相聯(lián)方式,在選擇區(qū)塊位置時,可以采用哪3種解決辦法?[解答]選擇區(qū)塊位置時可以采用3種解決辦法:1、由Cache控制器決定替換“最近最少使用”的區(qū)塊,簡成LUR方式;2、按先進(jìn)先出(FIFO)的方法替換掉Cache中保存時間最長的區(qū)塊;3、隨意選擇。24、什么叫Cache的數(shù)據(jù)一致性問題?具體表現(xiàn)在哪兩個方面?[解答]Cache系統(tǒng)中,同樣一個數(shù)據(jù)可能既存在于Cache中,也存在于主存中,數(shù)據(jù)一樣則具有一致性。它表現(xiàn)在2個方面:1、當(dāng)更新時可能Cache中的數(shù)據(jù)更新,而主存未更新,則造成數(shù)據(jù)丟失。2、在有DMA控制器的系統(tǒng)和多處理器系統(tǒng)中,有多個部件可以訪問主存,這時,可能其中有些部件是直接訪問主存的,也可能每個DMA部件和處理器配置一個Cache,這樣,主存的一個區(qū)塊可能對應(yīng)于多個Cache中的各一個區(qū)塊。于是會產(chǎn)生主存中的數(shù)據(jù)被某個總線部件更新過,而某個Cache中的內(nèi)容未更新,這種情況造成數(shù)據(jù)過時。25、對數(shù)據(jù)丟失造成的數(shù)據(jù)一致性問題,可以采用什么解決辦法?[解答](1)直寫式。每當(dāng)cpu把數(shù)據(jù)寫到cache中時,cache控制器會立即把數(shù)據(jù)寫入主存對應(yīng)的位置。所以,主存隨時跟蹤cache的最新版本,從而也就不會有主存將新的數(shù)據(jù)丟失的問題。(2)緩沖直寫式。這種方式是在主存和cache之間加一個緩沖器,每當(dāng)cache中作數(shù)據(jù)更新時,也對主存作更新,但是,要寫入主存的數(shù)據(jù)先存在緩沖中,在cpu進(jìn)入下一個操作時,緩沖器中的數(shù)據(jù)寫入主存。(3)回寫式。這種方式,cache每一個區(qū)塊的標(biāo)記中都要設(shè)置一個更新位,cpu對cache中的一個區(qū)塊寫入后,如未更新相應(yīng)的主存區(qū)塊,側(cè)更新位置1。在每次對cache寫入時,cache控制器須先檢查更新位,如為0,側(cè)可直接寫入,反之,側(cè)cache控制器先把cache現(xiàn)有的內(nèi)容寫入主存相應(yīng)位置,再對cache進(jìn)行寫入。26、對于數(shù)據(jù)過時造成的數(shù)據(jù)一致性問題,可以有哪些防止辦法?比較其優(yōu)缺點。[解答](1)總線監(jiān)視法。在這種方法中,由cache控制器隨時監(jiān)視系統(tǒng)的地址總線,如其他部件將數(shù)據(jù)寫到主存,并且寫入的主存正好是cache中的區(qū)塊對應(yīng)的位置,那么,cache控制器會自動將cache中的區(qū)塊標(biāo)為"無效"。(2)硬件監(jiān)視法。通過外加硬件電路,使cache本身能觀察到主存中已映象區(qū)塊的所有存取操作。當(dāng)一個cache有寫操作時,新數(shù)據(jù)既拷貝到主存,也拷貝到其他cache,從而防止數(shù)據(jù)過失。(3)劃出不可高速緩沖存存儲區(qū)法。按這種方法,要在主存劃出一個區(qū)域作為各部件共享區(qū),這個區(qū)域中的內(nèi)容永遠(yuǎn)不能取到cache,因此,cpu對此區(qū)域的訪問也必須是直接的,而不是通過cache來進(jìn)行的。用這種方法,便可避免主存中一個區(qū)域映象到多個cache的情況,于是也避免了數(shù)據(jù)過時的問題。(4)cache清除法。這種方法是將cache中的所有已更新的數(shù)據(jù)寫回到主存,同時清除cache中的所以數(shù)據(jù),也可以避免數(shù)據(jù)過時的問題。27、Cache系統(tǒng)中的Cache控制器主要完成哪些功能?[解答](1)cache和主存的映象關(guān)系處理。(2)未命中cache時的處理。(3)cache的數(shù)據(jù)更新。28、Cache系統(tǒng)如果在訪問時未命中,系統(tǒng)將怎樣動作?(詳見P196)[解答]未命中可能是兩種情況,一是區(qū)塊未命中,一是標(biāo)記未命中。在直接映象方式下,系統(tǒng)都會訪問主存,而且在數(shù)據(jù)送給80386的同時寫入cache中,接著修改82385內(nèi)部的相應(yīng)目錄。如果是區(qū)塊未命中的情況,只將對應(yīng)的區(qū)塊有效值改為1;如果是標(biāo)記未命中,側(cè)目錄修改包括將A31---A15值寫入目錄項的標(biāo)記中,再將標(biāo)記有效位置1,又將對應(yīng)的區(qū)塊有效位置1,同時將其他7區(qū)塊有效位置0。以后,再遇到這個目錄項的標(biāo)記命中而區(qū)塊未命中時,只需要將對應(yīng)的區(qū)塊有效位置1即可。在雙路組相聯(lián)方式下,標(biāo)記未命中時,設(shè)此時LRU位指向A路,側(cè)數(shù)據(jù)從主存讀出后,會同時寫入A路的對應(yīng)區(qū)塊,并且,82385根據(jù)A31--A14修改A路對應(yīng)的目錄標(biāo)記,再使標(biāo)記有效位置1,對應(yīng)的區(qū)塊有效位置1,其他7個區(qū)塊有效位清0,然后,使LRU指向B路。第五章外部設(shè)備為什么要通過接口電路和主機(jī)系統(tǒng)相連?存儲器需要接口電路和總線相連嗎?為什么?[答案]外部設(shè)備的功能是多種多樣的。有些外設(shè)作為輸入設(shè)備,有些外設(shè)作為輸出設(shè)備,也有些外設(shè)既作為輸入設(shè)備又作為輸出設(shè)備,還有一些外設(shè)作為檢測設(shè)備或控制設(shè)備,而每一類設(shè)備本身可能又包括了多種工作原理不同的具體設(shè)備。對于一個具體設(shè)備來說,它所使用的信息可能是數(shù)字式的,也可能是模擬式的,而非數(shù)字式信號必須經(jīng)過轉(zhuǎn)換,使其成為對應(yīng)的數(shù)字信號才能送到計算機(jī)總線。這種將模擬信號變?yōu)閿?shù)字信號、或者反過來將數(shù)字信號變?yōu)槟M信號的功能是A/D、D/A接口來完成的。外設(shè)的工作速度通常比CPU的速度低得多,而且各種外設(shè)的工作速度互不相同,這就要求接口電路對輸入/輸出過程能起一個緩沖和聯(lián)絡(luò)的作用。輸入/輸出接口電路是為了解決計算機(jī)和外部設(shè)備之間的信息變換問下題而提出來的,輸入/輸出接口是計算機(jī)和外設(shè)之間傳送信息的部件,每個外設(shè)都要通過接口和主機(jī)系統(tǒng)相連。不需要,因為所有存儲器都是用來保存信息的,功能單一;傳送方式也單一,一次必定是傳送1個字節(jié)或者1個字;品種很有限,只有只讀類型和可讀/可寫類型。此外,存儲器的存取速度基本上可以和CPU的工作速度匹配。這些決定了存儲器可以通過總線和CPU相連。是不是只有串行數(shù)據(jù)形式的外設(shè)需要接口電路和主機(jī)系統(tǒng)連接?為什么?[答案]不是的,因為CPU通過總線要和外設(shè)打交道,而在同一個時刻CPU通常只和一個外設(shè)交換信息,就是說,一個外設(shè)不能長期和CPU相連,只有被CPU選中的外設(shè),才接收數(shù)據(jù)總線上的數(shù)據(jù)或者將外部信息送到數(shù)據(jù)總線上。考慮外設(shè)的速度和信號規(guī)格,所以,即使是并行設(shè)備,也同樣要通過接口與總線相連。接口電路的作用是什么?按功能可分為幾類?[答案]作用是:使處理器得到所需要的時鐘信號或接收外部的多個中斷請求等;利用接口電路,微處理器可以接收外部設(shè)備送來的信息或?qū)⑿畔l(fā)送給外部設(shè)備。按功可分為兩類:一類是使微外理器正常工作所需要的輔助電路通過這些輔助電路,使外理器得到所需要的時鐘信號或接收外部的多個中斷請求等;另一類是輸入/輸出接口電路,利用這些接口電路,微處理器可以接收外部設(shè)備送來的信息或?qū)⑿畔l(fā)送給外部設(shè)備。數(shù)據(jù)信息有哪幾類?舉例說明它們各自的含義。[答案]數(shù)據(jù)信息大致分為如下三種類型:1、數(shù)字量:這類是指由鍵盤、磁盤機(jī)、卡片機(jī)等讀入的信息,或者主機(jī)送給打印機(jī)、磁盤機(jī)、顯示器及繪圖儀的信息,它們是二進(jìn)制形式的數(shù)據(jù)或是以ASII碼表示的數(shù)據(jù)及字符,通常是8位的。2、模擬量:如果一個微型機(jī)系統(tǒng)是用于控制的,那么,多數(shù)情況下的輸入信息就是現(xiàn)場的連續(xù)變化的物理量,如溫度、濕度、位移、壓力、流量等,這些物理量一般通過傳感器先變成電壓或電流,再經(jīng)過放大。這樣的電壓和電流仍然是連續(xù)變化的模擬量,而計算機(jī)無法直接接收和處理模擬量,要經(jīng)過模擬量往數(shù)字量(A/D)的轉(zhuǎn)換,變成數(shù)字量,才能送入計算機(jī)。反過來,計算機(jī)輸出的數(shù)字量要經(jīng)過數(shù)字量往模擬量(D/A)的轉(zhuǎn)換,變成模擬量,才能控制現(xiàn)場。3、開關(guān)量:開關(guān)量可表示兩個狀態(tài),如開關(guān)的閉全和斷開、電機(jī)的運(yùn)摶和停止、閥門的找開和關(guān)閉等,這樣的量只要用1位二進(jìn)制數(shù)表示就可以了。CPU和輸入/輸出設(shè)備之間傳送的信息有哪幾類?[答案]CPU和輸入/輸出設(shè)備之間傳送的信息有以下幾類:數(shù)據(jù)信息、狀態(tài)信息、控制信息。什么叫端口?通常有哪幾類端口?計算機(jī)對I/O端口編址時通常采用哪兩種方法?在8086/8088系統(tǒng)中,用哪種方法對I/O端口進(jìn)行編址?[答案]CPU和外設(shè)進(jìn)行數(shù)據(jù)傳輸時,各類信息在接口中進(jìn)入不同的寄存器,一般稱這些寄存器為端口。通常有:數(shù)據(jù)端口、狀態(tài)端口、控制端口。對端口編址的兩種方法為:計算機(jī)對內(nèi)存和I/O端口統(tǒng)一編址;計算機(jī)對內(nèi)存和I/O端口分別進(jìn)行編址。在8086/8088系統(tǒng)中用計算機(jī)對內(nèi)存和I/O端口統(tǒng)一編址。為什么有時候可以使兩個端口對應(yīng)一個地址?[答案]不管輸入還是輸出,所用到的地址總是對端口而言的,而不是對接口部件而言的。如果一個接口有兩個端口,那么,在設(shè)計接口部件時,就已經(jīng)考慮了它能接收兩個端口地址。一個雙向工作的接口芯片通常有4個端口,即數(shù)據(jù)輸入端口、數(shù)據(jù)輸出端口、狀態(tài)端口和控制端口。因為數(shù)據(jù)輸入端口和狀態(tài)端口是“只讀”的,數(shù)據(jù)輸入端口和控制端口是“只寫”的,所以,系統(tǒng)為了節(jié)省地址空間,往往將數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口對應(yīng)一個端口地址,CPU用此地址進(jìn)行讀操作時,實際上是從數(shù)據(jù)輸入端口讀取數(shù)據(jù),而當(dāng)CPU用此地址進(jìn)行寫操作時,實際上是往數(shù)據(jù)輸出端口寫入數(shù)據(jù)。同樣,狀態(tài)端口和控制端口也用同一個端口地址。CPU和外設(shè)之間的數(shù)據(jù)傳送方式有哪幾種?實際選擇某種傳輸方式時,主要依據(jù)是什么?[解答]CPU與外設(shè)之間的數(shù)據(jù)傳輸有以下三種方式:程序方式、中斷方式、DMA方式。其中程序方式又可分為無條件傳送方式和條件傳送方式兩種方式。在CPU外設(shè)傳送數(shù)據(jù)不太頻繁的情況下一般采用無條件傳送方式。在CPU用于傳輸數(shù)據(jù)的時間較長且外設(shè)數(shù)目不多時采用條件傳送方式。在實時系統(tǒng)以及多個外設(shè)的系統(tǒng)中,為了提高CPU的效率和使系統(tǒng)具有實時性能,采用中斷傳送方式。如I/O設(shè)備的數(shù)據(jù)傳輸效率較高,那么CPU和這樣的外設(shè)進(jìn)行數(shù)據(jù)傳輸是,即使盡量壓縮程序查詢方式和中斷方式中的非數(shù)據(jù)傳輸時間,也仍然不能滿足要求。這是因為在這兩種方式下,還存在另外一個影響速度的原因,即它們都是按字節(jié)或字來進(jìn)行傳輸?shù)?。為了解決這個問題,實現(xiàn)按數(shù)據(jù)塊傳輸,就需要改變傳輸方式,這就是直接存儲器傳輸方式,即DMA方式。無條件傳送方式用在哪些場合?畫出無條件傳送方式的工作原理圖并說明。[解答]無條件傳送方式適用于對一些簡單的外設(shè)的操作中,如:開關(guān)、七段顯示管等。當(dāng)CPU執(zhí)行輸入指令是,讀信號RD有效,選擇信號M/IO處于低電平,因而三態(tài)緩沖器被選通,使其中早已準(zhǔn)備好的輸入數(shù)據(jù)進(jìn)入數(shù)據(jù)總線,再到達(dá)CPU。圖見課本203頁圖5.2。當(dāng)CPU執(zhí)行輸入指令時,讀信號RD有效,選擇信號M/IO處于低電平,因而三態(tài)緩沖器被選通,使其中早已準(zhǔn)備好的輸入數(shù)據(jù)進(jìn)入數(shù)據(jù)總線,再到達(dá)CPU。CPU執(zhí)行輸出指令時,M/IO和WR信號有效,于是接口中的輸出鎖存器被選中,CPU輸出的信息經(jīng)過數(shù)據(jù)總線打入輸出鎖存器,輸出鎖存器保持這個數(shù)據(jù),直到外設(shè)取走。條件傳送方式的工作原理是怎樣的?主要用在什么場合?畫出條件傳送(查詢)方式輸出過程的流程圖。[解答]數(shù)據(jù)傳送有三個環(huán)節(jié):1、CPU從接口中讀取狀態(tài)字。2、CPU檢測狀態(tài)字的對應(yīng)位是否滿足“就緒”條件,如不滿足,則回到前一步讀取狀態(tài)字。3、如狀態(tài)字表明外設(shè)已處于就緒狀態(tài),則傳送數(shù)據(jù)。主要用于非實時系統(tǒng)及單一外設(shè)系統(tǒng)。查詢式傳送方式有什么優(yōu)缺點?中斷方式為什么能彌補(bǔ)查詢方式的缺點?[解答]在查詢方式下CPU不斷地讀取狀態(tài)字,如果狀態(tài)字表明外設(shè)沒準(zhǔn)備好,則CPU須等待。這些過程占用了CPU的大量工作時間,而CPU真正用于傳輸數(shù)據(jù)的時間卻很少。另外,用查詢方式工作時,如果一個系統(tǒng)有多個外設(shè),那么CPU只能輪流對每個外設(shè)進(jìn)行查詢,而這些外設(shè)的速度往往并不同。這時CPU顯然不能很好的滿足各個外設(shè)隨機(jī)性的對CPU提出的輸入/輸出服務(wù)要求,所以,不具備實時性。使用中斷傳方式時,CPU就不必花費大量時間去查詢外設(shè)的工作狀態(tài)了,因為當(dāng)外設(shè)就緒時,就會主動向CPU發(fā)中斷請求信號。而CPU本身具有這樣的功能:在每條指令被執(zhí)行完以后,會檢查外部是否有中斷請求,如果有中斷請求,那么在中斷允許標(biāo)志為1的情況下,CPU保留下一條指令的地址和當(dāng)前的標(biāo)志,轉(zhuǎn)到中斷服務(wù)程序去執(zhí)行。被外界中斷時,程序中下一條指令所處稱為斷點。從中斷服務(wù)程序返回時,CPU會恢復(fù)標(biāo)志和斷點地址。畫一個用中斷方式進(jìn)行輸出傳輸?shù)慕涌陔娐?。[解答]見課本210頁圖5.6。敘述可屏蔽中斷的響應(yīng)和執(zhí)行過程。[解答]INTR引腿上進(jìn)入的中斷請求信號是可以被IF標(biāo)志所屏蔽的,所以稱為屏蔽中斷。如果IF標(biāo)志為0,則從INTR引腿進(jìn)入的中斷請求信號得不到響應(yīng),只有當(dāng)IF為1時,CPU才會通過INTA引腿往接口電路送兩個負(fù)脈沖作為回答信號。中斷接口電路接收到INTA信號后,將中斷向量發(fā)送到數(shù)據(jù)總線,同時清除中斷請求觸發(fā)起的請求信號。CPU根據(jù)中斷處理子程序的入口地址,從而進(jìn)入中斷處理子程序。通常解決中斷優(yōu)先級的方法有哪幾種?各有什么優(yōu)缺點?[答案]通常解決中斷優(yōu)先級的方法有一下三種:(1)軟件查詢方式;(2)簡單硬件方式--菊花鏈法;(3)專用硬件方式。利用軟件查詢方式來確定中斷優(yōu)先級的優(yōu)點是省硬件,不需要有判斷優(yōu)先級的硬件排隊電路,而是用程序的優(yōu)先級來確定設(shè)備的優(yōu)先級。當(dāng)然,用軟件查詢方式也有缺點,這就是由設(shè)備發(fā)出中斷請求信號到CPU轉(zhuǎn)入相應(yīng)的服務(wù)程序入口的時間較長,特別是在中斷源比較多是情況下,必須有較長的查詢程序段,這樣,轉(zhuǎn)入服務(wù)程序所花費的時間也較長。在簡單硬件方式下,各個外設(shè)接口就不會競爭中斷回答信號,菊花鏈已經(jīng)從硬件的角度根據(jù)接口在鏈中的位置決定了它們的優(yōu)先級,越靠近CPU的接口,優(yōu)先級越高。在專用硬件方式下的整個過程中,優(yōu)先級較低的請求都受到阻塞,直到通過程序中的指令或者由于中斷處理程序執(zhí)行完畢而引起當(dāng)前中斷服務(wù)寄存器的對應(yīng)為清0,級別較低的中斷請求才可能得到響應(yīng)。和DMA方式比較,中斷傳輸方式有什么不足之處?[答案]在中斷方式下,仍然是通過CPU執(zhí)行程序來實現(xiàn)數(shù)據(jù)傳送的,每進(jìn)行1次傳送,CPU都必須執(zhí)行一遍中斷處理程序。而每進(jìn)入1次中斷處理程序,CPU都要保護(hù)斷點和標(biāo)志;此外,在中斷處理程序中,通常有一系列保護(hù)寄存器和恢復(fù)寄存器的指令,這些指令顯然和數(shù)據(jù)傳送沒有直接關(guān)系,但在執(zhí)行時,卻要使CPU花費不少時間;還有,對于8086來說,本來取指令和執(zhí)行指令分別由總線接口部件和執(zhí)行部件完成,它們并行地工作,即執(zhí)行部件在執(zhí)行指令時,總線接口部件把下面要執(zhí)行的指令取到指令隊列中,但是,一旦進(jìn)入中斷,指令隊列就要清除,執(zhí)行部件須等待總線接口部件將中斷處理子程序中的指令取到指令隊列中才開始執(zhí)行程序,同樣,返回斷點時,指令隊列也要作清除,執(zhí)行部件要等待總線接口部件重新裝入斷點處的指令后才開始執(zhí)行,這使并行工作機(jī)制失去功能。中斷方式是按字節(jié)或是字來傳輸?shù)?,這樣傳輸速度就很慢。敘述用DMA方式單個數(shù)據(jù)的全過程。[答案](1)接口準(zhǔn)備就緒,向DMA控制器發(fā)DMA請求;(2)DMA控制器接到信號后,發(fā)總線請求;(3)接到信號后,總線允許,從而控制總線控制權(quán);(4)DMA控制器中地址寄存器的內(nèi)容送到地址總線上;(5)DMA請求得到確認(rèn);(6)內(nèi)存把數(shù)據(jù)送數(shù)據(jù)總線(7)接口鎖存數(shù)據(jù);(8)撤消總線請求;(9)8086收回總線控制權(quán)。DMA控制器的地址線為什么是雙向的?什么時候往DMA控制器傳輸?shù)刂??什么時候DMA控制器往地址總路線傳輸?shù)刂??[答案]DMA控制器的地址線之所以是雙向的,這是因為DMA控制器可以控制總線,當(dāng)它得到總線控制權(quán)時,可以把地址送到地址總線上,而接口卻只能接收端口地址。當(dāng)接口準(zhǔn)備就緒,向DMA控制器發(fā)DMA請求,DAM允許后就可以往DMA控制器傳輸?shù)刂贰AM控制器發(fā)總線請求,然后得到CPU送來的DMA允許信號,從而得到總線控制權(quán),這時,DMA控制器就往總路線傳輸?shù)刂?。在查詢方式、中斷方式和DMA方式中,分別用什么方法啟動數(shù)據(jù)傳輸過程?[答案]在查詢方式下,是通過程序來檢測接口中狀態(tài)寄存器中的"準(zhǔn)備好"(READY)位,以確定當(dāng)前是否可以進(jìn)行數(shù)據(jù)傳輸?shù)?;在中斷方式下,?dāng)接口中已經(jīng)有數(shù)據(jù)要往CPU輸入或者準(zhǔn)備好接收數(shù)據(jù)時,接口會向CPU發(fā)一個外部中斷請求,CPU在得到中斷請求后,如果響應(yīng)中斷,便通過運(yùn)行中斷處理程序來實現(xiàn)輸入/輸出;在DMA方式下,外設(shè)要求傳輸數(shù)據(jù)時,接口會向DMA控制器發(fā)DMA請求信號,DMA控制器轉(zhuǎn)而往CPU發(fā)送一個總線請求信號,以請求得到總線控制權(quán),如果得到DMA允許,那么,就可以在沒有CPU參預(yù)的情況下實現(xiàn)DMA傳輸。第六章1、接口部件為什么需要有尋址功能?如果要進(jìn)一步對接口中的寄存器進(jìn)行尋址,應(yīng)該怎樣實現(xiàn)?[解答]首先,接口要對選擇存儲器和I/O的信號能夠做出解釋;此外,要對送來的片選信號進(jìn)行識別,以便判斷當(dāng)前接口是否被訪問,如果受到訪問,還要決定是接口中哪個寄存器受到訪問。用A0和讀、寫信號配合可進(jìn)一步尋址接口中的寄存器。2、從廣義上說接口部件有哪些功能?[解答]從廣義的角度概括出來的接口的功能如下:①尋址功能;②輸入/輸出功能;③數(shù)據(jù)轉(zhuǎn)換功能;④聯(lián)絡(luò)功能;⑤中斷管理功能;⑥復(fù)位功能;⑦可編程功能;⑧錯誤檢測功能。3、接口部件和總路線之間一般有哪些部件?它們分別完成什么功能?[解答]為了支持接口邏輯,系統(tǒng)中通常有總線收發(fā)器和相應(yīng)的邏輯電路.邏輯電路把相應(yīng)的控制信號翻譯成聯(lián)絡(luò)信號.對于比較小的系統(tǒng)來說,可以省去總線收發(fā)器,因為主要的接口部件內(nèi)部都帶有總線驅(qū)動電路,其驅(qū)動能力已足夠.系統(tǒng)中還必須有地址譯碼器,以便將總線提供的地址翻譯成對接口的片選信號.典型的外部邏輯電路應(yīng)能接收CPU送來的讀/寫信號,以便決定數(shù)據(jù)傳輸方向.地址譯碼器除了接收地址信號外,還應(yīng)該把CPU提供的用來區(qū)分I/O地址空間和內(nèi)存地址空間的信號用于譯碼過程。4、為什么串行接口部件中的4個寄存器可以只用1位地址來進(jìn)行區(qū)分?[解答]復(fù)位后第一次用奇地址端口寫入的值送模式寄存器;然后寫入同步字符;然后寫控制字。讀奇地址則讀狀態(tài)寄存器。所以奇地址對應(yīng)模式、控制、狀態(tài)寄存器,通過讀寫信號和時序來區(qū)分。偶地址對應(yīng)數(shù)據(jù)輸入、輸出緩沖器,通過讀寫信號來區(qū)分。5、在數(shù)據(jù)通信系統(tǒng)中,什么情況下可以采用全雙工方式,什么情況下可用半雙工方式?[解答]如果一個數(shù)據(jù)通信系統(tǒng)中,對數(shù)據(jù)的兩個傳輸方向采用不同的路這樣的系統(tǒng)就可以工作在全雙工方式。對于只進(jìn)行單方向數(shù)據(jù)傳輸?shù)耐獠吭O(shè)備時,故用半雙工就能滿足。6、什么叫同步通信方式?什么叫異步通信方式?它們各有什么優(yōu)缺點?[解答]同步通信,即交許多字符組成一個信息組,字符一個接一個地傳輸,每組信息的開始要加上同步字符,沒有信息傳輸出時,要填上空字符,同步通信不允許有間隙。異步通信,兩個字符之間的傳輸間隔是任意的,每個字符的前后都要用一些數(shù)位來作為分隔位。比較起來,在傳輸率相同時,同步通信方式下的住處有效率要比比方式下的高,因為同步方式下的的非數(shù)據(jù)信息比例要較小。但是,在同步方式下,要求進(jìn)行信息傳輸雙方必須用同一個時間進(jìn)行協(xié)調(diào),在傳輸數(shù)據(jù)的同時,還必須傳輸時鐘信號。而在異步方式下,接收方的時鐘頻率和發(fā)送方的時鐘頻率不必完全一樣。7、什么叫波特率因子?什么叫波特率?設(shè)波特率因子為64,波特率為1200,那么時鐘頻率為多少?[解答]發(fā)送時鐘與接收時鐘的頻率與位傳輸率的比稱為波特率因子,而位傳輸率稱為波特率。時鐘頻率為76800HZ8、標(biāo)準(zhǔn)波特率系列指什么?[解答]標(biāo)準(zhǔn)波特率系列為110,300,600,1200,1800,2400,9600,192009、設(shè)異步傳輸時,每個字符對應(yīng)1個超始位、7個信息位、1個奇/偶校驗位和1個停止位,如果波特率為9600,則每秒能傳輸?shù)淖畲笞址麛?shù)為多少個?[解答]即9600/10=960個1、8251A內(nèi)部有哪些功能模塊?其中讀/寫控制邏輯電路的主要功能是什么?[解答]8251A有一個數(shù)據(jù)輸入緩沖寄存器和一個數(shù)據(jù)輸出緩沖寄存器,一個發(fā)送移位寄存器和一個接受移位寄存器,一個控制寄存器和一個狀態(tài)寄存器,一個模式寄存器和兩個同步字符寄存器等功能模塊。讀/寫控制邏輯電路用來配合數(shù)據(jù)總線緩沖器中工作。其主要功能有:1)接受寫信號WR,并將來自數(shù)據(jù)總線的數(shù)據(jù)和控制字寫入8251A;2)接受讀信號RD,并將數(shù)據(jù)或狀態(tài)字從8251A送往數(shù)據(jù)總線;3)接受控制/數(shù)據(jù)信號C/D,將此信號和讀/寫信號合起來通知8251A,當(dāng)前讀/寫的是數(shù)據(jù)還是控制字、狀態(tài)字;4)接受時鐘信號CLK,完成8251A的內(nèi)部定時;5)接受復(fù)位信號RESET,使8251A處于空閑狀態(tài)。2、什么叫異步工作方式?畫出異步工作方式時8251A的TxD和RxD線上的數(shù)據(jù)格式。[解答]串行工作方式分為兩種類型,一種叫同步方式,另一種叫異步方式。異步工作方式時,兩個字符之間的傳輸間隔是任意的,所以,每個字符的前后都要用一些數(shù)位來作為分隔位。在采用異步工作方式時,非數(shù)據(jù)信息比例比較大,而且,信息有效率比同步方式低,在異步方式下,接收方的時鐘頻率和發(fā)送方的時鐘頻率不必完全一樣,而只要比較像近,即不超過一定的允許范圍就行了。異步方式時的數(shù)據(jù)格式圖見課本233頁圖6.7。3、什么叫同步工作方式?什么叫雙同步字符方式?外同步和內(nèi)同步有什么區(qū)別?畫出雙同步工作時8251A的TxD線和RxD線上的數(shù)據(jù)格式。[解答]串行工作方式分為兩種類型,一種叫同步方式,另一種叫異步方式。同步方式時,將許多字符組成一個信息組,這樣,字符可以一個接一個地傳輸,但是,在每組信息(通常稱為信息幀)的開始要加上同步字符,在沒有信息要傳輸時,要填上空字符,因為同步傳輸不允許有間隙。在同步方式下,非數(shù)據(jù)信息比例比較小,要求進(jìn)行信息傳輸?shù)碾p方必須用同一個時鐘進(jìn)行協(xié)調(diào),正是這個時鐘確定了同步串行傳輸過程中每1位的位置,而且,在傳輸數(shù)據(jù)的同時,還必須傳輸時鐘信號。雙同步方式,就是要在測得輸入移位寄存器的內(nèi)容和第一個同步字符寄存器的內(nèi)容相同后,再繼續(xù)檢測此后的輸入移位寄存器的內(nèi)容是否與第二個同步字符寄存器的內(nèi)容相同,如果不同,則重新比較輸入移位寄存器和第一個同步字符寄存器的內(nèi)容,如果相同,則認(rèn)為同步已經(jīng)實現(xiàn)。外同步和內(nèi)同步的區(qū)別:在外同步情況下,和內(nèi)同步過程有所不同,因為這時是通過在同步輸入端SYNDET加一個高電位實現(xiàn)同步的,SYNDET端一出現(xiàn)高電平,8251A就會立刻脫離對同步字符的搜索過程,只要此高電位維持一個接收時鐘周期,8251A便認(rèn)為已經(jīng)完成同步。同步方式時的數(shù)據(jù)格式圖見課本234頁圖6.8。4、8251A和CPU之間有哪些連接信號?其中C/D和RD、WR如何結(jié)合起來完成對命令、數(shù)據(jù)的寫入和狀態(tài)、數(shù)據(jù)的讀出?[解答]8251A和CPU之間的連接信號可以分為4類:1)片選信號:CS——片選信號CS是CPU的地址信號通過譯碼后得到的。2)數(shù)據(jù)信號:D7-D0——8251A有8根數(shù)據(jù)線D7-D0,通過它們,8251A與系統(tǒng)的數(shù)據(jù)總線相連。3)讀/寫控制信號:RD——讀信號RD為低電平時,用來通知8251A,CPU當(dāng)前正在從8251A讀取數(shù)據(jù)或則狀態(tài)信息;WR——寫信號WR為低電平時,用來通知8251A,CPU當(dāng)前正在往8251A寫入數(shù)據(jù)或則控制信息;C/D——控制/數(shù)據(jù)信號C/D也是CPU送往8251A的信號,用來區(qū)分當(dāng)前讀/寫的是數(shù)據(jù)還是控制信息或狀態(tài)信息。4)收發(fā)聯(lián)絡(luò)信號:TxRDY——發(fā)送器準(zhǔn)備好信號TxRDY用來告訴CPU,8251A已經(jīng)準(zhǔn)備好一個字符。TxE——發(fā)送器空信號TxE為高電平時有效,用來表示此時8251A發(fā)送器中并行到串行轉(zhuǎn)換器空,它實際上指示一個發(fā)送動作的完成。RxRDY——接受器準(zhǔn)備好信號RxRDY用來表示當(dāng)前8251A已經(jīng)從外部設(shè)備或調(diào)制解調(diào)器接受到一個字符,正等待CPU取走SYNDET——同步檢測信號SYNDET只用于同步方式。其中C/D和RD、WR結(jié)合起來完成對命令、數(shù)據(jù)的寫入和狀態(tài)、數(shù)據(jù)的讀出,C/D,WR,RD這3個信號和讀/寫操作之間的關(guān)系圖見課本235表6.2。8251A只有兩個連續(xù)的端口地址,數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口合用一個偶地址,而狀態(tài)端口和控制端口合用一個奇地址。當(dāng)C/D為低電平時,正好選中了偶地址端口,再與RD或WR配合,便實現(xiàn)了數(shù)據(jù)的讀/寫,當(dāng)A1為高電平時,正好選中了奇地址端口,再與RD或WR配合,便實現(xiàn)了狀態(tài)信息的讀取和控制信息的寫入。5、8086/8088系統(tǒng)中,8251A的C/D端應(yīng)當(dāng)和哪個信號相連,以便實現(xiàn)狀態(tài)端口、數(shù)據(jù)端口、控制端口的讀/寫?[解答]在8086/808系統(tǒng)中,8251A的C/D端應(yīng)與地址線A1相連接。在086/808系統(tǒng)中,利用地址線A1來區(qū)分奇地址端口和偶地址端口,于是,當(dāng)A1為低電平時,C/D端也是低電平,正好選中了偶地址端口,再與RD或WR配合,便實現(xiàn)了數(shù)據(jù)的讀/寫,當(dāng)A1為高電平時,C/D端也是高電平,正好選中了奇地址端口,再與RD或WR配合,便實現(xiàn)了狀態(tài)信息的讀取和控制信息的寫入,這樣,地址線A1的電平變化正好符合了8251A對C/D端的信號要求。6、8251A和外設(shè)之間有哪些連接信號?[解答]8251A與外部設(shè)備之間的連接信號分為兩類,具體如下:(1)收發(fā)聯(lián)絡(luò)信號:DTR--數(shù)據(jù)終端準(zhǔn)備好信號是由DTR8251A送往外設(shè)的,CPU通過命令可以使DTR變?yōu)榈碗娖郊从行щ娖?,從而通知外部設(shè)備,CPU當(dāng)前已經(jīng)準(zhǔn)備就緒;DSR--數(shù)據(jù)終端準(zhǔn)備好信號DTR是外設(shè)送往8251A的,低電平時有效,它用來表示當(dāng)前外設(shè)已經(jīng)準(zhǔn)備好。當(dāng)DSR端出現(xiàn)低電平時,會在8251A的狀態(tài)寄存器第7位上反映出來,所以,CPU通過對狀態(tài)寄存器的讀取操作,便可以實現(xiàn)對DSR線號的檢測。RTS--請求發(fā)送信號RTS是8251A送往外設(shè)的,低電平有效,CPU可以通過編程命令使RTS變?yōu)橛行щ娖?,以表示CPU已經(jīng)準(zhǔn)備好發(fā)送。CTS--清除請求發(fā)送信號CTS是對RTS的響應(yīng)信號,它是由外設(shè)送往8251A的,當(dāng)CTS為低電平時,8251A才能執(zhí)行發(fā)送操作。(2)數(shù)據(jù)信號:TxD--發(fā)送器數(shù)據(jù)信號端TxD用來輸出數(shù)據(jù)。CPU送往8251A的并行數(shù)據(jù)被轉(zhuǎn)變?yōu)榇袛?shù)據(jù)后,通過TxD送往外設(shè)。RxD--接收器數(shù)據(jù)信號端RxD用來接收外設(shè)送來的串行數(shù)據(jù),數(shù)據(jù)進(jìn)入8251A后被轉(zhuǎn)變?yōu)椴⑿蟹绞健?、為什么8251A要提供DTR,DSR,RTS,CTS四個信號作為和外設(shè)的聯(lián)絡(luò)信號?平常使用時是否可以只用其中兩個或者全部不用?要特別注意什么?說明CTS端的連接方法。[解答]實際上,這4個信號是提供給cpu外設(shè)聯(lián)絡(luò)用的。我們知道,cpu和外設(shè)不能直接相連的,cpu對外設(shè)的控制信號和外設(shè)給cpu的狀態(tài)信號都不能在cpu和外設(shè)間直接傳輸,只能通過接口傳遞,8251A正是通過這4個信號起聯(lián)絡(luò)作用的。其中DTR和RTS是CPU通過8251A送給外設(shè)的,CPU通過軟件對控制寄存器中的DTR和RTS位置1就可以使8251A的DTR引腿和DTS引腿輸出有效電平,所以,DTR和DTS是對外設(shè)的控制信號。DSR和CTS是外設(shè)通過8251A傳遞給的狀態(tài)信號,當(dāng)外設(shè)和端相連時,往此引腳上送一個低電平,就會影響狀態(tài)寄存器的DSR位,而可通過軟件對DSR位檢測,CTS端的低電平為低還是為高則會影響端的電平,而正是8250A送給CPI的一個狀態(tài)信號,所以,CTS也起到將外設(shè)狀態(tài)通知的聯(lián)絡(luò)作用。平時使用時,可以只用其中兩個或全部都不用。當(dāng)外設(shè)不要求有聯(lián)絡(luò)信號時,只要將CTS接地即可;當(dāng)外設(shè)只要一對聯(lián)絡(luò)信號時,可以選其中任一組,既可是DTR和DSR,也可用RTS和CTS,不過仍要滿足使CTS在某個時候得到低電平;只有當(dāng)某個外設(shè)要求的聯(lián)絡(luò)信號比較多時,才有必要將4個信號都用上。特別要注意的是CTS必須為低電平,其他三給信號的引腿可以懸空起來不用。這就是說,即使和外設(shè)間不需要任何傳遞信號,也要將CTS端接地使它處于有效電平。原因很簡單,因為只有CTS當(dāng)為低電平時,TRDY才能使為高電平,而只有當(dāng)TRDY為高電平時,才能往8251A發(fā)送數(shù)據(jù)。8、8086系統(tǒng)中采取什么措施來實現(xiàn)8位接口芯片和低8位數(shù)據(jù)線的連接且滿足對奇/偶端口地址的讀/寫?這樣做的道理是什么?[解答]將地址總線的最低位A0不連接到8251A這樣的接口芯片上,而是將地址次地位A1做為地址最低位來用就行了。在這種情況下,如果CPU這邊給出連續(xù)的兩個偶地址,到8251A這邊,由于地址次地位作為地址最低位來用,相當(dāng)與將CPU給出的地址除以2,而兩個連續(xù)的偶地址中,必定有一個能被4整除,另一個不能被4整除,于是,兩個偶地址分別除以2后,就變成了一奇一偶兩個地址。這樣一來,從CPU這邊來說,端口地址都是偶地址,所以,傳遞信息時,信息總是出現(xiàn)在低8位數(shù)據(jù)線上;而從端口這邊來說,端口地址中既有奇地址,也有偶地址,而且是連續(xù)的,這正好滿足許多接口芯片對端口地址的要求。1、8251A的模式字格式如何?參照教材上給定格式編寫如下模式字:異步方式,1個停止位,偶校驗,7個數(shù)據(jù)位,波特率因子為16。[解答]對8251A進(jìn)行初始化時,模式字是按照模式寄存器的格式來設(shè)置的,8251A工作在同步模式和異步模式兩種情況下。當(dāng)模式寄存器的最低兩位為0時,8251A便進(jìn)入同步模式,此時,最高位決定了同步字符的數(shù)目;如果模式寄存器的兩個最低位不全為0,則8251A就進(jìn)入異步模式。模式寄存器的格式見課本240頁如1-a,1-b圖所示:按題意編寫的模式字為:01111010。2、8251A控制字的格式如何?參照教材上列出的格式給出如下控制字:發(fā)送允許,接收允許,DTR端輸出低電平,TxD端發(fā)送空白字符,RTS端輸出低電平,內(nèi)部不復(fù)位,出錯標(biāo)志復(fù)位。[解答]對8251A進(jìn)行初始化時,控制字是按照控制寄存器的格式寫入的??刂萍拇嫫鞯母袷饺鏟241圖6.12所示。按題意編寫的控制字為:001111113、8251A狀態(tài)字格式如何?哪幾位和引腿信號有關(guān)?狀態(tài)位TxRDY和引腿信號TxRDY有何區(qū)別?它們在系統(tǒng)設(shè)計中有什么用處?[解答]狀態(tài)字是放在狀態(tài)寄存器中的,狀態(tài)寄存器的格式如P242圖6.13所示:狀態(tài)寄存器的1、2、6位分別與8251A引腳RxRDY,TxE,SYNDET上的信號有關(guān)。狀態(tài)位TxRDY和引腳信號TxRDY上的信號不同,狀態(tài)位TxRDY不受輸出信號CTS和控制位TxEN的影響。而引腳TxRDY必須在數(shù)據(jù)緩沖區(qū)為空,CTS為低電平且TxEN為高電平時,才為1,即TxRDY為1的條件:數(shù)據(jù)緩沖區(qū)空*CTS*TxEN=1。狀態(tài)位RxRDY為1指出接口中已經(jīng)接受到一個字符,當(dāng)前正準(zhǔn)備好輸入到CPU。不管是TxRDY還是RxRDY狀態(tài)位,都可以在程序設(shè)計時加以使用,來實現(xiàn)對8251A數(shù)據(jù)發(fā)送過程和接受過程的測試。當(dāng)然,也可以對引腳TxRDY和RxRDY上的信號加以利用,實際使用中,這兩個信號常常作為外設(shè)對CPU的中斷請求信號。當(dāng)CPU往8251A輸出一個字符以后,狀態(tài)位TxRDY會自動清零,與此類似的,當(dāng)CPU從8251A輸入一個字符時,狀態(tài)位RxRDY會自動清零。、4、并行通信和串行通信各有什么優(yōu)缺點?[解答]并行通信就是把一個字符的各數(shù)位用幾條線同時進(jìn)行傳輸。優(yōu)點:與串行通信相比,在同樣的傳輸率下,并行通信的信息實際傳輸速度快,信息率高。缺點:并行通信的高速度是以通信線路復(fù)雜且成本高為代價,當(dāng)通信距離較遠(yuǎn),位數(shù)又多時更是如此。串行通信就是指通信的發(fā)送方和接收方之間的數(shù)據(jù)在單根通信線上逐位順序傳送。優(yōu)點:線路簡單(只需一對傳輸線),特別是可以利用已有的電話網(wǎng),在任何兩點通電話的設(shè)備之間配置適當(dāng)?shù)耐ㄐ沤涌诒憧蓪崿F(xiàn)計算機(jī)之間的遠(yuǎn)程通信。缺點:傳輸速度比并行通信慢得多。5、8255A的3個端口在使用時有什么差別?[解答](1)端口A對應(yīng)1個8位數(shù)據(jù)輸入鎖存器和1個8位數(shù)據(jù)輸出鎖存器/緩沖器。所以,用端口A作為輸入或輸出時,數(shù)據(jù)均受到鎖存。(2)端口B對應(yīng)1個8位數(shù)據(jù)輸入緩沖器和1個8位數(shù)據(jù)輸出鎖存器/緩沖器。(3)端口C對應(yīng)1個8位數(shù)據(jù)輸入緩沖器和1個8位數(shù)據(jù)輸出鎖存器/緩沖器。這樣,當(dāng)端口C作為輸入端口時,對數(shù)據(jù)不做鎖存,而作為輸出端口是,對數(shù)據(jù)進(jìn)行鎖存。在使用中,端口A和端口B常常作為獨立的輸入端口或輸出端口,端口C則配合端口A和端口B的工作。具體的講,端口C常常通過控制命令被分成2個4位端口,每個4位端口包含1個4位的輸入緩沖器和1個4位的輸出鎖存器/緩沖器,它們分別用來位端口A和端口B提供控制信號和狀態(tài)信號。6、當(dāng)數(shù)據(jù)從8255A的端口C往數(shù)據(jù)總路線上讀出時,8255A的幾個控制信號CS、A1、A0、RD、WR分別是什么?[解答]CS0、A11、A00、RD1、WR0。7、8255A的方式選擇控制字和置1/置0控制字都是寫入控制端口的,那么,它們是由什么來區(qū)分的?[解答]當(dāng)8255A接收到寫入控制口的控制字時,就會對最高位即標(biāo)志位進(jìn)行測試。如為1,則將此字節(jié)作為方式選擇控制字寫入控制寄存器;如為0,則此字節(jié)作為對端口C的置1/置0控制來處理。8、8255A有哪幾種工作方式?對這些工作方式有什么規(guī)定?[解答]8255A有三種工作方式:它們分別是:方式0,方式1,方式2;(1)方式0的工作特點為:(1)任何一個端口可作為輸入口,也可作為輸出口,各端口之間沒有規(guī)定必然的聯(lián)系。(2)各個端口的輸入輸出,可以有16種不同的組合,所以可以適用于多種使用場合。對方式0工作方式的規(guī)定如下:只能在同步傳輸和查詢式傳輸中使用。(2)方式1的工作特點:(1)端口A和端口B可分別作為兩個數(shù)據(jù)口工作在方式1,并且,任何一個端口可作為輸入口或輸出口。(2)如果8225A的端口A和端口B中只有一個端口工作在方式1,那么,端口C中就有3位被規(guī)定為配合方式1工作信號,此時,另一個端口可以工作在方式0,端口C中其他數(shù)位也可以工作在方式0,即作為輸入或輸出。對方式1的規(guī)定如下:在方式1下,規(guī)定一個端口作為輸入口或者輸出口的同時,自動規(guī)定了有關(guān)的控制信號和狀態(tài)信號,尤其是規(guī)定了相應(yīng)的中斷請求信號。這樣在許多采用中斷方式進(jìn)行輸入/輸出的場合,如果外部設(shè)備能為8255A提供選通信號或者數(shù)據(jù)接收應(yīng)答信號,那么,常常使8255A的端口工作于方式1情況。(3)方式2的工作特點:(1)方式2只適用于端口A。(2)端口A工作于方式2時,端口C用5個數(shù)位自動配合端口A提供控制信號和狀態(tài)信號。對方式2的規(guī)定如下:方式2是一種雙向工作方式,如果一個并行外部設(shè)備即可以作為輸入設(shè)備,又可以作為輸出設(shè)備,并且輸入輸出動作不會同時進(jìn)行,那么,將這個外設(shè)和8255A的端口A相連,并使它工作在方式2,就會非常合適。9、對8255A設(shè)置工作方式,8255A的控制口地址為00C6H。要求端口A工作在方式1,輸入;端口B工作在方式0,輸出;端口C的高4位配合端口A工作;低4位為輸入。[解答]MOVAL,B1HMOVDX,00C6HOUTDX,AL10、設(shè)8255A的4個端口地址為00C0H,00C2H,00C4H,00C6H,要求用置0/置1方式對PC6置1,對PC4置0。[解答]MOVAL,00H;對PC6置1的控制字MOVDX,00CCH;控制地址DXOUTDX,AL;對PC6置1操作MOVAL,08H;對PC4置0的控制字OUTDX,AL

溫馨提示

  • 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

提交評論