微機(jī)原理知識點(diǎn)
1.1CPU在內(nèi)部結(jié)構(gòu)上由哪幾部分組成?CPU應(yīng)具備哪些主要功能?答:1.CPU在內(nèi)部結(jié)構(gòu)上由以下幾部分組成:①算術(shù)邏輯部件(ALU);②累加器和通用寄存器組;
③程序計數(shù)器(指令指針)、指令寄存器和譯碼器;④時序和控制部件。2.CPU應(yīng)具備以下主要功能:①可以進(jìn)行算術(shù)和邏輯運(yùn)算;②可保存少量數(shù)據(jù);
③能對指令進(jìn)行譯碼并執(zhí)行規(guī)定的動作;④能和存儲器、外設(shè)交換數(shù)據(jù);⑤提供整個系統(tǒng)所需要的定時和控制;可以響應(yīng)其他部件發(fā)來的中斷請求。
1.2數(shù)據(jù)總線和地址總線在結(jié)構(gòu)上有什么不同之處?如果一個系統(tǒng)的數(shù)據(jù)和地址合用一套總線或者合用部分總線,那么,要靠什么來區(qū)分地址或數(shù)據(jù)?答:1.數(shù)據(jù)總線是雙向三態(tài);地址總線是單向輸出三態(tài)。
2數(shù)據(jù)和地址復(fù)用時,必須有一個地址選通信號來區(qū)分該總線上輸出的是地址還是數(shù)據(jù)
2.1狀態(tài)標(biāo)志和控制標(biāo)志有何不同?程序中是怎樣利用這兩類標(biāo)志的?8086的狀態(tài)標(biāo)志和控制標(biāo)志分別有哪些?
答:1.不同之處在于:狀態(tài)標(biāo)志由前面指令執(zhí)行操作的結(jié)果對狀態(tài)標(biāo)志產(chǎn)生影響,即前面指令執(zhí)行操作的結(jié)果決定狀態(tài)標(biāo)志的值。控制標(biāo)志是人為設(shè)置的。
2.利用狀態(tài)標(biāo)志可進(jìn)行計算和判斷等操作。利用控制標(biāo)志可對某一種特定功能(如單步操作、可屏蔽中斷、串操作指令運(yùn)行的方向)起控制作用。
3.8086的狀態(tài)標(biāo)志有:SF、ZF、PF、CF、AF和OF計6個。8086的控制標(biāo)志有:DF、IF、TF計3個。
2.2總線周期的含義是什么?8086/8088的基本總線周期由幾個時鐘組成?如一個CPU的時鐘頻率為24MHz,那么,它的一個時鐘周期為多少?一個基本總線周期為多少?如主頻為15MHz呢?答:1.總線周期的含義是總線接口部件完成一個取指令或傳送數(shù)據(jù)的完整操作所需的最少時鐘周期數(shù)。
2.8086/8088的基本總線周期由4個時鐘周期組成。
3.當(dāng)主頻為24MHz時,Tφ=1/24MHz≈41.7ns,T總=4Tφ≈167ns。4.當(dāng)主頻為15MHz時,Tφ=1/15MHz≈66.7ns,T總=4Tφ≈267ns。2.38086最多可有多少個中斷?按照產(chǎn)生中斷的方法分為哪兩大類?答:1.8086最多可有256個中斷。
2.按照產(chǎn)生中斷的方法分為硬件中斷和軟件中斷兩大類。2.4非屏蔽中斷處理程序的入口地址怎樣尋找?
答:CPU在響應(yīng)NMI引腿的中斷請求時,CPU并不需要從中斷類型碼計算中斷向量的地址,而是直接從中斷向量表中讀取00008~0000BH這4個單元對應(yīng)于中斷類型2的中斷向量就行了。CPU將00008H、00009H兩個單元的內(nèi)容裝入IP,而將0000AH、0000BH兩個單元的內(nèi)容裝入CS,于是就轉(zhuǎn)入了對非屏蔽中斷處理程序的執(zhí)行。
2.5什么叫中斷向量?它放在那里?對應(yīng)于1CH的中斷向量存放在哪里?如果1CH的中斷處理子程序從5110H:2030H開始,則中斷向量應(yīng)怎樣存放?答:1.中斷處理子程序的入口地址就是中斷向量。2.中斷向量放在0段的0~3FFH區(qū)域的中斷向量表中。
3.對應(yīng)于類型號為1CH的中斷向量應(yīng)放在00070~00073H的4個單元中。
4.若1CH的中斷向量為5110H:2030H,則中斷向量的存放方法為:00070H存放30H,00071H存放20H(IP);00072H存放10H,00073H存放51H(CS)。
2.6非屏蔽中斷有什么特點(diǎn)?可屏蔽中斷有什么特點(diǎn)?分別用在什么場合?
答:1.非屏蔽中斷的特點(diǎn)有:中斷請求從NMI引腿進(jìn)入,不受中斷允許標(biāo)志IF的影響。非屏蔽中斷只有一個,其中斷類型碼為2。
2.可屏蔽中斷的特點(diǎn)有:中斷請求從INTR引腿進(jìn)入,只有在IF=1時CPU才響應(yīng)該中斷?善帘沃袛嘤腥舾蓚,其中斷類型碼可以是5~255。
3.非屏蔽中斷用來處理系統(tǒng)的重大故障,如掉電等。可屏蔽中斷用在一般外部設(shè)備申請的中斷中。2.78086存儲空間最大為多少?怎樣用16位寄存器實現(xiàn)對20位地址的尋址?答:1.8086存儲空間最大為220=1MB。
2.采用分段的方法實現(xiàn)16位寄存器實現(xiàn)對20位地址的尋址。物理地址=段基址×10H+偏移地址
4.1計算機(jī)的內(nèi)存有什么特點(diǎn)?內(nèi)存由哪兩部分組成?外存一般指哪些設(shè)備?外存有什么特點(diǎn)?
答:1.內(nèi)存可被CPU直接訪問,內(nèi)存的存取速度快,內(nèi)存的空間大小受到地址總線位數(shù)的限制。2.內(nèi)存由ROM和RAM兩部分組成。
3.外存一般指軟盤、硬盤、磁帶機(jī)上的磁帶及光盤。
4.外存的特點(diǎn)是大容量,所存信息即可修改,又可長期保存。但外存速度慢,要配置專用設(shè)備。5.1外部設(shè)備為什么要通過接口電路和主機(jī)系統(tǒng)相連?存儲器需要接口電路和總線相連嗎?為什么?
答:1.因為外設(shè)的功能多種多樣,對于模擬量信息的外設(shè)必須要進(jìn)行A/D和D/A轉(zhuǎn)換,而對于串行信息的外設(shè)則必須轉(zhuǎn)換為并行的信息,對于并行信息的外設(shè)還要選通。而且外設(shè)的速度比CPU慢的多,必須增加緩沖功能。只有這樣計算機(jī)才能使用這些外設(shè)。而所有這些信息轉(zhuǎn)換和緩沖功能均由接口電路才能完成。
2.存儲器不需要接口電路和總線相連。
3.因為存儲器功能單一,且速度與CPU相當(dāng)。因此可直接掛在CPU總線上。
5.2什么叫端口?通常有哪幾類端口?計算機(jī)對I/O端口編址時通常采用哪兩種方法?在8086/8088系統(tǒng)中,用哪種方法對I/O端口進(jìn)行編址?
答:1.CPU和外設(shè)進(jìn)行數(shù)據(jù)傳輸時,各類信息在接口中進(jìn)入不同的寄存器,一般稱這些寄存器為I/O端口。
2.有數(shù)據(jù)端口、控制端口、狀態(tài)端口三類。
3.在微型計算機(jī)中通常用兩種I/O端口編址方式:存儲器映象尋址和I/O端口單獨(dú)尋址。4.在8086/8088系統(tǒng)中,用I/O端口單獨(dú)尋址方式編址。
5.3CPU和外設(shè)之間的數(shù)據(jù)傳送方式有哪幾種?實際選擇某種傳輸方式時,主要依據(jù)是什么?答:1.CPU和外設(shè)之間的數(shù)據(jù)傳送方式有三種:程序方式、中斷方式、DMA方式。2.主要依據(jù)是外設(shè)的情況(外設(shè)的速度和外設(shè)提供信息的方式)。
5.4設(shè)一個接口的輸入端口地址為0100H,而它的狀態(tài)端口地址為0104H,狀態(tài)口中第5位為1表示輸入緩沖區(qū)中有一個字節(jié)準(zhǔn)備好,可輸入。設(shè)計具體程序?qū)崿F(xiàn)查詢式輸入。答:DATASEGMENT
BUFFERDB20DUP(?);接收數(shù)據(jù)緩沖區(qū)DATAENDSCODESEGMENT
ASSUMEDS:DATA,CS:CODE
STAT:MOVAX,DATA;對DS初始化MOVDS,AX
MOVDI,OFFSETBUFFERMOVDX,0104HSTATIN:INAL,DX
TESTAL,20H;測試第5位JZSTATIN;第5位為0繼續(xù)測試MOVDX,0100H
INAL,DX;輸入數(shù)據(jù)MOV[DI],ALCODEENDSENDSTAT
5.5敘述可屏蔽中斷的響應(yīng)和執(zhí)行過程。答:①接口發(fā)中斷請求信號。
②CPU的IF=1時,當(dāng)前指令執(zhí)行完后,CPU進(jìn)行中斷回答,發(fā)兩個負(fù)脈沖。③接口將中斷類型號n送CPU。
④當(dāng)前的PSW、CS和IP推入堆棧,并清除IF和TF。⑤(4×n)作為IP,(4×n+2)作為CS,即取中斷向量。⑥執(zhí)行中斷子程序,并開中斷。
⑦中斷返回IRET指令使IP、CS和PSW彈出堆棧。⑧返回被中斷的程序。
6.1為什么串行接口部件中的4個寄存器可以只用1位地址線來進(jìn)行區(qū)分?
答:一位地址線可編址二個地址,再加上讀和寫信號可對2個只讀寄存器和2個只寫寄存器進(jìn)行端口尋址。而串行接口部件的控制寄存器和數(shù)據(jù)輸出寄存器是只寫的,狀態(tài)寄存器和數(shù)據(jù)輸入寄存器是只讀的,所以可用一位地址線來區(qū)分
6.2什么叫波特率因子?什么叫波特率?設(shè)波特率因子為64,波特率為1200,時鐘頻率為多少?答:1.波特率因子:時鐘頻率和位傳輸率的比值。此比值必須為16、32或64。2.波特率:位傳輸率即為波特率。
3.時鐘頻率=波特率因子×波特率=64×1200=76800Hz。
6.38086/8088系統(tǒng)中,8251A的C/端應(yīng)當(dāng)和哪個信號相連,以便實現(xiàn)狀態(tài)端口、數(shù)據(jù)端口、控制端口的讀/寫?
答:8251A的C/端應(yīng)與地址總線的A1相連。
6.48251A的模式字格式如何?參照教材上給定格式編寫如下模式字:異步方式,1個停止位,偶校驗,7個數(shù)據(jù)位,波特率因子為16。
答:1.8251A的模式字格式為:(含義見書240頁圖6.11所示)S2S1EPPENL2L1B2B1SCSESDEPPENL2L100異步模式字同步模式字
2.因是異步方式,波特率因子為16:B2B1=10;1個停止位:S2S1=01;偶校驗:EP=1,PEN=1;7個數(shù)據(jù)位:L2L1=10。所以模式字為01111010B=7AH。
6.58251A的控制字格式如何?參照教材上列出的格式給出如下控制字:發(fā)送允許,接收允許,端輸出低電平,TxD端發(fā)送空白字符,端輸出低電平,內(nèi)部不復(fù)位,出錯標(biāo)志復(fù)位。答:1.8251A的控制字格式為:(含義見書241頁圖6.12所示)EHIRRTSERSBRKRxEDTRTxEN
2.發(fā)送允許:TxEN=1,接收允許:RxE=1,端輸出低電平:DTR=1,TxD端發(fā)送空白字符SBRK=1;端輸出低電平:RTS=1,內(nèi)部不復(fù)位:IR=0,出錯標(biāo)志復(fù)位ER=1。EH=0/1則控制字為00111111B或10111111B=3FH或0BFH。
6.6參考初始化流程,用程序?qū)?251A進(jìn)行同步模式設(shè)置。奇地址端口的地址為66H,規(guī)定用內(nèi)同步方式,同步字符為2個,用奇校驗,7個數(shù)據(jù)位。
答:模式字為:00011000B=18H。兩個同步字符取16H,控制字為97H,它使8251A對同步字符進(jìn)行檢索;同時使?fàn)顟B(tài)寄存器中的3個出錯標(biāo)志復(fù)位;使8251A的發(fā)送器啟動,接收器也啟動;CPU當(dāng)前已準(zhǔn)備好進(jìn)行數(shù)據(jù)傳輸。具體程序段如下:MOVAL,18H;設(shè)置模式字OUT66H,AL
MOVAL,16H;發(fā)送兩個同步字符OUT66H,ALOUT66H,AL
MOVAL,97H;設(shè)置控制字OUT66H,AL
6.7設(shè)計一個采用異步通信方式輸出字符的程序段,規(guī)定波特率因子為64,7個數(shù)據(jù)位,1個停止位,用偶校驗,端口地址為40H、42H,緩沖區(qū)首址為201*H:3000H。答:模式字為:01111011B=7BH?刂谱譃椋00110101B=35H。MOVAL,0;為發(fā)復(fù)位命令作準(zhǔn)備OUT42H,ALOUT42H,ALOUT42H,AL
MOVAL,40H;發(fā)復(fù)位命令OUT42H,AL
MOVAL,7BH;設(shè)置模式字,異步方式,規(guī)定波特率因子為64;7個數(shù)據(jù)位,1個停止位,偶校驗OUT42H,AL
MOVAL,35H;設(shè)置控制字,使發(fā)送器和接收器啟動,并清除;出錯標(biāo)志OUT42H,ALPUSHDS
MOVBX,201*H;DS:BX指向輸出緩沖區(qū)首址MOVDS,BX
MOVBX,3000H;緩沖區(qū)指針初始化MOVCX,100H;發(fā)送100H個字節(jié)
BEGIN:INAL,42H;讀取狀態(tài)字,測試TxRDY是否為1TESTAL,01H
JZBEGIN;為0表示外設(shè)還未取走字符MOVAL,[BX];從輸出緩沖區(qū)取數(shù)OUT40H,AL;發(fā)送字符INCBX;修改緩沖區(qū)指針LOOPBEGIN;則再發(fā)送下一個字符6.8并行通信和串行通信各有什么優(yōu)缺點(diǎn)?
答:并行通信的優(yōu)點(diǎn)是信息實際傳輸速度快,信息率高。缺點(diǎn)是需多條通信線。串行通信的優(yōu)點(diǎn)是只用1至2條通信線,但信息傳輸速度較慢。
6.98255A有哪幾種工作方式?對這些工作方式有什么規(guī)定?答:1.8255A有三種工作方式:方式0、方式1、方式2。
2.端口A可以工作于方式0、方式1、方式2;端口B可以工作于方式0、方式1;端口C只能工作于方式0或者配合端口A和端口B工作。
6.10對8255A設(shè)置工作方式,8255A的控制口地址為00C6H。要求端口A工作在方式1,輸入;端口B工作在方式0,輸出;端口C的高4位配合端口A工作;低4位為輸入。答:MOVDX,00C6H
MOVAL,0B1H;取方式選擇控制字為B1H(10110001B)或B9HOUTDX,AL
6.11設(shè)8255A的4個端口地址為00C0H,00C2H,00C4H,00C6H,要求用置1/置0方式對PC6置1,對PC4置0。答:MOVDX,00C6H
MOVAL,0DH;對PC6置1的控制字為0DHOUTDX,AL
MOVAL,08H;對PC4置0的控制字為08HOUTDX,AL
7.18259A的全嵌套方式和特殊全嵌套方式有什么差別?各自用在什么場合?
答:1.全嵌套工作方式,只有更高級的中斷請求來到時,才會進(jìn)行嵌套。而特殊全嵌套方式則能被同級和高級的中斷請求所嵌套。
2.全嵌套方式用于單片8259A的場合。特殊全嵌套方式用于多片8259A系統(tǒng)。7.28237A有哪幾種工作模式?各自用在什么場合?
答:1.8237A有4種工作模式:單字節(jié)傳輸模式、塊傳輸模式、請求傳輸模式、級聯(lián)傳輸模式。2.單字節(jié)傳輸模式用于單個字節(jié)的DMA輸入/輸出;塊傳輸模式用于連續(xù)進(jìn)行多個字節(jié)的傳輸;請求傳輸模式用于受接口控制的連續(xù)字節(jié)傳輸;級聯(lián)傳輸模式用于多片主從式DMA系統(tǒng)中的主片的工作模式。
7.3概述怎樣用軟件方法和硬件方法來進(jìn)行定時。
答:①軟件方法就是根據(jù)所需要的時間常數(shù)來設(shè)計一個延遲子程序。當(dāng)延遲子程序執(zhí)行完后,可直接執(zhí)行下面的操作,也可用輸出指令輸出一個信號作為定時輸出。
②硬件方法使用計數(shù)器/定時器。根據(jù)需要的定時時間,用指令對計數(shù)器/定時器設(shè)置定時常數(shù),并用指令啟動計數(shù)器/定時器,于是計數(shù)器/定時器開始計數(shù),計到確定值時,便自動產(chǎn)生一個定時輸出。
擴(kuò)展閱讀:微機(jī)原理知識點(diǎn)總結(jié)
微機(jī)原理復(fù)習(xí)總結(jié)
第1章基礎(chǔ)知識
計算機(jī)中的數(shù)制BCD碼
與二進(jìn)制數(shù)11001011B等值的壓縮型BCD碼是11001011B。F第2章微型計算機(jī)概論
計算機(jī)硬件體系的基本結(jié)構(gòu)
計算機(jī)硬件體系結(jié)構(gòu)基本上還是經(jīng)典的馮諾依曼結(jié)構(gòu),由運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備5個基本部分組成。
計算機(jī)工作原理
1.計算機(jī)由運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備5個基本部分組成。2.數(shù)據(jù)和指令以二進(jìn)制代碼形式不加區(qū)分地存放在存儲器重,地址碼也以二進(jìn)制形式;計算機(jī)自動區(qū)
分指令和數(shù)據(jù)。
3.編號程序事先存入存儲器。微型計算機(jī)系統(tǒng)
是以微型計算機(jī)為核心,再配以相應(yīng)的外圍設(shè)備、電源、輔助電路和控制微型計算機(jī)工作的軟件而構(gòu)成的完整的計算機(jī)系統(tǒng)。
微型計算機(jī)總線系統(tǒng)
數(shù)據(jù)總線DB(雙向)、控制總線CB(雙向)、地址總線AB(單向);8086CPU結(jié)構(gòu)
包括總線接口部分BIU和執(zhí)行部分EUBIU負(fù)責(zé)CPU與存儲器,,輸入/輸出設(shè)備之間的數(shù)據(jù)傳送,包括取指令、存儲器讀寫、和I/O讀寫等操作。
EU部分負(fù)責(zé)指令的執(zhí)行。
存儲器的物理地址和邏輯地址物理地址=段地址后加4個0(B)+偏移地址=段地址×10(十六進(jìn)制)+偏移地址邏輯段:
1).可開始于任何地方只要滿足最低位為0H即可2).非物理劃分3).兩段可以覆蓋
1、8086為16位CPU,說明(A)
A.8086CPU內(nèi)有16條數(shù)據(jù)線B.8086CPU內(nèi)有16個寄存器C.8086CPU內(nèi)有16條地址線D.8086CPU內(nèi)有16條控制線解析:8086有16根數(shù)據(jù)線,20根地址線;2、指令指針寄存器IP的作用是(A)
A.保存將要執(zhí)行的下一條指令所在的位置B.保存CPU要訪問的內(nèi)存單元地址C.保存運(yùn)算器運(yùn)算結(jié)果內(nèi)容D.保存正在執(zhí)行的一條指令3、8086CPU中,由邏輯地址形成存儲器物理地址的方法是(B)A.段基址+偏移地址B.段基址左移4位+偏移地址C.段基址*16H+偏移地址D.段基址*10+偏移地址
4、8086系統(tǒng)中,若某存儲器單元的物理地址為2ABCDH,且該存儲單元所在的段基址為2A12H,則該
存儲單元的偏移地址應(yīng)為(0AADH)。第3章8086指令系統(tǒng)與尋址方式尋址方式
立即尋址MOVAX,1090H將1090H送入AX,AH中為10H,AL中為90H寄存器尋址MOVBX,AX將AX的內(nèi)容送到BX中
直接尋址指令中給出操作數(shù)所在存儲單元的有效地址,為區(qū)別立即數(shù),有效地址用”[]”括
起。
例:MOVBX,[3000H]將DS段的33000H和33001H單元的內(nèi)容送BX
(設(shè)DS為3000H)
寄存器間接尋址把內(nèi)存操作數(shù)的有效地址存儲于寄存器中,指令給出存放地址的寄存器名。為區(qū)別寄存器尋址,寄存器名用”[]”括起。些寄存器可以為BX、BP、SI和DI。例:MOVAX,[SI]
物理地址=DS*10H+SI或DI或BX物理地址=SS*10H+BP
寄存器相對尋址操作數(shù)的有效地址分為兩部分,一部分存于寄存器中,另一部分以偏移量的方式直接在指令中給出。例:MOVAL,8[BX]
物理地址=DS*10H+BX+偏移量
基址變址尋址操作數(shù)的有效地址分為兩部分,一部分存于基址寄存器中(BX/BP),另一部分存于變址寄存器中(SI/DI)例:MOVAL,[BX][DI]物理地址=DS*10H+BX+DI相對基址變址尋址操作數(shù)的有效地址分為兩部分,一部分存于基址寄存器中(BX/BP),一部
分存于變址寄存器中(SI/DI),一部分以偏移量
例:MOVAL,8[BX][DI]物理地址=DS*10H+BX+DI+偏移量PUSH/POP
指令格式:PUSH源操作數(shù)/POP目的操作數(shù)實現(xiàn)功能:完成對寄存器的值的保存和恢復(fù)
在執(zhí)行PUSH指令時,堆棧指示器SP自動減2;然后,將一個字以源操作數(shù)傳送至棧頂。POP指令是將SP指出的當(dāng)前堆棧段的棧頂?shù)囊粋操作數(shù),傳送到目的操作數(shù)中,然后,SP自動加2,指向新的棧頂。
PUSH指令的操作方向是從高地址向低地址,而POP指令的操作正好相反壓棧指令PUSH執(zhí)行過程:(SP)←(SP)-2
(SP)-1←操作數(shù)高字節(jié)(SP)-2←操作數(shù)低字節(jié)出棧指令POP執(zhí)行過程:(SP)操作數(shù)低字節(jié)(SP)+1操作數(shù)高字節(jié)(SP)←(SP)+2
按后進(jìn)先出的次序進(jìn)行傳送的,因此,保存內(nèi)容和恢復(fù)內(nèi)容時,要按照對稱的次序執(zhí)行一系列壓入指令和彈出指令.例如:
PUSHDSPUSHES
POPES
POPDS
I/O指令I(lǐng)NOUT
格式:INAL/AX,端口OUT端口,AL/AX
直接尋址:直接給出8位端口地址,可尋址256個端口(0-FFH)
間接尋址:16位端口地址由DX指定,可尋址64K個端口(0-FFFFH)
INAX,50H;將50H、51H兩端口的值讀入AX,50H端口的內(nèi)容讀入AL,51H端口的內(nèi)容讀AH
INAX,DX從DX和DX+1所指的兩個端口中讀取一個字,低地址端口中的值讀入AL中,高地址端口中的值讀入AH中
OUT44H,AL將AL的內(nèi)容輸出到地址為44H的端口
1、下列語句中語法有錯誤的語句是(B)A.INAL,DXB.OUTAX,DXC.INAX,DXD.OUTDX,AL2、執(zhí)行PUSHAX指令時將自動完成(B)A.SP←SP-1,SS:[SP]←ALC.SP←SP+1,SS:[SP]←ALSP←SP-1,SS:[SP]←AHSP←SP+1,SS:[SP]←AHB.SP←SP-1,SS:[SP]←AHD.SP←SP+1,SS:[SP]←AHSP←SP-1,SS:[SP]←ALSP←SP+1,SS:[SP]←AL3、MOVAX,[BP][SI]的源操作數(shù)的物理地址是(C)
A.10H*DS+BP+SIB.10H*ES+BP+SIC.10H*SS+BP+SID.10H*CS+BP+SI
4、操作數(shù)在I/O端口時,當(dāng)端口地址(>255)時必須先把端口地址放在DX中,進(jìn)行間接尋址。第4章匯編語言程序設(shè)計
程序的編輯、匯編及連接過程
匯編語言的程序一般要經(jīng)過編輯源程序、匯編(MASM或ASM)、連接(LINK)和調(diào)試(DEBUG)這些步驟
第5章8086的總線操作與時序8086/8088工作模式8086/8088典型時序1、兩種工作模式兩種組態(tài)利用MN/MX*引腳區(qū)別
MN/MX*接高電平為最小模式MN/MX*接低電平為最大模式
兩種組態(tài)下的內(nèi)部操作并沒有區(qū)別
兩種組態(tài)構(gòu)成兩種不同規(guī)模的應(yīng)用系統(tǒng)最小組態(tài)模式
構(gòu)成小規(guī)模的應(yīng)用系統(tǒng),8086本身提供所有的系統(tǒng)總線信號。
最大組態(tài)模式
構(gòu)成較大規(guī)模的應(yīng)用系統(tǒng),例如可以接入數(shù)值協(xié)處理器8087
8086和總線控制器8288共同形成系統(tǒng)總線信號,在最大工作模式中,總是包含兩個以上
總線主控設(shè)備。
2、典型時序
總線周期是指CPU通過總線操作與外部(存儲器或I/O端口)進(jìn)行一次數(shù)據(jù)交換的過程所需要時
間。總線周期如:存儲器讀周期、存儲器寫周期,I/O讀周期、I/O寫周期。總線周期一般有4個時鐘周期T1,T2,T3,T4組成。
指令周期是指一條指令經(jīng)取指令、譯碼、讀寫操作數(shù)到執(zhí)行完成的過程所需要時間。8088的基本總線周期需要4個時鐘周期4個時鐘周期編號為T1、T2、T3和T4總線周期中的時鐘周期也被稱作“T狀態(tài)”時鐘周期的時間長度就是時鐘頻率的倒數(shù)當(dāng)需要延長總線周期時需要插入等待狀態(tài)Tw3、(1)存儲器寫總線周期
T1狀態(tài)輸出20位存儲器地址A19~A0IO/M*輸出低電平,表示存儲器操作;ALE輸出正脈沖,表示復(fù)用總線輸出地址
T2狀態(tài)輸出控制信號WR*和數(shù)據(jù)D7~D0T3和Tw狀態(tài)檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)完成數(shù)據(jù)傳送
(2)I/O寫總線周期T1狀態(tài)輸出16位I/O地址A15~A0IO/M*輸出高電平,表示I/O操作;
ALE輸出正脈沖,表示復(fù)用總線輸出地址
T2狀態(tài)輸出控制信號WR*和數(shù)據(jù)D7~D0T3和Tw狀態(tài)檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)完成數(shù)據(jù)傳送
(3)存儲器讀總線周期
T1狀態(tài)輸出20位存儲器地址A19~A0IO/M*輸出低電平,表示存儲器操作;ALE輸出正脈沖,表示復(fù)用總線輸出地址T2狀態(tài)輸出控制信號RD*
T3和Tw狀態(tài)檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送
(4)I/O讀總線周期
T1狀態(tài)輸出16位I/O地址A15~A0IO/M*輸出高電平,表示I/O操作;
ALE輸出正脈沖,表示復(fù)用總線輸出地址T2狀態(tài)輸出控制信號RD*
T3和Tw狀態(tài)檢測數(shù)據(jù)傳送是否能夠完成T4狀態(tài)前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送
第6章存儲器系統(tǒng)隨機(jī)存儲器RAM(randomAccessmemory)存儲器中的信息能讀能寫,且對存儲器中任一單元的讀或?qū)懖僮魉枰臅r間基本是一樣的。斷電后,RAM中的信息即消失只讀存儲器ROM(readonlymemory)用戶在使用時只能讀出其中信息,不能修改或?qū)懭胄碌男畔,斷電后,其信息不會消失。主存儲器設(shè)計字?jǐn)U展地址空間的擴(kuò)展。芯片每個單元中的字長滿足,但單元數(shù)不滿足擴(kuò)展原則:每個芯片的地址線、數(shù)據(jù)線、控制線并聯(lián),僅片選端分別引出,以實現(xiàn)每個芯片占據(jù)不同的地址范圍位擴(kuò)展當(dāng)構(gòu)成內(nèi)存的存儲器芯片的字長小于內(nèi)存單元的字長時,就要進(jìn)行位擴(kuò)展,使每個單元的字長滿足要求位擴(kuò)展方法:將每片的地址線、控制線并聯(lián),數(shù)據(jù)線分別引出連接至數(shù)據(jù)總線的不同位上字位擴(kuò)展:若已有存儲芯片的容量為L×K,要構(gòu)成容量為M×N的存儲器,需要的芯片數(shù)為:(M/L)×(N/K)片選信號的產(chǎn)生:全譯碼、部分譯碼、線性譯碼。全譯碼:片選信號由地址線所有不在存儲器的地址譯碼產(chǎn)生。(地址唯一)部分譯碼:片選信號不是由地址中所有不在存儲器上的地址譯碼產(chǎn)生。(地址不唯一,一個單元可能有多個地址)線性譯碼:以不在存儲器上的高位地址線直接作為存儲器芯片的片選信號。(地址不唯一)存儲容量是指一塊存儲芯片上所能存儲的二進(jìn)制位數(shù)。假設(shè)存儲芯片的存儲單元數(shù)是M,一個存儲單元所存儲的信息的位數(shù)是N,則其存儲容量為M×N。1、如圖是某一8088系統(tǒng)的存儲器連接圖,試確定其中各芯片的地址空間
D7D0WRRDVccA17IO/MA19A18A16A15A14A13A0A12A0CE2CE11#6264WEOED7D0A12A0CE2CE12#6264WEOED7D0A13A0CE27128OED7D0G1Y0G2A≥1G2BCY4BA74LS1381≥1≥1A13Vcc
解:(1)27128是ROM,沒有WR,Y0=0選中該片;
該片14條地址線,其基本地址00000000000000~11111111111111;高6位:A19A18=00;A17=1;A16A15A14=000
所以27128地址范圍:0010000000000000000000100011111111111111即201*0H23FFFH解:(2)6264是SRAM,13條地址線,用2片,基本地址0000000000000~1111111111111;1#6264的高7位:A13=0且Y4=0有效選中此片,則A16A15A14=100;A19A18=0;A17=1;1#6264地址范圍:0011000000000000000000110001111111111111即30000H31FFFH2#6264的高7位:A13=1且Y4=0有效選中此片則A16A15A14=100;A19A18=00;A17=1;2#6264地址范圍:0011001000000000000000110011111111111111即3201*H33FFFH
1、256KB的SRAM有8條數(shù)據(jù)線,有(B)條地址線A.8B.18C.10D.24解析:256KB=2的18次方B,所以需要18條地址線2、在內(nèi)存儲器組織中用全譯碼方式,存儲單元地址有重復(fù)地址值。F(P211)第7章基本輸入輸出接口I/O接口電路的典型結(jié)構(gòu)CPU數(shù)據(jù)總線DBI/O接口電數(shù)據(jù)信息數(shù)據(jù)寄存器地址總線AB控制總線CB狀態(tài)信息外設(shè)狀態(tài)寄存器控制信息控制寄存器
CPU與外設(shè)之間的數(shù)據(jù)傳輸方式
無條件傳送方式、查詢傳送方式、中斷方式、DMA方式。傳送方式的比較:
無條件傳送:慢速外設(shè)需與CPU保持同步查詢傳送:簡單實用,效率較低
中斷傳送:外設(shè)主動,可與CPU并行工作,但每次傳送需要大量額外時間開銷
DMA傳送:DMAC控制,外設(shè)直接和存儲器進(jìn)行數(shù)據(jù)傳送,適合大量、快速數(shù)據(jù)傳送
DMA控制器8237A
8237工作方式:單字節(jié)傳送方式DMA傳送類型DMA讀DMA寫
DMA控制器8237A
數(shù)據(jù)塊傳送方式請求傳送方式
DMA檢驗
級連方式
每個8237A芯片有4個DMA通道,就是有4個DMA控制器;每個DMA通道具有不同的優(yōu)先權(quán);每個DMA通道可以分別允許和禁止;每個DMA通道有4種工作方式;一次傳送的最大長度可達(dá)64KB;多個8237A芯片可以級連,擴(kuò)展通道數(shù)
簡述CPU與外設(shè)之間的數(shù)據(jù)傳輸方式有哪幾種?
第8章中斷控制接口中斷的基本概念:所謂“中斷”是指CPU終止正在執(zhí)行的程序,專區(qū)執(zhí)行請求CPU為之服務(wù)的內(nèi)、外部事件的服務(wù)程序,待服務(wù)程序執(zhí)行完后,又返回被中止的程序繼續(xù)運(yùn)行的過程。常見的中斷源有:(1)外部設(shè)備的請求(2)由硬件故障引起的(3)實時時鐘(4)由軟件引起的中斷處理過程:1.中斷請求2中斷判優(yōu)3中斷響應(yīng)(通常包括:保留斷點(diǎn)地址、關(guān)閉中斷允許、轉(zhuǎn)入中斷服務(wù)程序)4.中斷處理(1.保護(hù)現(xiàn)場2.執(zhí)行中斷服務(wù)3.恢復(fù)現(xiàn)場)5.中斷返回8088CPU的中斷系統(tǒng)INTn指令NMI非屏蔽中斷請求CPU中斷邏輯INTRIR0IRIRIR可1屏蔽2中斷3請求8259A中斷控制器INT3指令I(lǐng)NTO指令除法錯誤單步中斷IR4軟件中斷IR硬件中斷圖8086中斷源
查詢中斷的順序(由高到低)
軟件中斷除法錯誤中斷、指令中斷INTn、溢出中斷INTo非屏蔽中斷NMI可屏蔽中斷INTR單步中斷
8088的中斷向量表
中斷向量表:中斷服務(wù)程序的入口地址(首地址)的表格中斷服務(wù)程序的入口地址=中斷類型號*4
邏輯地址含有段地址CS和偏移地址IP(32位)
每個中斷向量的低字是偏移地址、高字是段地址,需占用4個字節(jié)8088微處理器從物理地址000H開始,依次安排各個中斷向量,向量號也從0開始256個中斷占用1KB區(qū)域,就形成中斷向量表
8259A的中斷工作過程和工作方式工作方式
1.中斷嵌套方式(全嵌套方式、特殊嵌套方式)
2.循環(huán)優(yōu)先方式(優(yōu)先級自動循環(huán)方式、優(yōu)先權(quán)特殊循環(huán)方式)3.中斷屏蔽方式(普通中斷屏蔽方式、特殊中斷屏蔽方式)
4.結(jié)束中斷處理方式(自動中斷結(jié)束方式、非自動中斷結(jié)束方式)5.程序查詢方式
6.中斷請求觸發(fā)方式(邊沿觸發(fā)方式、電平觸發(fā)方式)8259A的中斷工作過程(?)
8259A的編程包括初始化命令I(lǐng)CW1~ICW4和操作命令字OCW1~OCW3初始化命令字規(guī)則:必須按照ICW1~I(xiàn)CW4順序?qū)懭,ICW1和ICW2是必須送的ICW3和ICW4由工作方式?jīng)Q定
8259A的級聯(lián):n片級聯(lián)可以控制7n-1個中斷1、8086CPU響應(yīng)中斷請求的時刻是在(B)
A.執(zhí)行完正在執(zhí)行的程序以后B.執(zhí)行完正在執(zhí)行的指令后C.執(zhí)行完正在執(zhí)行的機(jī)器周期以后D.執(zhí)行完本時鐘周期以后2、8086的中斷向量表(B)
A.用于存放中斷類型碼B.用于存放中斷服務(wù)程序入口地址C.是中斷服務(wù)程序的入口D.是斷點(diǎn)
3、若可屏蔽中斷類型號為32H,則它的中斷向量應(yīng)存放在(C)開始的4個字節(jié)單元中A.00032HB.00128HC.000C8HD.00320H4、8259A中斷屏蔽寄存器為(B)A.IRRB.IMRC.ISRD.PR5、INTn指令中斷是(C)
A.由外部設(shè)備請求產(chǎn)生B.由系統(tǒng)斷電引起的C.通過軟件調(diào)用的內(nèi)部中斷D.可用IF標(biāo)志位屏蔽的6、某8086微機(jī)系統(tǒng)的RAM存儲單元中,從0000H:0060H開始依次存放23H、45H、67H和89H四個字節(jié),相應(yīng)的中斷類型碼為(B)A.15HB.18HC.60HD.C0H
解析:開始的物理地址為0000H+0060H=60H,60H=中斷類型號*4
7、8086CPU可屏蔽中斷INTR的中斷請求信號為高電平有效。T
8、中斷向量在中斷向量表中存放格式為:較低地址單元中存CS,較高地址單元中存放IP。F
9、若中斷向量表從0200H開始的連續(xù)4個單元中存放某中斷服務(wù)程序入口地址,那么相應(yīng)的中斷類型號為(80H)
10、8259A的4個初始化命令字ICW1~ICW4的寫入方法為順序?qū)懭,其中(ICW1\\2)為必須寫,
(ICW3\\4)為選寫初始化命令字
11、80x86的中斷系統(tǒng)有哪幾種類型中斷?其優(yōu)先次序如何?12、簡述80X86CPU可屏蔽中INTR的中斷過程?
第9章定時計數(shù)控制接口
8253的6種工作方式方式0計數(shù)結(jié)束產(chǎn)生中斷方式1可重觸發(fā)單穩(wěn)態(tài)方式方式2頻率發(fā)生器方式3方波發(fā)生器
方式4軟件觸發(fā)的選通信號發(fā)生器方式5硬件觸發(fā)的選通信號發(fā)生器8253的編程寫入控制字
寫入計數(shù)初值(計算公式t=1/f*TC;t定時時間、TC計數(shù)初值、f輸入時鐘頻率)讀取計數(shù)值
看例題9.1(p265)9.3(p270)分析+編程必考(P260控制字格式)
圖。8253A控制字格式
8255A的工作方式和編程方式0:基本輸入輸出方式
適用于無條件傳送和查詢方式的接口電路
方式1:選通輸入輸出方式
適用于查詢和中斷方式的接口電路
方式2:雙向選通傳送方式
適用于雙向傳送數(shù)據(jù)的外設(shè)
適用于查詢和中斷方式的接口電路
圖8255A方式選擇控制字
圖9.138255A端口C置位復(fù)位控制字
8255A的應(yīng)用
1、8253/8254的十進(jìn)制計數(shù)方式比二進(jìn)制計數(shù)方式的最大計數(shù)范圍小。T
解析:選擇二進(jìn)制時計數(shù)值范圍:0000H~FFFFH0000H是最大值,代表65536選擇十進(jìn)制(BCD碼)計數(shù)值范圍:0000~99990000代表最大值10000
2、在對8253初始化時,需要向控制寄存器寫入方式控制字,向(計數(shù)通道)寫入計數(shù)e初值。3、若8253的某一計數(shù)器用于輸出方波,該計數(shù)器應(yīng)工作在(方式3)。若該計數(shù)器的輸入頻率為1MHz,輸出方波頻率為5kHz,則計數(shù)初值為(200)。
moval,82hout83h,al;8255的初始化,設(shè)置端口A為方式0輸入、端口B為方式0輸出next:inal,81h;讀取端口B的數(shù)據(jù)notal;低兩位取反,閉合0變?yōu)?andal,03h;屏蔽掉高6位,變?yōu)?
andal,03h
cmpal,01h;jzone;若等值跳轉(zhuǎn)到0顯示程序
cmpal,02h或者
jztwo;若等值跳轉(zhuǎn)到1顯示程序cmpal,03hjzexit;若同時按下跳轉(zhuǎn)到中止程序
jmpnext;若未按下鍵盤則返回到NEXT重新檢測one:moval,3fhout80h,aljmpnext;0顯示程序two:moval,06h;或30Hout80h,aljmpnext;1顯示程序exit:movah,4chint21h;中止程序
第10章串行通信接口
串行通信與并行通信
串行通信:利用一條傳輸線將數(shù)據(jù)一位一位按順序分時傳輸。并行通信:利用多根傳輸線,將多為數(shù)據(jù)同時進(jìn)行傳輸。異步串行通信協(xié)議
圖為異步傳輸?shù)臄?shù)據(jù)幀格式,每幀包括:一個起始位(低電平)、5~8個數(shù)據(jù)位、1個可選的奇偶校驗位、1~2個停止位(高電平)。傳輸時低位在前,高位在后。串行通信中的傳輸模式
何謂并口?何謂串口?它們各自的特點(diǎn)是什么?
第11章模數(shù)接口
D/A轉(zhuǎn)換的基本原理:Vout=-(D/2^n)×VREF
DAC0832的工作方式:直通方式單緩沖方式雙緩沖方式單極性電壓輸出:Vout=-Iout1×Rfb=-(D/2^8)×VREF雙極性電壓輸出:Vout2=[(D-2^7)/2^7)]×VREFADC0809的轉(zhuǎn)換公式
友情提示:本文中關(guān)于《微機(jī)原理知識點(diǎn)》給出的范例僅供您參考拓展思維使用,微機(jī)原理知識點(diǎn):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。