微機(jī)原理與接口技術(shù)問答輔導(dǎo)_第1頁(yè)
微機(jī)原理與接口技術(shù)問答輔導(dǎo)_第2頁(yè)
微機(jī)原理與接口技術(shù)問答輔導(dǎo)_第3頁(yè)
微機(jī)原理與接口技術(shù)問答輔導(dǎo)_第4頁(yè)
微機(jī)原理與接口技術(shù)問答輔導(dǎo)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理與接口技術(shù)問答輔導(dǎo)第一章、基礎(chǔ)知識(shí)問:譯碼器是如何譯碼的?尋址空間是如何確定的?譯碼器與尋址空間是怎么聯(lián)系的?答:譯碼器實(shí)際上是由許多與門、或門、非門和它們的組合構(gòu)成的。它有若干個(gè)輸入端和若干個(gè)輸出端(也可能只有一個(gè)輸出端)。對(duì)某一個(gè)輸出端來說,它的電平高低必然與輸入的某一種狀態(tài)相對(duì)應(yīng)。例如,具有4個(gè)輸入端的與非門就是一個(gè)簡(jiǎn)單的譯碼器,只有四個(gè)輸入端為1111時(shí),它的輸出端才為0。如果將地址總線的A9、A8、A7、A6與它的四個(gè)輸入連接起來,并把它的輸出連到存儲(chǔ)器芯片或某個(gè)需要尋址的外設(shè)接口的片選端(假定低電平有效),那么,只有當(dāng)A9、A8、A7、A6為1111時(shí),存儲(chǔ)器芯片或外設(shè)才會(huì)

2、被選中。譯碼器的尋址空間取決于地址總線的哪幾根線接到譯碼器的輸入端,例如上例,地址總線的A9、A8、A7、A6與譯碼器的輸入連接,那么其尋址空間應(yīng)該是11 1100 000011 1111 1111,即3C0H3F0H。注意,沒有參與譯碼的低位地址線必然要參與存儲(chǔ)器芯片或外設(shè)接口的內(nèi)部譯碼。也就是說,內(nèi)部譯碼地址范圍是0 - 2n - 1,例如上例為00 0000 - 11 0000。可以說,譯碼器的譯碼輸出決定了尋址空間的起始地址,內(nèi)部譯碼決定了尋址空間的大小。 第二章、80X86原理1. 問:為什么在流水CPU中,將一條指令從取指到執(zhí)行結(jié)束的任務(wù)分割為一系列子任務(wù),并使各子任務(wù)在流水線的各

3、個(gè)過程段并發(fā)地執(zhí)行,從而使流水CPU具有更強(qiáng)大的數(shù)據(jù)吞吐能力?答:這里可以使用時(shí)空?qǐng)D法證明結(jié)論的正確性。假設(shè)指令周期包含四個(gè)子過程:取指令(IF)、指令譯碼(ID)、取操作數(shù)(EX)、進(jìn)行運(yùn)算(WB),每個(gè)子過程稱為過程段(Si),這樣,一個(gè)流水線由一系列串連的過程段組成。在統(tǒng)一時(shí)鐘信號(hào)控制下,數(shù)據(jù)從一個(gè)過程段流向相鄰的過程段。 圖2、1圖2、1(B)表示非流水CPU的時(shí)空?qǐng)D。由于上一條指令的四個(gè)子過程全部執(zhí)行完畢后才能開始下一條指令,因此每隔4個(gè)單位時(shí)間才有一個(gè)輸出結(jié)果,即一條指令執(zhí)行結(jié)束。圖B18.4(C)表示非流水CPU的時(shí)空?qǐng)D。由于上一條指令與下一條指令的四個(gè)過程在時(shí)間上可以重疊執(zhí)行,

4、因此,當(dāng)流水線滿載時(shí),每一個(gè)單位時(shí)間就可以輸出一個(gè)結(jié)果,即執(zhí)行一條指令。 比較后發(fā)現(xiàn):流水CPU在八個(gè)單位時(shí)間中執(zhí)行了5條指令,而非流水CPU僅執(zhí)行了2條指令,因此流水CPU具有更強(qiáng)大的數(shù)據(jù)吞吐能力。 2. 問:片選信號(hào)(CS)到底是起使數(shù)據(jù)有效或無效的作用還是起選擇芯片的作用啊?若是前者,干嗎叫片選?答:片選信號(hào)就是選擇芯片的信號(hào)。前者不叫片選信號(hào),應(yīng)該叫允許信號(hào)。3. 問:書本上講的是若是計(jì)算結(jié)果中1的個(gè)數(shù)為偶數(shù)時(shí),則PF=1;但我又在另外的輔導(dǎo)書上看到的說如果計(jì)算結(jié)果的低8位中1的個(gè)數(shù)為偶數(shù),PF=1.請(qǐng)問老師是否是低八位?答:對(duì),PF只與結(jié)果的低8位有關(guān)。 4. 問:80386 CPU

5、包含哪些寄存器?各有什么主要用途? 80386共有7類34個(gè)寄存器。它們分別是通用寄存器、指令指針和標(biāo)志寄存器、段寄存器、系統(tǒng)地址寄存器、控制寄存器、調(diào)試和測(cè)試寄存器。(1)通用寄存器(8個(gè))EAX,EBX,ECX,EDX,ESI,EDI,EBP和ESP。每個(gè)32位寄存器的低16位可單獨(dú)使用,同時(shí)AX、BX、CX、DX寄存器的高、低8位也可分別當(dāng)作8位寄存器使用。它們與80888086中相應(yīng)的16位通用寄存器作用相同。(2)指令指針和標(biāo)志寄存器。指令指針EIP是一個(gè)32位寄存器,存放下一條要執(zhí)行的指令的偏移地址。標(biāo)志寄存器EFLAGS也是一個(gè)32位寄存器,存放指令的執(zhí)行狀態(tài)和一些控制位。(3)

6、段寄存器(6個(gè))CS,DS,SS,ES,F(xiàn)S和GS。在實(shí)方式下,它們存放內(nèi)存段的段地址。在保護(hù)方式下,它們被稱為段選擇符。其中存放的是某一個(gè)段的選擇符。當(dāng)選擇符裝入段寄存器時(shí),80386中的硬件章自動(dòng)用段寄存器中的值作為索引從段描述符表中取出一個(gè)8個(gè)字節(jié)的描述符,裝入到與該段寄存器相應(yīng)的64位描述符寄存器中。(4)控制寄存器(4個(gè))CR0、CRl、CR2和CR3。它們的作用是保存全局性的機(jī)器狀態(tài)。(5)系統(tǒng)地址寄存器(4個(gè))GDTR、IDTR、LDTR和TR。它們用來存儲(chǔ)操作系統(tǒng)需要的保護(hù)信息和地址轉(zhuǎn)換表信息、定義目前正在執(zhí)行任務(wù)的環(huán)境、地址空間和中斷向量空間。(6)調(diào)試寄存器(8個(gè))DR0D

