《微型計(jì)算機(jī)接口技術(shù)》第2章 微處理器與單片機(jī)2_第1頁
《微型計(jì)算機(jī)接口技術(shù)》第2章 微處理器與單片機(jī)2_第2頁
《微型計(jì)算機(jī)接口技術(shù)》第2章 微處理器與單片機(jī)2_第3頁
《微型計(jì)算機(jī)接口技術(shù)》第2章 微處理器與單片機(jī)2_第4頁
《微型計(jì)算機(jī)接口技術(shù)》第2章 微處理器與單片機(jī)2_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

12.280386微處理器2目錄2.280386微處理器2.3雙核微處理器2.480x8尋址方式2.580x86的指令系統(tǒng)2.6單片計(jì)算機(jī)32.280386微處理器1985年10月推出了高性能的32位微處理器80386,具有32位數(shù)據(jù)總線和32位地址總線,直接尋址能力為4GB,在16MHz主頻下每秒可執(zhí)行4×106條指令。它采用了流水線和指令重疊執(zhí)行技術(shù)、虛擬存儲(chǔ)技術(shù)和存儲(chǔ)管理技術(shù)等,這些技術(shù)以后被廣泛采用,故80386是微處理器發(fā)展史上的一個(gè)里程碑。42.2.180386的組織結(jié)構(gòu)80386的內(nèi)部結(jié)構(gòu)可以劃分為:指令預(yù)取部件、指令譯碼部件、指令執(zhí)行部件、分段部件、分頁部件和總線接口部件等6個(gè)功能部件52.2.180386的組織結(jié)構(gòu)指令預(yù)取部件IPU(InstructionPrefetchUnit)IPU中設(shè)置了一個(gè)16字節(jié)的指令隊(duì)列,只要指令隊(duì)列有空字節(jié),IPU就向總線接口部件提出請(qǐng)求,若總線接口部件處于空閑狀態(tài),則從存儲(chǔ)器中取出指令裝入指令隊(duì)列。指令譯碼部件IDU(InstructionDecodeUnit)IDU的作用就是對(duì)指令操作碼進(jìn)行譯碼,實(shí)現(xiàn)從指令到微指令的轉(zhuǎn)換。IDU中設(shè)置了譯碼指令隊(duì)列,譯碼得到的微指令存放在該隊(duì)列中。指令執(zhí)行部件EU(ExecuteUnit)EU包括算術(shù)邏輯運(yùn)算部件ALU、8個(gè)32位通用寄存器和1個(gè)64位桶形移位寄存器和1個(gè)乘/除法器,其功能就是完成各種數(shù)據(jù)運(yùn)算和處理。此外,EU還包括保護(hù)測(cè)試部件,用于檢驗(yàn)指令執(zhí)行過程中是否符合存儲(chǔ)器分段規(guī)則。上述三個(gè)部件IPU、IDU和EU合稱為中央處理部件CPU(CentralProcessingUnit),它們實(shí)際構(gòu)成了一個(gè)指令流水線。62.2.180386的組織結(jié)構(gòu)分段部件SU(SegmentationUnit)80386采用了分段、分頁兩級(jí)存儲(chǔ)管理機(jī)制,存儲(chǔ)器首先以段為單位進(jìn)行劃分,每個(gè)段的長(zhǎng)度最大為4GB,每個(gè)段又進(jìn)一步劃分為多個(gè)頁面,頁面長(zhǎng)度固定為4KB。分頁部件PU(PagingUnit)PU的作用是將SU生成的線性地址轉(zhuǎn)換為存儲(chǔ)器的物理地址,這種轉(zhuǎn)換是通過兩級(jí)頁表來實(shí)現(xiàn)的。PU是80386的可選部件,若不使用PU,則SU生成的線性地址就是物理地址。SU和PU合稱為存儲(chǔ)管理部件MMU(MemoryManagementUnit)??偩€接口部件BIU(BusInterfaceUnit)BIU是80386與外部之間的高速接口。當(dāng)指令預(yù)取部件取指令,或者指令執(zhí)行部件讀寫操作數(shù)和運(yùn)算結(jié)果時(shí),都會(huì)向BIU提出訪問存儲(chǔ)器和I/O設(shè)備的請(qǐng)求,BIU根據(jù)一定的優(yōu)先級(jí)來響應(yīng)這些請(qǐng)求,產(chǎn)生所需要的地址信號(hào)和讀寫控制信號(hào),以完成有關(guān)操作。此外,BIU也實(shí)現(xiàn)了80386與其它協(xié)處理器之間的控制功能。SU、PU和BIU實(shí)際上也構(gòu)成一條地址流水線,72.2.280386的編程結(jié)構(gòu)80386有6類寄存器,分別是通用寄存器、指令指針寄存器、標(biāo)志寄存器、控制寄存器、調(diào)試與測(cè)試寄存器、段寄存器、段描述符寄存器、系統(tǒng)地址寄存器。(1)通用寄存器(下頁圖示)80386有8個(gè)32位的通用寄存器,分別是EAX、EBX、ECX和EDX,以及ESP、EBP、ESI和EDI,(2)標(biāo)志寄存器/標(biāo)志寄存器32位的標(biāo)志寄存器EFLAGS也是由16位的標(biāo)志寄存器FLAGS擴(kuò)展而來的。原有的9個(gè)標(biāo)志含義相同,在此基礎(chǔ)上又增加了4個(gè)新的標(biāo)志。8(2)標(biāo)志寄存器/標(biāo)志寄存器32位的標(biāo)志寄存器EIP用于存放下一條指令的偏移量,當(dāng)兼容8086時(shí),其低16位就是IP寄存器。9(3)80386有4個(gè)32位的控制寄存器CR0、CR1、CR2和CR3,其中CR1未使用。這些控制寄存器主要用于對(duì)80386各種功能和運(yùn)行方式的控制。(4)調(diào)試寄存器/測(cè)試寄存器80386設(shè)置了8個(gè)32位的調(diào)試寄存器DR0~DR7,其中DR4~DR5為Intel公司保留,而其它6個(gè)寄存器用于設(shè)置斷點(diǎn)和調(diào)試功能。80386使用了兩個(gè)測(cè)試寄存器TR6和TR7,用于測(cè)試TLB(TranslationLookasideBuffer)。其中TR6存放測(cè)試控制命令,而TR7存放測(cè)試所得數(shù)據(jù)。10(5)系統(tǒng)地址寄存器系統(tǒng)地址寄存器包括全局描述符表寄存器GDTR、中斷描述符表寄存器IDTR、局部描述符表寄存器LDTR和任務(wù)狀態(tài)段寄存器TR。設(shè)置這些寄存器的目的是為了便于對(duì)各個(gè)描述符表進(jìn)行訪問,它們分別保存著對(duì)應(yīng)描述符表的存儲(chǔ)地址。系統(tǒng)地址寄存器的內(nèi)容和作用在后續(xù)章節(jié)詳細(xì)介紹。(6)段寄存器和段選擇子80386與8086一樣,段寄存器也是16位的,但增加了兩個(gè)附加數(shù)據(jù)段寄存器FS和GS。在實(shí)地址方式中,80386物理地址的計(jì)算與8086相同。但在保護(hù)方式下,段寄存器的作用則不同,其內(nèi)容和作用在后續(xù)章節(jié)詳細(xì)介紹。112.2.380386的工作方式實(shí)地址方式(RealAddressMode)8086兼容方式(段),80386復(fù)位后就進(jìn)入實(shí)地址方式