7、R7。它們?yōu)檎{(diào)試提供硬件支持。(7)測(cè)試寄存器(8個(gè))TR0TR7,其中TR0TR5由Intel公司保留,用戶只能訪問TR6、TR7。它們用于控制對(duì)TLB中的RAM和CAM相連存儲(chǔ)器的測(cè)試。TR6是測(cè)試控制寄存器,TR7是測(cè)試狀態(tài)寄存器,保存測(cè)試結(jié)果的狀態(tài)。 5. 問:什么是實(shí)地址模式?什么是保護(hù)模式?它們的特點(diǎn)是什么?答:實(shí)地址模式是與80868088兼容的存儲(chǔ)管理模式。當(dāng)80386加電或復(fù)位后,就進(jìn)入實(shí)地址工作模式。物理地址形成與80888086一樣,是將段寄存器內(nèi)容左移4位與有效偏移地址相加而得到,尋址空間為1MB。保護(hù)地址模式又稱為虛擬地址存儲(chǔ)管理方式。在保護(hù)模式下,80386提供了存

8、儲(chǔ)管理和硬件輔助的保護(hù)機(jī)構(gòu),還增加了支持多任務(wù)操作系統(tǒng)的特別優(yōu)化的指令。保護(hù)模式采用多級(jí)地址映射的方法,把邏輯地址映射到物理存儲(chǔ)空間中。這個(gè)邏輯地址空間也稱為虛擬地址空間,80386的邏輯地址空間提供246的尋址能力。物理存儲(chǔ)空間由內(nèi)存和外存構(gòu)成,它們?cè)?0386保護(hù)地址模式和操作系統(tǒng)的支持下為用戶提供了均勻一致的物理存儲(chǔ)能力。在保護(hù)模式下,用段寄存器的內(nèi)容作為選擇符(段描述符表的索引),選擇符的高13位為偏移量,CPU的GDTR中的內(nèi)容作為基地址,從段描述符表中取出相應(yīng)的段描述符(包括32位段基地址、段界限和訪問權(quán)等)。該描述符被存人描述符寄存器中。描述符中的段基地址(32位)與指令給出的3

9、2位偏移地址相加得到線性地址,再通過分頁(yè)機(jī)構(gòu)進(jìn)行變換,最后得到物理地址。 第三章、匯編語言1. 問:在邏輯運(yùn)算一節(jié),書上說“NOT”為求反操作,這里的求反操作是何意?在循環(huán)移位指令里,書上舉例:SAL 左移一位,相當(dāng)于乘以二;SAR 右移一位,相當(dāng)于除以二;請(qǐng)問除SAL和SAR外的其它移位指令也有此功能嗎?答:求反操作就是將目的操作數(shù)的內(nèi)容按位變反。例如,AL=01000110B,則執(zhí)行NOT AL指令后,AL=10111001B。除SAL、SAR指令外,SHL、SHR指令也有此功能。循環(huán)移位指令沒有此功能。2. 問:TEST指令到底是怎么回事?NZ和Z到底是怎么得到的?若是要檢查好幾位的話,

10、要怎么檢查呢?答:AND指令屬于邏輯操作指令,它是對(duì)兩個(gè)操作數(shù)(源操作數(shù)和目的操作數(shù))進(jìn)行“與”操作,操作是按位進(jìn)行的,即源操作數(shù)bit7和目的操作數(shù)bit7相與,源操作數(shù)bit6和目的操作數(shù)bit6相與,and so on。與操作的結(jié)果最后被送到目的操作數(shù)中,也就是說,原來的目的操作數(shù)被破壞了。TEST指令與AND指令類似,也是對(duì)兩個(gè)操作數(shù)進(jìn)行“與”操作。但TEST不把結(jié)果送到目的操作數(shù),只是設(shè)置一下標(biāo)志位(請(qǐng)復(fù)習(xí)一下:邏輯操作指令會(huì)影響哪些標(biāo)志位?)。這就給我們帶來了一個(gè)好處:你如果想測(cè)試操作數(shù)某幾位的狀態(tài),但又不想破壞操作數(shù)的內(nèi)容,就可以用TEST指令。(AND/TEST這一對(duì)指令的關(guān)系

11、與SUB/CMP這一對(duì)指令的關(guān)系一樣:操作相同,不同之處是結(jié)果送不送到目的操作數(shù)中。)一般來說,邏輯指令和算術(shù)運(yùn)算指令都會(huì)根據(jù)運(yùn)算結(jié)果設(shè)置標(biāo)志位,所以你提出的“NZ和Z到底是怎么得到的?”這個(gè)問題應(yīng)該這樣回答:NZ和Z是根據(jù)指令操作的結(jié)果所得到的,或者說是由CPU根據(jù)指令的運(yùn)算結(jié)果來設(shè)置各個(gè)標(biāo)志位得到的。Z和NZ都是指ZF標(biāo)志的狀態(tài),ZF=1時(shí)稱為Z(即Zero的縮寫),ZF=0時(shí)稱為NZ(即Not Zero的縮寫)。其實(shí)Z和NZ這兩種狀態(tài)都只用于條件轉(zhuǎn)移指令中,如“JZ XXX”(意思是如果ZF標(biāo)志等于1就轉(zhuǎn)移到標(biāo)號(hào)為XXX的指令處執(zhí)行)或“JNZ XXX”(意思是如果ZF標(biāo)志等于0就轉(zhuǎn)移到

12、標(biāo)號(hào)為XXX的指令處執(zhí)行)。注意,如果運(yùn)算的結(jié)果為0,ZF會(huì)被設(shè)置成1,如果運(yùn)算的結(jié)果不為0,ZF會(huì)被設(shè)置成0。所以ZF代表了運(yùn)算結(jié)果是否為0:若ZF=1,運(yùn)算結(jié)果肯定為0;反之,運(yùn)算結(jié)果肯定不為0。若要檢查一個(gè)操作數(shù)中某幾位的狀態(tài),可設(shè)置另一個(gè)操作數(shù)中相應(yīng)的位為1,其他位為0,然后進(jìn)行TEST操作。如要檢查AL的bit7、bit6、bit5是否全是0,另一操作數(shù)應(yīng)該是11100000B,測(cè)試指令為TEST AL,11100000B。3. 問:有一段代碼:AND AX,AXJZ STOP這個(gè)JZ是對(duì)哪一個(gè)標(biāo)志位說的呢?答:JZ當(dāng)然是對(duì)ZF標(biāo)志說的,因?yàn)锳ND AX,AX會(huì)影響ZF標(biāo)志位的。4.

13、 問:MOV DI,1000HMOV CX,64HMOV AL,2AHAGAIN:MOV DI,ALINC DIDEC CXJNZ AGAINHLT程序中 INC DEC 如何影響標(biāo)志位,MOV DI,AL中的DI可否用別的寄存器替代?答:INC/DEC將影響ZF,OF,PF,AF,SF,但不影響CF。因?yàn)檫@里是MOV指令,DI寄存器當(dāng)然就可以用其他3個(gè)能夠作為指針的寄存器代替,例如SI,BX,BP(BP要指定段超越前綴)。5. 問:以下這兩條指令哪里錯(cuò)了?MOV DS,BPMOV DATASI,ES:AX答:第一條沒錯(cuò)。第二條的寄存器前不應(yīng)該有段超越前綴,因?yàn)榧拇嫫鞑皇莾?nèi)存單元,它沒有地址。

14、6. 問:過程調(diào)用返回語句RET后加數(shù)字表示什么?比如RET 4。答:表示把棧頂內(nèi)容彈出到指令指針后再扔掉棧頂?shù)膎個(gè)字節(jié)(n為偶數(shù))。棧頂?shù)倪@n個(gè)字節(jié)是調(diào)用子程序前壓入堆棧的子程序入口參數(shù)。僅當(dāng)用堆棧傳遞參數(shù)時(shí)才會(huì)使用這種指令。這種參數(shù)處理方法也可用其它方法替代,如在主程序的調(diào)用指令后用幾個(gè)POP指令把調(diào)用之前壓入的參數(shù)扔掉。7. 問:請(qǐng)問匯編中有無浮點(diǎn)數(shù)?有書上說,用DQ,DT等定義的實(shí)數(shù)如:-5.12E-1表示-0.512,應(yīng)該沒錯(cuò)吧,但這樣的數(shù)據(jù)在程序運(yùn)算中是怎樣具體進(jìn)行的?我曾經(jīng)試過,有提示警告說字長(zhǎng)有問題。而且得不到有意義的結(jié)果。如:DATA DQ -5.12E-1MOV AX,12

15、0MUL DATA請(qǐng)問AX中的結(jié)果?懇請(qǐng)老師能詳細(xì)解答!答:匯編語言程序中可以使用浮點(diǎn)數(shù),有兩個(gè)方法:1)自己編寫浮點(diǎn)運(yùn)算子程序;2)使用CPU的浮點(diǎn)指令(486以上級(jí)別的CPU支持浮點(diǎn)操作)。DQ定義的數(shù)據(jù)類型是每個(gè)元素8個(gè)字節(jié),你用16位的乘法操作當(dāng)然就不對(duì)了,因?yàn)锳X是16位的寄存器,與DQ定義的數(shù)據(jù)類型不一致。如果一定要這樣做,應(yīng)把最后一句改為 MUL WORD PTR DATA,這樣語法就正確了,但這樣得到的結(jié)果并不是所期望的。8. 問:Object filename 2.OBJ:Source listing NUL.LST: 2Cross-reference NUL.CRF:2.a

16、sm(25): error A2071: Forward needs override or FAR49922 + 416126 Bytes symbol space free0 Warning Errors1 Severe Errors請(qǐng)指教!答:看見第4行的提示了嗎?意思是:在2.ASM程序文件中的第25行有一個(gè)錯(cuò)誤。因?yàn)闆]看見你的源程序,不好說具體是什么原因。估計(jì)是轉(zhuǎn)移指令中的轉(zhuǎn)移目的地址有問題,可能超出轉(zhuǎn)移范圍。最后一行“1 Severe Errors”是說有一個(gè)嚴(yán)重錯(cuò)誤!通常這樣的錯(cuò)誤是不可饒恕的,你應(yīng)該重新修改程序。9. 問:請(qǐng)問: LEA BX,ARRAYLEA DI,

17、RESULTMOV CL,4 AGAIN: MOV AL,BXTEST AL,80HJZ NEXTNEG ALMOV DI,ALINC BXINC DIDEC CL JNZ AGAIN 該指令是什么意思?完成的功能是什么?答:首先,你程序段中的NEXT標(biāo)號(hào)是在哪定義?我猜可能是在INC BX指令處吧。假定是這樣的話,這個(gè)程序段是找出ARRAY數(shù)組中的負(fù)數(shù),然后求出它們的絕對(duì)值再送到RESULT數(shù)組中。程序段中的NEG AL指令為求補(bǔ)指令,可以看出,程序中只對(duì)負(fù)數(shù)求補(bǔ)。10. 問:從FIRST開始存放著100個(gè)字符的字符串,結(jié)束符為"$",統(tǒng)計(jì)該

18、字符串中字母"B"的個(gè)數(shù)。這道題該如何編程。答:請(qǐng)看下面:mov si,offset first ;指向FIRST數(shù)組 mov cx,100 ;循環(huán)次數(shù)mov dl,0 ;用于存放"B"的個(gè)數(shù)kkk: lodsb ;取一個(gè)字符cmp al,"$" ;串結(jié)束?jz quit ;若結(jié)束,則退出cmp al,"B" ;否則判斷字符是否是"B" jnz qqq inc dl ;若是"B",則"B"的個(gè)數(shù)加1qqq: loop kkk

19、;循環(huán),直到整個(gè)串搜索完quit: hlt ;程序執(zhí)行完后,dl中有"B"的個(gè)數(shù)11. 問:請(qǐng)問什么時(shí)候用邏輯尺?具體怎么用啊?能舉個(gè)例子嗎?謝謝!答:邏輯尺用于對(duì)一批數(shù)據(jù)進(jìn)行處理,而處理的方法又無規(guī)律可言(即無法用循環(huán)的方法處理)。例如,有16個(gè)數(shù)據(jù)(Ai)存于buffer開始的緩沖區(qū)中,要求對(duì)第2、4、5、6、9、11、12、14個(gè)數(shù)據(jù)進(jìn)行F1(Ai)=2Ai的運(yùn)算,對(duì)其余的數(shù)據(jù)進(jìn)行F2(Ai)=Ai-3的運(yùn)算??梢钥闯?,對(duì)這些數(shù)據(jù)元素進(jìn)行F1運(yùn)算還是F2運(yùn)算無法用它們的下標(biāo)來確定。這時(shí),用邏輯尺就非常合適。特別是當(dāng)數(shù)據(jù)元素很多時(shí),用邏輯尺方法比用其他方法具有更好的程序

20、結(jié)構(gòu)。12. 問:$的含義?答:$是指當(dāng)前地址(即分配地址的地址計(jì)數(shù)器的內(nèi)容,它是在匯編時(shí)的一個(gè)動(dòng)態(tài)值)。例如上例中,最初地址計(jì)數(shù)器內(nèi)容為0,匯編時(shí)分析出SHR1占據(jù)兩個(gè)字節(jié),于是分配給數(shù)據(jù)段的0號(hào)單元和1號(hào)單元(即SHR1=0),接著地址計(jì)數(shù)器增加到2;再匯編到SHR2時(shí),分析出它占據(jù)16個(gè)字節(jié),則順序分配給2號(hào)單元(即根據(jù)地址計(jì)數(shù)器的當(dāng)前值進(jìn)行分配)到17號(hào)單元(即SHR2=2),分配完后,地址計(jì)數(shù)器的內(nèi)容增加為18,所以遇到$時(shí),匯編程序就用18代替$符號(hào),即18-0=18,也即CNT=18。 MOV CX,CNT自然就是MOV CX,18了。 13. 問:怎么用debug運(yùn)行連接過的程

21、序?答:在dos窗口中鍵入以下命令:debug <你的可執(zhí)行程序的名字> <回車>debug運(yùn)行后,你的程序就被加載到內(nèi)存中,可以調(diào)試執(zhí)行了。debug的各種調(diào)試命令見實(shí)驗(yàn)指導(dǎo)書中的附錄。14. 問:我們的微機(jī)是賽揚(yáng)的CPU,為什么再運(yùn)行匯編時(shí),一閃即過了,看不到結(jié)果?答:不要在Windows下直接點(diǎn)擊運(yùn)行。應(yīng)該先進(jìn)入DOS方式(運(yùn)行COMMAND或點(diǎn)擊開始菜單中的DOS方式命令),然后在DOS方式下運(yùn)行就不會(huì)出現(xiàn)這個(gè)問題了。第四章、輸入輸出 1. 問:I/O設(shè)備是如何進(jìn)行管理的?答:一個(gè)計(jì)算機(jī)系統(tǒng)包含多個(gè)I/O設(shè)備,這些設(shè)備全由操作系統(tǒng)統(tǒng)一進(jìn)行管理。DOS操作系統(tǒng)對(duì)P

22、C I/O設(shè)備的管理分為以下3個(gè)層次:(1)ROM BIOS驅(qū)動(dòng)程序ROM BIOS為基本IO系統(tǒng),存放在PC系統(tǒng)存儲(chǔ)空間的高端位置(0FE000H一0FFFFFH),共有8KB容量。ROMBIOS是三個(gè)層次中的最底層,它直接和硬件接口,并向用戶開放。它包括3種功能:系統(tǒng)初始化、對(duì)主要IO設(shè)備的底層管理和系統(tǒng)服務(wù)。ROM BIOS為PC系列機(jī)上的各種操作系統(tǒng)所公用,用戶也可以直接使用它。這些IO設(shè)備的驅(qū)動(dòng)程序以軟中斷的方式提供,匯編程序用INT 10HINT 1AH調(diào)用,調(diào)用時(shí)由寄存器AH表示其指定功能。INT 10H-顯示器驅(qū)動(dòng)程序INT 11H-檢測(cè)系統(tǒng)配置程序INT 12H-檢測(cè)存儲(chǔ)器容

23、量程序INT 13H-磁盤驅(qū)動(dòng)程序INT 14H-串行口驅(qū)動(dòng)程序INT 15H-設(shè)備管理驅(qū)動(dòng)程序INT 16H-鍵盤驅(qū)動(dòng)程序INT 17H-打印機(jī)驅(qū)動(dòng)程序INT 18H-啟動(dòng)ROMBASIC程序INT 19H-引導(dǎo)程序INT 1AH一實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)程序在接口設(shè)計(jì)中,常會(huì)調(diào)用這些IO驅(qū)動(dòng)程序,以方便接口編程。有了BIOS,人們不再需要詳細(xì)了解硬件設(shè)備,就可方便地使用它們。(2)DOS可安裝的和駐留的驅(qū)動(dòng)程序可安裝的驅(qū)動(dòng)程序是在增加新的外設(shè)時(shí),通過磁盤進(jìn)行安裝,再修改CONFIG.SYS文件,并重新啟動(dòng)系統(tǒng)后,新的外設(shè)便處于DOS管理之下了,用戶可通過系統(tǒng)調(diào)用去使用它。駐留的驅(qū)動(dòng)程序在IBMBIOS