保護(hù)方式(ProtectedVirtualAddressMode)段頁式虛擬8086方式(Virtual8086Mode)段頁式(386下執(zhí)行86代碼,某個(gè)任務(wù))1280386的工作方式實(shí)地址方式(RealAddressMode)8086工作模式,只采用分段方式,每段固定長(zhǎng)度為64KB,20位物理地址由段寄存器內(nèi)容左移4位后與偏移量相加得到。不同之處是80386可以進(jìn)行32位數(shù)據(jù)的運(yùn)算和處理。復(fù)位后進(jìn)入實(shí)地址方式,保護(hù)方式(ProtectedVirtualAddressMode)80386在保護(hù)方式下采用了段頁式的存儲(chǔ)管理機(jī)制,提供保護(hù)機(jī)制,支持虛擬存儲(chǔ)和多任務(wù)操作系統(tǒng)。保護(hù)方式是80386最常用的方式。虛擬8086方式(Virtual8086Mode)80386在虛擬8086方式同樣采用段頁式存儲(chǔ)管理機(jī)制,具有護(hù)功能,可以支持多任務(wù)。虛擬8086方式是針對(duì)多個(gè)任務(wù)中的某一個(gè)任務(wù)而言的,也就是說在多個(gè)任務(wù)中,某一個(gè)任務(wù)是在虛擬8086方式,而另一些任務(wù)可以在保護(hù)方式。當(dāng)一個(gè)任務(wù)工作在虛擬8086方式時(shí),可以直接執(zhí)行8086的代碼。132.2.480386的引腳和時(shí)序80386采用132條引腳的PGA(陶瓷網(wǎng)格陣列)封裝,主要包括:(1)數(shù)據(jù)總線D31~D0(2)地址總線A31~A2、/BH3~/BH0(3)時(shí)鐘信號(hào)CLK2,(4)與總線周期有關(guān)信號(hào):