24、.COM文件中,系統(tǒng)引導(dǎo)時(shí)讀人RAM。可安裝的驅(qū)動(dòng)程序和駐留的驅(qū)動(dòng)程序形式基本一樣,由3部分組成:設(shè)備驅(qū)動(dòng)程序頭、策略過程和中斷過程。驅(qū)動(dòng)程序?yàn)槊恳粋€(gè)設(shè)備定義一個(gè)邏輯名,例如打印機(jī)叫PRN,串行接口叫AUX,時(shí)鐘設(shè)備叫CLOCK等等。為每一個(gè)設(shè)備的邏輯驅(qū)動(dòng)器定義一個(gè)邏輯標(biāo)志,并為每一個(gè)外設(shè)定義了統(tǒng)一的17個(gè)命令或功能。有了驅(qū)動(dòng)程序,對(duì)上層而言,所有外設(shè)便具有了統(tǒng)一的界面。(3)DOS系統(tǒng)調(diào)用DOS系統(tǒng)調(diào)用是DOS操作系統(tǒng)和用戶之間的界面,功能包括內(nèi)存管理、文件和記錄的管理、字符設(shè)備的輸入輸出管理、“假脫機(jī)”和實(shí)時(shí)時(shí)鐘管理等。它也是以中斷方式提供的,匯編程序用INT 20HINT 2FH調(diào)用,調(diào)

25、用時(shí)由寄存器表示其指定功能。 2. 問:如何設(shè)計(jì)接口電路?答:(1)分析了解外設(shè)或被控設(shè)備與CPU之間信息交換的要求用什么做聯(lián)絡(luò)信號(hào);I/O的數(shù)據(jù)格式;I0線數(shù)量;最短響應(yīng)時(shí)間和服務(wù)時(shí)間估算;確定I0控制方式(2)硬、軟件間功能分配綜合考慮速度、成本、特性、設(shè)計(jì)難易程度等因素。(3)進(jìn)行I0端口的數(shù)量統(tǒng)計(jì)、數(shù)據(jù)流向安排和端口地址號(hào)分配(4)I0接口硬件電路的擴(kuò)展設(shè)計(jì)擴(kuò)展方案選擇;地址譯碼器擴(kuò)展;負(fù)載能力擴(kuò)展。(5)I0接口軟件設(shè)計(jì)(6)聯(lián)調(diào)進(jìn)行接口硬件、軟件聯(lián)調(diào),直至滿足快速、可靠、方便地實(shí)現(xiàn)CPU和各外設(shè)之間的信息交換要求為止。 3. 問:<o:p> </o:p> I

26、/O接口擴(kuò)展的方法有哪些? IO接口擴(kuò)展方案有兩種: (1)購(gòu)置廠家生產(chǎn)的現(xiàn)成的多功能I0接口板 為適應(yīng)系統(tǒng)I0擴(kuò)展的需要,每一種微機(jī)系統(tǒng)都設(shè)計(jì)有配套的I0接口板,將I0接口板插到系統(tǒng)外引總線槽上,只要適當(dāng)選擇板上的有關(guān)選擇開關(guān)(選址開關(guān)、工作方式選擇開關(guān)等),就可與系統(tǒng)配套使用。如按STD總線標(biāo)準(zhǔn)設(shè)計(jì)的模塊式工作控制計(jì)算機(jī),采用小板結(jié)構(gòu)、每種模板功能單一,有CPU模板、內(nèi)儲(chǔ)模板、鍵盤顯示模板、串行接口模板、AD轉(zhuǎn)換模板、DA轉(zhuǎn)換模板等等,按擴(kuò)展要求可選用其中幾塊模板,構(gòu)成實(shí)用的工業(yè)控制機(jī),非常靈活方便、可靠。如果控制系統(tǒng)對(duì)I0無特殊要求,經(jīng)費(fèi)也許可的話,選用此種方案是最簡(jiǎn)單、快速的。 (2)

27、自己設(shè)計(jì)、安裝I0接口電路 采用通用的大規(guī)模集成電路接口芯片擴(kuò)展IO接口電路,如8255A、8251A等。由于通用的I/O接口芯片電路是標(biāo)準(zhǔn)化的,提供了方便地與CPU和外設(shè)相連接的信號(hào)線,可方便地對(duì)I/O接口進(jìn)行擴(kuò)展。采用普通的緩沖器/鎖存器和譯碼器等集成電路擴(kuò)展I/O接口。 4. 問:為什么微機(jī)系統(tǒng)中有時(shí)要采用DMA傳送方式?答:外設(shè)與計(jì)算機(jī)內(nèi)存之間的信息交換,可通過程序查詢方式和中斷方式進(jìn)行。這兩種方式都是在CPU的控制下,通過CPU執(zhí)行指令來完成的。數(shù)據(jù)傳送方向?yàn)橥庠O(shè)一CPU內(nèi)存。這兩種方式每傳送一個(gè)字節(jié)都需要耗用較長(zhǎng)時(shí)間。在程序查詢方式時(shí),CPU要反復(fù)測(cè)試外設(shè)狀態(tài),在外設(shè)未準(zhǔn)備好時(shí),C

28、PU就處于等待狀態(tài),直到外設(shè)準(zhǔn)備好,才進(jìn)行數(shù)據(jù)傳送。在中斷方式下,每實(shí)現(xiàn)一次數(shù)據(jù)傳送,CPU都要進(jìn)行轉(zhuǎn)入中斷服務(wù)子程序、保護(hù)斷點(diǎn)、保護(hù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng)、返回主程序等操作。顯然對(duì)于高速的IO設(shè)備以及大量數(shù)據(jù)交換的場(chǎng)合(如軟、硬磁盤等),這兩種傳送方式就不能滿足速度的要求了。對(duì)于這些高速外設(shè),如果傳送速度太慢,不僅降低傳送效率,還會(huì)造成數(shù)據(jù)丟失,導(dǎo)致傳送出錯(cuò)。為此,提出了DMA(直接存儲(chǔ)器存取)傳輸方式。這種傳送方式是不經(jīng)過CPU干預(yù),直接在外設(shè)與內(nèi)存儲(chǔ)器之間進(jìn)行數(shù)據(jù)傳送的方式。實(shí)現(xiàn)DMA傳送,需要一個(gè)專用硬件DMA控制器(DMAC),在DMA傳送期間,CPU要讓出對(duì)系統(tǒng)總線的控制權(quán),交給DMA控制

29、??偩€在DMA的控制下,數(shù)據(jù)直接在存儲(chǔ)器和外設(shè)之間傳送,而不經(jīng)過CPU干預(yù),其傳送速度大大提高,可接近于存儲(chǔ)器的最快存取速度。這種傳送方式適用于圖像顯示、磁盤存取、磁盤間數(shù)據(jù)傳送和高速的數(shù)據(jù)采集等系統(tǒng)。 5. 問:DMA控制器占用總線控制權(quán)的方法有哪幾種?答:DMA控制器占有總線控制權(quán)又稱DMA操作的基本方法共有四種:(1)使CPU與系統(tǒng)總線處于高阻狀態(tài)的方式此種方式又稱停機(jī)方式,在這種方式下,當(dāng)DMAC要進(jìn)行DMA傳送時(shí),DMAC向CPU發(fā)出DMA請(qǐng)求信號(hào),迫使CPU在現(xiàn)行的總線周期(機(jī)器周期)結(jié)束后,使其地址總線、數(shù)據(jù)總線和部分控制總線處于高阻態(tài),從而讓出對(duì)總線的控制權(quán),并給出DMA響應(yīng)信