1480386時(shí)序修訂:BE3-BH3152.2.580386的存儲(chǔ)管理圖2.19給出了80386的存儲(chǔ)管理機(jī)制的實(shí)現(xiàn)原理。用戶程序在訪問存儲(chǔ)器時(shí)給出的是48位虛擬地址(或稱為邏輯地址),由16位的段選擇子(SegmentSelector)和32位偏移量?jī)刹糠纸M成,段選擇子由段寄存器給出,而偏移量則根據(jù)不同的尋址方式得到。161、基本概念與術(shù)語(1)虛擬存儲(chǔ)器和高速緩沖存儲(chǔ)器(2)描述符描述符又稱為段描述符,由8個(gè)字節(jié)構(gòu)成,用于對(duì)程序段進(jìn)行描述,向CPU提供虛擬地址并向?qū)嵉刂忿D(zhuǎn)換所需的數(shù)據(jù);包括段的基地址、段的大小和段的屬性(稱訪問權(quán)字段)。圖2.21說明了段描述符的格式。17①32位段基址:指明一個(gè)段的起始位置,可以為32位的線性地址空間中的任一地址。②20位段限:段限決定了一個(gè)段的可尋址范圍,目的是為了判斷對(duì)存儲(chǔ)段的訪問是否越界,以免破壞其它信息。386的段限長(zhǎng)是32位,但在段描述符中只規(guī)定了20位,根據(jù)此20位限長(zhǎng)及段屬性中的G位計(jì)算出真正的段限長(zhǎng)。在不使用分頁機(jī)制時(shí)(G=0),則長(zhǎng)度單位為字節(jié),段的最大長(zhǎng)度為1B×220=1MB;在啟用分頁機(jī)制時(shí)(G=1),則長(zhǎng)度單位是頁面數(shù)(每頁4KB),因此段的最大長(zhǎng)度為4KB×220=4GB。例如,G=1時(shí)的段基址=00000000H,限長(zhǎng)=0FFFFFH,則真實(shí)的段限長(zhǎng)=0FFFFFH*1000H+0FFFH=0FFFFFFFFH。18③段的屬性包括以下字段A——訪問位,A=1表示已經(jīng)訪問過該段,操作系統(tǒng)利用該位統(tǒng)計(jì)段的使用情況。S——描述符類型位,若S=1,則為非系統(tǒng)描述符,所描述的段是代碼段、數(shù)據(jù)段(包括堆棧段);若S=0,則為系統(tǒng)描述符,所描述的是局部描述符表、任務(wù)狀態(tài)段和各種門。TYPE——段類型,用于說明對(duì)應(yīng)的段的類型,包括是否為可執(zhí)行的代碼段、存儲(chǔ)地址增長(zhǎng)的方向、該段是否可以進(jìn)行寫操作等。DPL——描述符的特權(quán)級(jí)(DescriptorPrivilegelevel),用于特權(quán)檢查,以決定對(duì)該段能否訪問。P——存在位,當(dāng)P=1時(shí),說明對(duì)應(yīng)的存儲(chǔ)段已經(jīng)裝入內(nèi)存。D——操作數(shù)長(zhǎng)度標(biāo)志,僅用于代碼段描述符,當(dāng)D=1時(shí),說明對(duì)應(yīng)的代碼段的代碼是32位的,而當(dāng)D=0則為16位。19(3)描述符表系統(tǒng)中有三類描述符表:全局描述符表GDT、局部描述符表LDT和中斷措述符表IDT。這些表都是可變長(zhǎng)度的存儲(chǔ)器數(shù)組,表的長(zhǎng)度從8B~64KB之間,每個(gè)表最多可容納8192個(gè)描述符(每個(gè)描述符由8B組成)。中斷描述符表IDT存放的是描述中斷服務(wù)程序入口地址等有關(guān)屬性的門描述符,包括中斷門、陷阱門和任務(wù)門。每個(gè)任務(wù)有且只有一個(gè)獨(dú)立的局部描述符表LDT,整個(gè)系統(tǒng)只有一個(gè)全局描述符表GDT,20(4)系統(tǒng)地址寄存器系統(tǒng)地址寄存器包括:全局描述符表寄存器GDTR、中斷描述符表寄存器IDTR、局部描述符表寄存器LDTR和任務(wù)狀態(tài)段寄存器TR。21系統(tǒng)地址寄存器80位的LDTR分為兩個(gè)字段,高16位稱為L(zhǎng)DT選擇子,用于在GDT中查找LDT描述符,一旦查找到LDT描述符,則由硬件自動(dòng)存放在低64位中。22段寄存器和段選擇子段寄存器選擇子16位(用戶可見)描述符64位(用戶不可見)23段寄存器和段選擇子高13位存放的是段選擇子,也就是段描述符在GDT或LDT中的索引號(hào)。表索引標(biāo)志TI:當(dāng)TI=1時(shí),在LDT中查找,而當(dāng)TI=0時(shí),則在GDT中進(jìn)行查找。另外2位RPL,用來作描述請(qǐng)求特權(quán)級(jí)(RequestedPrivilegeLevel),用于特權(quán)檢查。24LDTR描述符獲取過程在訪問LDT之前,首先需要在GDT中查找到該LDT描述符。通過LDTR的選擇子查找GDT獲得LDT描述符的過程如下圖所示。Index2580386特權(quán)級(jí)80386中共規(guī)定有4個(gè)特權(quán)級(jí),由0到3。0級(jí)別權(quán)限最高,3級(jí)最小。操作系統(tǒng)核心運(yùn)行在0級(jí),80386處理器共設(shè)置4個(gè)優(yōu)先級(jí)(0級(jí)~3級(jí))。0級(jí)是最高級(jí)(特權(quán)級(jí));3級(jí)是最低級(jí)(用戶級(jí));1級(jí)和2級(jí)介于它們之間。特權(quán)級(jí)代碼一般是操作系統(tǒng)的代碼,可以訪問全部系統(tǒng)資源;其他級(jí)別的代碼一般是用戶程序,可以訪問的資源受到限制。

262.特權(quán)保護(hù)80386采用保護(hù)機(jī)制主要為了檢查和防止低級(jí)別代碼的越權(quán)操作,如訪問不該訪問的數(shù)據(jù)、端口以及調(diào)用高優(yōu)先級(jí)的代碼等。80386中的每個(gè)段描述符號(hào)中都有DPL字段,高于該特權(quán)級(jí)別的程序才有權(quán)訪問它。段寄存器的請(qǐng)求特權(quán)級(jí)(RPL):用于特權(quán)檢查。檢查主要是讓當(dāng)前優(yōu)先級(jí)(CPL)和DPL比大小,如果大于等于才允許訪問。而RPL和CPL之間不作判斷,將RPL和CPL中特權(quán)更高的那個(gè)和被訪問段的DPL比較作判斷。

273.虛擬地址到線性地址的轉(zhuǎn)換虛擬地址通常由兩部分組成:段選擇器和偏移地址。段選擇器用來選擇一個(gè)段,偏移地址用來指出操作數(shù)在所選擇的段中的偏移量。例如:MOVFS:IOTA,AL該指令中IOTA用來指定偏移地址。該指令的功能是:將寄存器AL的內(nèi)容存入FS的選擇器字段所選擇的段中偏移量為IOTA的虛擬地址單元中。例如:MOVEAX,DS:[EBX]該指令的功能是:將DS的選擇器字段所選擇的段中由.EBX內(nèi)容代表的偏移量所確定的虛擬地址單元開始的4個(gè)字節(jié)的內(nèi)容送人EAX。28轉(zhuǎn)換過程CPU只要將段選擇器所指向的段描述符中的32位基地址與32位偏移地址相加即可得到線性地址。將32位虛擬地址轉(zhuǎn)換到32位線性地址的過程包括:首先,CPU將邏輯地址中的段選擇子裝入段寄存器中;其次,硬件根據(jù)選擇子的TI字段自動(dòng)訪問局部描述符表LDT或全局描述符表GDT;然后,獲取LDT或GDT中的描述符,進(jìn)行段限比較;最后,根據(jù)描述符的基地址和程序給出的偏移地址,計(jì)算得到線性地址。29轉(zhuǎn)換實(shí)例例如,80386的某指令給出的32位邏輯地址為0000000001100100,0000000100000000B,則根據(jù)圖2.26所示的結(jié)構(gòu),可以實(shí)現(xiàn)邏輯地址到線性地址的變換。具體過程如下:30轉(zhuǎn)換實(shí)例首先,32位邏輯地址的高16位裝入段寄存器。根據(jù)圖2.24的結(jié)構(gòu),得到的段寄存器的高13位為0000000001100B(00CH),TI=1B,RPL=00B,偏移地址為0100H。31轉(zhuǎn)換實(shí)例然后,硬件根據(jù)選擇子的TI字段自動(dòng)訪問局部描述符表LDT,把段選擇子的索引值000CH乘8以后的值0060H與全局描述符寄存器(GDTR)的段限00FF進(jìn)行比較,由于該值沒有超出界限,因此,可以對(duì)局部描述符表進(jìn)行訪問。32轉(zhuǎn)換實(shí)例其次,把0060H與局部描述符表的基地址(在LDTR中)相加得到訪問數(shù)據(jù)段描述符的絕對(duì)地址00100060H。如果保護(hù)機(jī)構(gòu)對(duì)訪問權(quán)檢查通過,CPU就自動(dòng)地把地址為00100060H的數(shù)據(jù)段描述符(包括數(shù)據(jù)段基地址、段限和訪問權(quán)字段)裝入DS寄存器相應(yīng)的段描述符寄存器高速緩沖器中。33轉(zhuǎn)換實(shí)例最后,用段描述符寄存器的訪問權(quán)字段所規(guī)定的內(nèi)容對(duì)數(shù)據(jù)段請(qǐng)求進(jìn)行檢查,同時(shí)將邏輯地址中的偏移量與數(shù)據(jù)段的段限值進(jìn)行比較。經(jīng)檢查確認(rèn)為數(shù)據(jù)段描述符、偏移量沒有超出數(shù)據(jù)段的界限。所以偏移量0100H和數(shù)據(jù)段基地址00852000H相加,得出操作數(shù)的線性地址00852100H。344.線性地址到物理地址的轉(zhuǎn)換80386的存儲(chǔ)管理機(jī)制不僅采用了分段機(jī)制,而且采用了分頁機(jī)制。當(dāng)一個(gè)任務(wù)訪問存儲(chǔ)器時(shí),首先由分段機(jī)制將邏輯地址轉(zhuǎn)化為32位線性地址,然后由分頁機(jī)制完成從32位線性地址到32位物理地址的映射,從而在內(nèi)存中找到要訪問的信息。線性地址到物理地址的映射過程如圖2.27所示。35頁目錄號(hào)是線性地址的第31~22共10位,它作為頁目錄中頁目錄項(xiàng)的索引,可尋找210=1024個(gè)頁目錄項(xiàng),即指向1024個(gè)頁表。頁索引號(hào)是線性地址第21~12共10位,指向頁表內(nèi)的頁,可尋210=l024個(gè)頁。頁內(nèi)偏移量:線性地址的第11~0共12位,可以尋址頁內(nèi)地址,每頁最大為212=4K個(gè)單元。36頁目錄表和頁表在80386中,頁目錄表和頁表的表項(xiàng)的結(jié)構(gòu)類似,長(zhǎng)度均為32位.37轉(zhuǎn)換實(shí)例例如,根據(jù)32位線性地址00000001000110010101100111000110B和圖2.28的目錄與頁表結(jié)構(gòu),下面分析線性地址到物理地址的轉(zhuǎn)換過程。38轉(zhuǎn)換實(shí)例①根據(jù)CR3寄存器得到頁目錄表的起始地址,32位的起始地址為00000000H。②根據(jù)目錄號(hào)計(jì)算(指向被選擇的目錄項(xiàng)目錄號(hào)×4+CR3×212)。本例目錄號(hào)為0000000100B(04H),得到頁目錄表中地址為00000010H,在該處讀出表項(xiàng),得到頁表起始地址00004000H(表中只存頁面號(hào),實(shí)際地址的低12位為0)。39③線性地址的頁表索引字段為0110010101B(195H),通過計(jì)算00004000H+195H×4得00004654H,在頁表中地址為00004654H處讀出物理地址的頁號(hào),為0198CH。④將物理地址的頁號(hào)和線性地址的頁內(nèi)地址拼接,得到32位物理地址0198C9C6H。轉(zhuǎn)換實(shí)例402.3雙核微處理器雙核處理器是基于單個(gè)半導(dǎo)體的一個(gè)處理器上擁有兩個(gè)一樣功能的處理器核心。雙核處理器能有效提升CPU的功能與性能。最初,雙核心處理器采用SMP(SimultaneousMulti-Processor)方式,將多個(gè)處理器置于一個(gè)系統(tǒng)之下協(xié)同工作,以此來提升性能。后來為了降低成本,開發(fā)人員逐漸考慮是否能夠?qū)蓚€(gè)處理器或是處理核心集成到一個(gè)芯片上面來,為此出現(xiàn)了SMT(SimultaneousMulti-Threading)技術(shù)和CMP(ChipMulti-Processor)架構(gòu)。41雙核微處理器早在上個(gè)世紀(jì)末,HP和IBM就已經(jīng)提出雙核處理器的可行性設(shè)計(jì),并成功推出了擁有雙內(nèi)核的HPPA8800和IBMPower4處理器。雙芯