30、號(hào)。DMAC接到該響應(yīng)信號(hào)后,就可以控制總線,進(jìn)行數(shù)據(jù)傳送的控制工作,直到DMA操作完成,CPU再恢復(fù)對(duì)總線的控制權(quán),繼續(xù)執(zhí)行被中斷的程序。這種方式比較簡(jiǎn)單,只需要一對(duì)聯(lián)絡(luò)信號(hào)作為請(qǐng)求占用總線和對(duì)請(qǐng)求的響應(yīng),而不需要附加的邏輯電路。(2)暫停CPU的時(shí)鐘脈沖方式CPU的正常操作得以進(jìn)行是靠系統(tǒng)的時(shí)鐘脈沖來定時(shí)推動(dòng)的。因此,在進(jìn)入DMA操作時(shí),把CPU的時(shí)鐘暫停,就能達(dá)到停止CPU操作的目的。此時(shí)CPU的地址總線輸出為高電平,控制信號(hào)輸出為高阻狀態(tài),數(shù)據(jù)總線也成為高阻狀態(tài)。(3)周期挪用方式周期挪用方式又稱為利用CPU不訪問總線的間隔方式。上述兩種方式進(jìn)行DMA時(shí),均使CPU暫停常規(guī)的操作。優(yōu)點(diǎn)

31、是操作簡(jiǎn)便,但浪費(fèi)CPU資源。為充分利用CPU資源,可采用只當(dāng)CPU不使用總線時(shí),才進(jìn)行DMA傳送。這種DMA操作僅是在CPU執(zhí)行內(nèi)部操作時(shí),如指令譯碼或CPU內(nèi)部進(jìn)行算術(shù)運(yùn)算或邏輯運(yùn)算時(shí),CPU不使用總線,這時(shí)DMA接管總線。這種方法的關(guān)鍵是如何識(shí)別合適的可挪用周期。有的CPU能產(chǎn)生一個(gè)表示存儲(chǔ)器是否正在被使用的信息(如M6800的VMA),有的CPU則規(guī)定在特定條件下(如Intel8080的T4、T5狀態(tài))不訪問存儲(chǔ)器。此方法不減慢CPU的操作,但需復(fù)雜的時(shí)序電路,而且數(shù)據(jù)傳送也是不連續(xù)和不規(guī)則的。(4)周期擴(kuò)展方式使用專門的時(shí)鐘發(fā)生器/驅(qū)動(dòng)器電路,當(dāng)需要進(jìn)行DMA操作時(shí),由DMAC發(fā)出請(qǐng)

32、求信號(hào)給時(shí)鐘電路,時(shí)鐘電路把供給CPU的時(shí)鐘周期加寬,而提供給存儲(chǔ)器和DMAC的時(shí)鐘不變。這樣,CPU在加寬時(shí)鐘周期內(nèi)操作不往下進(jìn)行,而這加寬的時(shí)鐘周期相當(dāng)于若干個(gè)正常的時(shí)鐘周期,可用來進(jìn)行DMA操作。加寬的時(shí)鐘結(jié)束后,CPU仍按正常的時(shí)鐘繼續(xù)操作。這種方法會(huì)使CPU的處理速度減慢,而且CPU時(shí)鐘周期的加寬是有限制的。因此用這種方法進(jìn)行DMA傳送,一次只能傳送一個(gè)字節(jié)。 6. 問:中斷方式比查詢方式有何優(yōu)點(diǎn)?和DMA相比又有什么不足之處?答:(1)中斷方式與查詢方式相比其優(yōu)點(diǎn)是:提高了CPU的工作效率把CPU從查詢方式時(shí)漫長(zhǎng)的等待時(shí)間中解放出來,使CPU和外設(shè)以及外設(shè)和外設(shè)之間能并行工作:實(shí)時(shí)

33、響應(yīng)能力強(qiáng)在具有多個(gè)中斷源的系統(tǒng)中,查詢方式要輪流對(duì)多個(gè)中斷源進(jìn)行查詢,所需時(shí)間較長(zhǎng),很難滿足外設(shè)的實(shí)時(shí)要求,而采用中斷方式便可滿足外設(shè)的實(shí)時(shí)性要求。(2)中斷方式與DMA方式相比不足之處是:中斷方式傳送數(shù)據(jù)的速度比DMA慢,不適于高速外設(shè)的要求。 7. 問:中斷方式和DMA方式傳送數(shù)據(jù),哪個(gè)的CPU效率高?答:當(dāng)然DMA方式效率高。DMA方式中,CPU只需要進(jìn)行初始化工作和掃尾工作,數(shù)據(jù)傳輸完全不需要CPU介入,而是由DMAC控制。這樣CPU空出來可以作其他事情。8. 問:要自己編一個(gè)中斷程序,如何指定它的中斷號(hào)呢?答:一般來說,硬件中斷對(duì)應(yīng)的中斷號(hào)不能隨便指定,操作系統(tǒng)基本已固定。而軟件中

34、斷的號(hào)也有一部分不能隨便使用,一般中斷號(hào)在60H以前的都不要用。具體哪個(gè)可以用,每個(gè)機(jī)器不定相同,可用DEBUG查看中斷向量表(0:0到0:3FFH)的內(nèi)容,凡是中斷向量為0的均是系統(tǒng)沒有使用的,用戶可以使用。要在自己的程序中使用中斷,應(yīng)設(shè)置中斷向量,有兩個(gè)辦法:1)將中斷向量強(qiáng)行寫入中斷向量表。例如,要把自己的中斷服務(wù)程序指定為61H號(hào)中斷,則把中斷服務(wù)程序的首地址(即中斷向量)寫入61H*4開始的兩個(gè)字單元即可,偏移寫入低字,段寫入高字。設(shè)置好后,即可用INT 61H調(diào)用自己的中斷服務(wù)程序。2)用DOS功能25H也能設(shè)置:把中斷向量的段放在DS中,偏移放在DX中,中斷號(hào)放在AL寄存器中,然

35、后下面的指令:MOV AH,25HINT 21H即可設(shè)置好中斷向量。 9. 問:CPU響應(yīng)中斷的條件是什么?答:(1)設(shè)置中斷請(qǐng)求觸發(fā)器每個(gè)中斷源向CPU發(fā)出中斷請(qǐng)求信號(hào)是隨機(jī)的,而大多數(shù)CPU都是在現(xiàn)行周期結(jié)束時(shí),才檢測(cè)有無中斷請(qǐng)求信號(hào)發(fā)出。故必須把隨機(jī)輸入的中斷信號(hào)鎖存起來,并保持到CPU響應(yīng)這個(gè)中斷請(qǐng)求后,才可以清除中斷請(qǐng)求。因此要求每一個(gè)中斷源有一個(gè)中斷請(qǐng)求觸發(fā)器。(2)設(shè)置中斷屏蔽觸發(fā)器在多個(gè)中斷源的情況下,要求設(shè)置一個(gè)中斷屏蔽觸發(fā)器,只有當(dāng)此觸發(fā)為“1”時(shí),外設(shè)的中斷請(qǐng)求才能被送到CPU。(3)設(shè)置中斷允許觸發(fā)器的狀態(tài)在CPU內(nèi)部有一個(gè)中斷允許觸發(fā)器,只有當(dāng)其為“1”時(shí),CPU才能

36、響應(yīng)中斷??捎迷试S中斷和禁止中斷指令來設(shè)置中斷允許觸發(fā)器的狀態(tài)。當(dāng)CPU復(fù)位時(shí),中斷允許觸發(fā)也復(fù)位為“0”,即關(guān)中斷。當(dāng)中斷響應(yīng)后,CPU就自動(dòng)關(guān)閉中斷,以禁止接受另一個(gè)新的中斷(否則要處理多重中斷),因而通常在中斷服務(wù)程序結(jié)束時(shí),必須有兩條指令,即允許中斷指令和返回指令。(4)CPU在現(xiàn)行指令結(jié)束后響應(yīng)中斷。 10. 問:ISA總線的硬中斷擴(kuò)充到11級(jí)(IRQ3-IRQ7,IRQ9,IRQ10-IRQ12,IRQ14-IRQ15),DMA通道擴(kuò)充到7個(gè)(DERQ1-DERQ3,DERQ0,DERQ5-DERQ7)其中的下標(biāo)是來自8259嗎?答:硬中斷是由第2個(gè)8259擴(kuò)充的,DMA不是來自8

37、259。 11. 問:接口硬件是如何組成的?答:接口硬件通常做在一塊超大規(guī)模集成電路芯片上,常稱為接口芯片。接口硬件一般包括如下七部分:(1)數(shù)據(jù)緩沖寄存器緩沖寄存器又稱緩沖器,它分輸入緩沖器和輸出緩沖器兩種。前者的作用是將外設(shè)送來的數(shù)據(jù)暫時(shí)存放,以便處理器將它取走;后者的作用是用來暫時(shí)存放處理器送往外設(shè)的數(shù)據(jù)。有了數(shù)控緩沖器,就可以使高速工作的CPU與慢速工作的外設(shè)起協(xié)調(diào)和緩沖作用,實(shí)現(xiàn)數(shù)據(jù)傳送的同步。由于緩沖器接在數(shù)據(jù)總線上,故必須具有三態(tài)輸出功能。(2)控制寄存器控制寄存器用于存放處理器發(fā)來的控制命令和其它信息,以確定接口電路的工作方式和功能。控制寄存器是寫寄存器,其內(nèi)容只能由處理器寫入

38、,而不能讀出。(3)狀態(tài)寄存器狀態(tài)寄存器用于保存外設(shè)現(xiàn)行各種狀態(tài)信息。它的內(nèi)容可以被處理器讀出,根據(jù)外設(shè)狀態(tài),可使處理器安全可靠地與接口完成交換數(shù)據(jù)的各種操作。處理器通過查詢外設(shè)的忙與閑、良好與故障,就緒與不就緒等狀態(tài),才能正確的交換信息。(4)數(shù)據(jù)總線和地址總線緩沖器數(shù)據(jù)總線和地址總線緩沖器用于實(shí)現(xiàn)接口芯片內(nèi)部總線和處理器外部總線的連接。如接口的數(shù)據(jù),溫線可直接和系統(tǒng)數(shù)據(jù)總線相連接,接口的端口選擇端根據(jù)IO尋址方式的要求與地址總線恰當(dāng)?shù)剡B接。(5)端口譯碼器端口譯碼器用于正確選擇接口電路內(nèi)部各端口寄存器的地址,保證一個(gè)端口寄存器惟一地對(duì)應(yīng)一個(gè)端口地址碼,以便處理器正確無誤地與指定外設(shè)交換信息

39、,完成規(guī)定的輸人輸出操作。(6)內(nèi)部控制邏輯內(nèi)部控制邏輯用于產(chǎn)生一些接口電路內(nèi)部的控制信號(hào),實(shí)現(xiàn)系統(tǒng)控制總線與內(nèi)部控制信號(hào)之間的變換。(7)對(duì)外聯(lián)絡(luò)控制邏輯對(duì)外聯(lián)絡(luò)控制邏輯用于產(chǎn)生與接收CPU和外設(shè)之間數(shù)據(jù)傳送的同步信號(hào)。這些握手聯(lián)絡(luò)信號(hào)包括微處理器一邊的中斷請(qǐng)求和響應(yīng)、總線請(qǐng)求和響應(yīng)以及外設(shè)一邊的準(zhǔn)備就緒和選通等控制與應(yīng)答信號(hào)。當(dāng)然,并非所有接口都必須具備全部組成部分。但一般情況,數(shù)據(jù)緩沖寄存器、端口地址譯碼器和輸入輸出操作控制邏輯是接口的核心部件,任何接口都不可少。其它部分視需要而定。 12. 問:接口軟件包括哪些內(nèi)容?答:接口軟件又稱設(shè)備驅(qū)動(dòng)程序,一般來說它包括如下程序段。(1)初始化程

40、序段對(duì)可編程接口芯片,都需要通過方式命令或初始化命令來設(shè)置工作方式及初始條件,這是驅(qū)動(dòng)程序中的基本部分。(2)傳送方式處理程序段只要有數(shù)據(jù)傳送,就有傳送方式的處理。針對(duì)CPU與IO設(shè)備不同的數(shù)據(jù)傳送方式,就有不同的處理程序段。如查詢方式有檢測(cè)外設(shè)或接口狀態(tài)的程序段;中斷方式有中斷向量修改、對(duì)中斷源的屏蔽研放以及中斷結(jié)束等的處理程序段;DMA方式有相關(guān)的DMA傳送操作,如通道的開放屏蔽等處理程序段。(3)主控程序段這是完成接口任務(wù)的程序段。如數(shù)據(jù)采集的程序段,包括發(fā)轉(zhuǎn)換啟動(dòng)信號(hào)、查詢轉(zhuǎn)換結(jié)束信號(hào)、讀數(shù)據(jù)以及存數(shù)據(jù)等內(nèi)容。(4)程序終止與退出程序段包括程序結(jié)束退出前對(duì)接口電路中硬件的保護(hù)程序段,如

41、對(duì)一些芯片的引腳設(shè)置為高電平或低電平,或?qū)⑵湓O(shè)置為輸入輸出狀態(tài)等。(5)輔助程序段該程序段包括人-機(jī)對(duì)話菜單設(shè)計(jì)等內(nèi)容。以上這些程序段是相互依存統(tǒng)為一體的,只是為了分析一個(gè)完整的設(shè)備接口程序而劃分成幾部分。13. 問:微機(jī)的接口卡和主板之間的插槽中各根地址線、數(shù)據(jù)線和控制線都是如何安排的?另外,可不可以在用戶的接口電路中使用8237dma控制器?如果可以,如何避免同系統(tǒng)的dma控制器的優(yōu)先級(jí)的沖突?答:總線的信號(hào)線安排可參考相關(guān)資料,例如ISA總線規(guī)范、PCI總線規(guī)范等國(guó)際標(biāo)準(zhǔn)。因?yàn)闃?biāo)準(zhǔn)文本太厚,這里無法列出。用戶接口電路中一般無法使用自己的8237DMA控制器,至少我是這么認(rèn)為的。但系統(tǒng)提供

42、的DMA通道還給用戶保留了好幾個(gè),如果要用DMA傳輸?shù)脑挘墒褂梦幢幌到y(tǒng)占用的那幾個(gè)DMA通道。 14. 問:接口電路的實(shí)現(xiàn)方法有哪些?答:接口電路實(shí)現(xiàn)方法有三種:(1)用中、小規(guī)模集成電路芯片設(shè)計(jì)接口電路這種設(shè)計(jì)方法僅適用于簡(jiǎn)單接口電路。(2)用可編程集成電路芯片設(shè)計(jì)接口電路可編程集成電路芯片是品種繁多、功能各異的大規(guī)模集成電路接口芯片,通過CPU的編程選擇各種接口功能,使用靈活方便。因此只需掌握如何選擇和使用這些芯片來設(shè)計(jì)接口,完成與外設(shè)的連接,以達(dá)到預(yù)期目的。可編程接口芯片的特點(diǎn)是:集成度高、功能全、靈活性好;芯片需CPU編程設(shè)置(如初始化等);有多個(gè)I0端口地址,設(shè)計(jì)時(shí)要合理分配,防止

43、地址沖突。通用可編程芯片可分為三類:通用I0接口芯片,如Intel公司產(chǎn)品有:8255并行接口芯片8251,8250串行接口芯片8253,8254定時(shí)器卅數(shù)器8237DMA控制器8279鍵盤顯示控制器專用IO功能控制芯片,如8272磁盤控制器8275CRT控制器系統(tǒng)功能控制芯片,如8259中斷控制器存儲(chǔ)器管理部件:W4006AF DRAM控制器8288總線控制器8089智能IO接口芯片8087、80287、80387數(shù)值處理器8292、8293、82911EEE-486智能儀表控制接口(3)用I/O接口控制卡(I/O適配器)連接外設(shè)將常用通用接口電路制成專用的接口控制卡(也稱適配器),由若干集