雙核

422.480x86的尋址方式指令的一般格式包括“操作碼”和“操作數(shù)”兩部分。數(shù)據(jù)尋址方式:此類尋址方式用來確定操作數(shù)地址從而找到操作數(shù)。(1)立即尋址方式(Immediateaddressing)(2)寄存器尋址方式(Registeraddressing)(3)直接尋址方式(Directaddressing)(4)寄存器間接尋址方式(5)寄存器相對(duì)尋址方式(6)基址變址尋址方式(7)相對(duì)基址變址尋址方式4380x86的尋址方式指令尋址方式:確定一條指令的地址的方法(1)段內(nèi)直接尋址(2)段內(nèi)間接尋址(3)段間直接尋址(4)段間間接尋址轉(zhuǎn)移距離(稱為位移量)的操作符SHORT表示位移量在-128~127字節(jié)之間。NEAR表示在同一段內(nèi)轉(zhuǎn)移,位移量在-32768~32767字節(jié)范圍內(nèi)。FAR表示轉(zhuǎn)移距離超過±32K字節(jié),或是在不同段之間轉(zhuǎn)移。442.580x86指令系統(tǒng):常用的8086匯編指令指令名稱源操作數(shù)目標(biāo)操作數(shù)功能說明與實(shí)例MOV寄存器寄存器寄存器間傳遞數(shù)據(jù),如MOVAL,CHMOV寄存器常量常量傳給寄存器,如MOVAX,86HMOV[存儲(chǔ)地址]寄存器寄存器間傳給內(nèi)存,如MOV[1808H],AXMOV寄存器[存儲(chǔ)地址]內(nèi)存?zhèn)鹘o寄存器,如MOVAL,[1988H]INALI/O端口端口號(hào)小于FFH時(shí)讀I/O端口數(shù)據(jù),如INAL,22HINALDX端口號(hào)大于FFH時(shí)讀I/O端口數(shù)據(jù),如INAL,DXOUTI/O端口號(hào)AL端口號(hào)小于FFH時(shí)寫I/O端口,如OUT22H,ALOUTDXAL端口號(hào)大于FFH時(shí)寫I/O端口,如OUTDX,ALJNZ標(biāo)號(hào)結(jié)果不為零轉(zhuǎn)移,如JNZREPT1JZ標(biāo)號(hào)結(jié)果為零轉(zhuǎn)移,如JZREPT2CMP寄存器寄存器比較兩個(gè)寄存器的值,相等置ZF標(biāo)志CMP寄存器常量比較寄存器和常量值,,相等置ZF標(biāo)志CMP寄存器[存儲(chǔ)地址]比較寄存器和內(nèi)存單元的值,相等置ZF標(biāo)志TEST寄存器常量比較寄存器與常量的值,僅設(shè)置ZF標(biāo)志AND寄存器常量寄存器的值與常量進(jìn)行與運(yùn)算,設(shè)置ZF標(biāo)志OR寄存器常量寄存器的值與常量進(jìn)行或運(yùn)算,設(shè)置ZF標(biāo)志LOOP標(biāo)號(hào)當(dāng)寄存器CX的值不為零時(shí),轉(zhuǎn)標(biāo)號(hào),否則向后執(zhí)行452.6單片計(jì)算機(jī)(了解)單片機(jī)即單片機(jī)微型計(jì)算機(jī),是將計(jì)算機(jī)的主要功能(如CPU、內(nèi)存和I/O接口等)集成在一小塊硅片上的微型計(jì)算機(jī)。單片機(jī)發(fā)展非常迅速,種類眾多,用途廣泛。主要單片機(jī)系列包括:Intel公司的8031/8051/8052/80C51等普通8位單片機(jī);Intel公司的8096/8098/80196等普通16位單片機(jī);Atmel公司的AVR系列增強(qiáng)型8位/16位單片機(jī)Mega64/128L/128/192/256等;ARM公司等的ARM7/9/11等32位單片機(jī)。單片機(jī)具有集成度高、可靠性高、性價(jià)比高等三高優(yōu)勢(shì),主要應(yīng)用于工業(yè)檢測(cè)與控制、計(jì)算機(jī)外設(shè)、智能儀器儀表、通訊設(shè)備、家用電器等領(lǐng)域。下面以Intel公司的80C51和Atmel公司的AVRMega128L為例簡(jiǎn)要介紹單片機(jī)的原理及其主要接口功能。462.6.180C51的內(nèi)部結(jié)構(gòu)與引腳功能中央處理器(CPU)8位的中央處理器內(nèi)部RAM:共有256個(gè)RAM單元,但其中能作為寄存器供用戶使用的僅有前面128個(gè),后128個(gè)被專用寄存器占用;4780C51的內(nèi)部結(jié)構(gòu)80C51有2個(gè)16位的定時(shí)器/計(jì)數(shù)器;80C51共有4個(gè)8位I/O口(P0,P1,P2,P3),可實(shí)現(xiàn)數(shù)據(jù)并行輸入輸出;80C51有1個(gè)全雙工的可編程的串行口,以實(shí)現(xiàn)單片機(jī)與其他設(shè)備之間的串行數(shù)據(jù)傳送;4880C51的內(nèi)部結(jié)構(gòu)中斷系統(tǒng):80C51共有5個(gè)中斷源,其中2個(gè)是外部中斷源和,3個(gè)內(nèi)部中斷源(其中包括2個(gè)定時(shí)/計(jì)數(shù)中斷,1個(gè)串行口中斷);49了解引腳功能