44、成電路芯片按一定的邏輯構(gòu)成,并組裝成一個(gè)部件。這些部件制成一個(gè)標(biāo)準(zhǔn)的插件板,可直接插入CPU的主機(jī)板的擴(kuò)展槽上,以完成與系統(tǒng)的連接。常用的I/O接口控制卡有:顯示卡/聲卡/網(wǎng)卡等。 15. 問:什么是接口中的聯(lián)絡(luò)信號(hào)?答:CPU通過接口同外設(shè)交換信息時(shí),接口常常需要和外設(shè)間有一定的“聯(lián)絡(luò)”信號(hào),一保證信息的正常傳送。通常采用兩個(gè)“聯(lián)絡(luò)”信號(hào):STB#(選通信號(hào))和RDY(就緒信號(hào))。(1)輸入操作RDY=“H”表示接口芯片中輸入寄存器已準(zhǔn)備就緒,可接外設(shè)信息,以實(shí)現(xiàn)外設(shè)與接口的輸入操作,該信號(hào)是由接口向外設(shè)發(fā)出的。STB#=“L”表示接口選通,是外設(shè)向接口發(fā)出的,外設(shè)把數(shù)據(jù)送至接口芯片端口后,

45、用STB信號(hào)有效送人接口芯片輸入寄存器。在STB#的后沿,把RDY信號(hào)拉為“L”,表明輸人寄存器已有數(shù)據(jù)。RDY=“L”正是接口與外設(shè)的通信標(biāo)志,外設(shè)接收RDY=“L”后,暫不送新數(shù)。CPU發(fā)出讀數(shù)指令,讀人該數(shù)據(jù),并使RDY置“H”。然后,又開始新一輪的輸入操作。在輸入操作中,RDY信號(hào)有時(shí)用IBF(輸入緩沖器滿)表示。(2)輸出操作RDY=“H”,表示接口寄存器已有數(shù)據(jù),通知外設(shè)來取數(shù),該信號(hào)是由接口發(fā)給外設(shè)的。STB=“L”,表示端口數(shù)據(jù)已為外設(shè)接收,且已處理,CPU可送新數(shù)據(jù)到接口寄存器,STB#的后沿使RDY變?yōu)椤癓”。在輸出接口中,RDY信號(hào)有時(shí)用OBF#(輸出緩沖器滿)表示,ST

46、B#信號(hào)有時(shí)用ACK#(響應(yīng))表示。 16. 問:8255A的三種工作方式,各用于哪種傳送方式?答:方式0是基本輸入/輸出方式,A、B、C三個(gè)口中任何一個(gè)口都可提供簡(jiǎn)單的輸入和輸出操作,不需要應(yīng)答聯(lián)絡(luò)信號(hào),即可用于無條件傳送的場(chǎng)合,也可以用作查詢方式傳送。當(dāng)采用查詢方式傳送時(shí),原則上可用A、B和C三個(gè)口的任一位充當(dāng)查詢信號(hào),但通常都是選用C口充當(dāng)查詢信號(hào),這和C口的編程有關(guān)。通常把C口的4位(高4位或低4位)規(guī)定為輸出口,用以輸出一些控制信號(hào),把C口的另4位規(guī)定為輸人口,用以輸入外設(shè)的狀態(tài)。方式1是一種選通輸人偷出方式,A口和B口均可工作在這種方式。方式1可作為查詢式傳送方式,此時(shí)握手聯(lián)絡(luò)信號(hào)

47、,C口要用6位(分成兩個(gè)3位)分別作為A口和B口的應(yīng)答聯(lián)絡(luò)信號(hào)。方式1也可用作中斷方式,此時(shí)要寫對(duì)應(yīng)的C口的按位置位字,打開中斷。方式2是A口獨(dú)有的雙向傳送方式,一般使用中斷傳送方式。 17. 問:8255A是8位的,如何在16位微機(jī)中作為接口?答:用2片8255A芯片來構(gòu)成一個(gè)16位微機(jī)系統(tǒng)的輸入與輸出接口。一片為偶地址端口,另一片為奇地址端口。偶地址端口的8255A芯片由CPU的地址線A。參與片選譯碼,其8位數(shù)據(jù)線同CPU的低8位數(shù)據(jù)線助no相連;奇地址端口的8255A由CPU的“總線高允許BHE'參與片選譯碼,其8位數(shù)據(jù)線同CPU的高8位數(shù)據(jù)線D15DR相連。8086CPU可以對(duì)

48、某一個(gè)8255A的各端口進(jìn)行8位字節(jié)信息傳送,也可以對(duì)2個(gè)8255A的對(duì)應(yīng)2個(gè)端口(兩個(gè)PA口,或兩個(gè)PB口,或兩個(gè)PC口)用一個(gè)總線周期實(shí)現(xiàn)偶地址字的傳送。 18. 問:什么是IEEEl284標(biāo)準(zhǔn)?答:IEEE(美國(guó)電子電器工程師協(xié)會(huì))1284標(biāo)準(zhǔn)是PC機(jī)上的雙向并行端口的標(biāo)準(zhǔn)信號(hào)方法。它定義了使用并行端口進(jìn)行高速通信的新方法,為PC機(jī)和外設(shè)間定義了雙向通信協(xié)議。IEEEl284定義了5種數(shù)據(jù)傳輸模式(井口模式),見下表所示。 井口模式  方向傳輸速率半字節(jié)反向 50KBS字節(jié) 反向150KBS兼容Centronics方式正向 150KBSE

49、PP雙向500KBS2MBSECP雙向500KBS2MBS 第五章、存儲(chǔ)器1. 問:我對(duì)教材所講的“部分地址譯碼方式”不是很理解。 比如:書上說A16和A18未參加譯碼,因此無論這兩根線上是什么值都不影響輸出。能不能理解成:既然輸出的值是一定的,那么就應(yīng)該就像全地址譯碼那樣,高地址只對(duì)應(yīng)一個(gè)片選地址,為什么能映射四個(gè)內(nèi)存空間,是怎么工作的?還有少了兩根線和相關(guān)的器件就能節(jié)約多少成本?何必那么麻煩,都選全地址譯碼不就得了。答:應(yīng)該這樣理解:因?yàn)椴糠值刂纷g碼方式有部分高位地址線未參加譯碼,所以未參加譯碼的地址線上無論是什么值都不會(huì)影響譯碼輸出。而未參加譯碼的地址線上的值的集合對(duì)應(yīng)了多個(gè)地址空間。例

50、如,A19、A18不參加譯碼時(shí),它們的值為00、01、10、11時(shí)均不會(huì)影響譯碼輸出,而00x.x、01x.x、10x.x、11x.x不正好對(duì)應(yīng)了四個(gè)地址空間嗎?部分地址譯碼方式為電路設(shè)計(jì)提供了另外一種選擇,你可以靈活地選用,不必拘泥于某一種譯碼方式??傊?,在滿足要求的情況下,電路越簡(jiǎn)單越好。2. 問:關(guān)于內(nèi)存芯片的標(biāo)號(hào)(如6264)有什么規(guī)律呢?每位數(shù)字都有什么含義呢?答:一般最后幾位表示該芯片有多少位(bit)。如6264共有64K位(8K*8位),62256為256K位,等等。但新型芯片已不再用這種表示方法。有興趣的話可看一看微型計(jì)算機(jī)雜志2003年第23期的有關(guān)文章。 3. 問:用存儲(chǔ)

51、器件組成內(nèi)存時(shí),為什么總是采用矩陣形式?答:采用矩陣形式存儲(chǔ)信息主要是為了節(jié)省地址譯碼電路,提高半導(dǎo)體器件的集成度。例如要組成1KB的內(nèi)存,若不采用矩陣形式,就需要1024條譯碼線才能實(shí)現(xiàn)對(duì)1KB的尋址,但若采用32*32的矩陣來排列,則只要有32條行選線和32條列選線就可以了。存儲(chǔ)容量越大,矩陣形式的優(yōu)點(diǎn)就越明顯。 4. 問:CPU與存儲(chǔ)器連接時(shí)有哪些方面要求?答:存儲(chǔ)器與CPU連接時(shí)有如下三方面要求:(1)信號(hào)線連接要求CPU是通過地址總線AB、數(shù)據(jù)總線DB及控制總線CB與外界交換信息的。因此,存儲(chǔ)器芯片與CPU的連接也就是與CPU三種總線的連接。數(shù)據(jù)線的連接:CPU的數(shù)據(jù)線與存儲(chǔ)器的數(shù)據(jù)

52、線直接相連。地址線的連接:地址線高位部分用于選擇存儲(chǔ)器芯片,與存儲(chǔ)器片選信號(hào)相連;地址線低位部分用于選擇存儲(chǔ)器芯片內(nèi)的某一存儲(chǔ)單元,與存儲(chǔ)器芯片的地址引腳相連??刂凭€的連接:系統(tǒng)控制總線的讀屑控制與存儲(chǔ)器芯片的控制線相連。(2)地址分配要求內(nèi)存分ROM和RAM兩部分。ROM用于存放固化程序及常數(shù),RAM分為系統(tǒng)區(qū)和用戶區(qū)。系統(tǒng)區(qū)用于存放監(jiān)控程序或操作系統(tǒng)的數(shù)據(jù);用戶區(qū)用于存放用戶程序和數(shù)據(jù)。一般存儲(chǔ)器由多個(gè)芯片組成,地址進(jìn)行分配時(shí),需要知道哪些地址區(qū)域分配給ROM,哪些地址區(qū)域分配給RAM。對(duì)8086CPU而言,高地址區(qū)域分配給ROM區(qū)域,低地址區(qū)域分配給RAM。(3)驅(qū)動(dòng)能力要求在CPU的設(shè)

53、計(jì)中,一般輸出線的直流負(fù)載能力可以驅(qū)動(dòng)一個(gè)TTL負(fù)載,而在連接中,CPU的一根地址線或數(shù)據(jù)線,可能連接多個(gè)存儲(chǔ)器芯片,但現(xiàn)在的存儲(chǔ)器芯片都為MOS電路,主要是電容負(fù)載,直流負(fù)載遠(yuǎn)小于TTL負(fù)載。故小型系統(tǒng)中,CPU可與存儲(chǔ)器直接相連,在大型系統(tǒng)中就需要加緩沖器。 5. 問:何謂IDE接口?答:IDE接口就是智能驅(qū)動(dòng)器電子接口,是PC機(jī)用來連接硬盤、光盤等設(shè)備的標(biāo)準(zhǔn)接口。一般家用計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)的硬盤和光盤接口都采用IDE接口。IDE接口由COMPAQ公司推出,將硬件控制器集成到硬盤驅(qū)動(dòng)器中。這樣,其優(yōu)點(diǎn)是可以消除驅(qū)動(dòng)器和控制器間的數(shù)據(jù)丟失問題,使數(shù)據(jù)傳輸可靠性提高了。IDE是針對(duì)AT機(jī)系統(tǒng)設(shè)

54、計(jì)的,可支持超大容量高速硬盤。1個(gè)IDE接口可帶兩個(gè)硬盤驅(qū)動(dòng)器。IDE接口的基本特征是:(1)最多接兩臺(tái)硬盤機(jī);(2)數(shù)據(jù)傳輸速率最高為2MBS;(3)最大可支持528MB;(4)傳輸帶寬8位;(5)只能輪流操作,不能并行處理。IDE擴(kuò)充后的規(guī)范是EIDE,其性能有很大提高:(1)可連接4臺(tái)硬盤機(jī);(2)支持硬盤的最大容量為8.4GB;(3)數(shù)據(jù)傳輸速率為12MBS18MBS;(4)傳輸帶寬為16位,可擴(kuò)展到32位;(5)讀/寫操作可并行處理。IDE接口的硬盤機(jī)與主機(jī)有兩種數(shù)據(jù)傳送方式:PIO方式和DMA方式。PlO方式是通過CPU執(zhí)行IO端口指令來進(jìn)行數(shù)據(jù)讀/寫,常采用IO串操作指令,以達(dá)到

55、高的數(shù)據(jù)傳輸速率。DMA方式是數(shù)據(jù)不經(jīng)過CPU,而直接在硬盤和內(nèi)存之間傳送,可獲得很高的數(shù)據(jù)傳輸速率。6. 問:何謂SCSI接口?答:SCSI接口是小型計(jì)算機(jī)接口的縮寫,它是美國(guó)Shugart公司開發(fā)的,主要用于光盤機(jī)、磁帶機(jī)、掃描儀和打印機(jī)等設(shè)備。大部分SCSI控制器是以接口卡形式連接到PC主機(jī)上的??蛇B接ISA、EISA、VESA和PCI總線。個(gè)別高檔主板在板上集成了SCSI控制器。SCSI有多個(gè)標(biāo)準(zhǔn),從傳輸速率來分有如下6種:(1)Fast SCSI8位總成,數(shù)據(jù)傳輸率為10MBS。(2)Fast Wide SCSI16位數(shù)據(jù)總線,數(shù)據(jù)傳輸率為20MBS。(3)Ultra SCSI8位總

56、線,數(shù)據(jù)傳輸率為20MBS。(4)Wide Ultra SCSI16位總線,數(shù)據(jù)傳輸率為40MBS。(5)Ultra-2 SCSI8位總線,數(shù)據(jù)傳輸率為40MB/S。(6)Wide Ultra-2SCSI16位總線,數(shù)據(jù)傳輸率為80MBS。第六章、中斷控制器8259A 1. 問:8259A的緩沖方式和非緩沖方式有什么區(qū)別?答:緩沖方式是指在8259的數(shù)據(jù)線與8086CPU之間加入一個(gè)三態(tài)緩沖器,緩沖器的控制信號(hào)由8259來提供,而不是由CPU提供。非緩沖方式當(dāng)然就是不加緩沖器了。第七章、定時(shí)計(jì)數(shù)器82531. 問:8253的6種工作方式在計(jì)數(shù)到0之后計(jì)數(shù)器處于何種狀態(tài)?答:8253中的各個(gè)計(jì)數(shù)

57、器減1使計(jì)數(shù)值變成0之后,計(jì)數(shù)器的狀態(tài)不是處于停止不動(dòng)的狀態(tài)。在方式0、1、4和方式5時(shí),計(jì)數(shù)器減1計(jì)數(shù)到0后,都從最大的計(jì)數(shù)值,即FFFFH或BCD碼9999繼續(xù)減1計(jì)數(shù);方式2和方式3是周期性工作的,每當(dāng)計(jì)數(shù)到0時(shí),計(jì)數(shù)的初值重新送人計(jì)數(shù)執(zhí)行部件,從初值開始繼續(xù)計(jì)數(shù)。 2. 問:8253在PC系列微機(jī)系統(tǒng)中是如何得到應(yīng)用的?答:8253在PC系列微機(jī)系統(tǒng)中,在如下三個(gè)方面得到了應(yīng)用:(1)計(jì)數(shù)器0作為系統(tǒng)計(jì)時(shí)器用計(jì)數(shù)器0產(chǎn)生時(shí)鐘信號(hào)的系統(tǒng)計(jì)時(shí)器。系統(tǒng)主要利用它完成日時(shí)鐘計(jì)數(shù)。計(jì)數(shù)器0的CLKo輸人為11931816MHz方波,工作于方式3,計(jì)數(shù)初值為0(即65536),輸出信號(hào)OUTo接到中斷控制器8259A的IRQo作為中斷請(qǐng)求輸入線,OUT0輸出的方波脈

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論