P3.0P3.1P3.3P3.2P3.5P3.4P3.7P3.650了解引腳功能P3.0P3.1P3.3P3.2P3.5P3.4P3.7P3.651了解時(shí)序80C51單片機(jī)通??梢苑譃閱沃芷谥噶?、雙周期指令和四周期指令等三種。其中,單機(jī)器周期指令有64條,雙機(jī)器周期指令有45條,四機(jī)器周期指令只有2條(即乘法和除法指令),沒有三機(jī)器周期指令。525380C51單片機(jī)的復(fù)位單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作,例如復(fù)位后PC=0000H,使單片機(jī)從第一個(gè)單元取指令。5480C51單片機(jī)的存儲(chǔ)器組織MCS-51單片機(jī)在物理結(jié)構(gòu)上有四個(gè)存儲(chǔ)空間:1、片內(nèi)程序存儲(chǔ)器;2、片外程序存儲(chǔ)器;3、片內(nèi)數(shù)據(jù)存儲(chǔ)器;4、片外數(shù)據(jù)存儲(chǔ)器但在邏輯上,即從用戶的角度上,8051單片機(jī)有三個(gè)存儲(chǔ)空間:1、片內(nèi)外統(tǒng)一編址的64K的程序存儲(chǔ)器地址空間(MOVC);2、256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器的地址空間(MOV);3、以及64K片外數(shù)據(jù)存儲(chǔ)器的地址空間(MOVX)。在訪問三個(gè)不同的邏輯空間時(shí),應(yīng)采用不同形式的指令,以產(chǎn)生不同的存儲(chǔ)器空間的選通信號(hào)。55片內(nèi)數(shù)據(jù)存儲(chǔ)器SFRMOVMOVX片外數(shù)據(jù)存儲(chǔ)器(MOVX)56程序存儲(chǔ)器程序存儲(chǔ)器MOVC5780C51單片機(jī)的指令系統(tǒng)在80C51系列的指令系統(tǒng)中,有單字節(jié)、雙字節(jié)和三字節(jié)等不同長(zhǎng)度的指令。單字節(jié)指令:指令只有一個(gè)字節(jié),操作碼和操作數(shù)同在一個(gè)字節(jié)中。在80C51系列

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論