《微型計(jì)算機(jī)原理與匯編語(yǔ)言 第3章-1 80x86微處理器簡(jiǎn)介》由會(huì)員分享,可在線閱讀,更多相關(guān)《微型計(jì)算機(jī)原理與匯編語(yǔ)言 第3章-1 80x86微處理器簡(jiǎn)介(47頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,第,3,章,80 x86,微處理器,教學(xué)內(nèi)容,本章在簡(jiǎn)要介紹,80 x86,系列微處理器的發(fā)展概況及其性,能特性的基礎(chǔ)上,重點(diǎn)介紹,8086/8088 CPU,的內(nèi)部結(jié)構(gòu)、,寄存器結(jié)構(gòu)、引腳功能以及存儲(chǔ)器管理等。具體內(nèi)容如下:,1,、,80 x86,微處理器簡(jiǎn)介,2,、,8086/8088,微處理器,3,、,8086/8088,存儲(chǔ)器和,I/O,組織,學(xué)習(xí)要求,微處理器,(CPU),是構(gòu)成微型計(jì)算機(jī)的核心部件,是全機(jī)的控,制中心,它控制全機(jī)各功能部件協(xié)調(diào)工作,它的性能決定了,整個(gè)微型計(jì)算機(jī)的性能和系統(tǒng)結(jié)構(gòu)。
2、因此,,學(xué)習(xí)和掌握微處,理器的內(nèi)部結(jié)構(gòu)和工作原理是學(xué)習(xí)“微型計(jì)算機(jī)原理”的重要,基礎(chǔ)。,本章具體學(xué)習(xí)要求如下:,1,、掌握,8086/8088CPU,的內(nèi)部結(jié)構(gòu)及工作原理。,2,、掌握,8086/8088CPU,中,14,個(gè)寄存器的分類、作用及有關(guān),寄存器的特定用法。,3,、掌握,8086/8088,存儲(chǔ)器的分段管理方式;掌握邏輯地址、,物理地址的概念以及如何由邏輯地址求物理地址。,4,、了解,8086/8088CPU,的引腳及其功能,。,第,3,章,80 x86,微處理器,3.1 80 x86,微處理器簡(jiǎn)介,3.2 8086/8088,微處理器,3.3 8086/8088,存儲(chǔ)器和,I/O,
3、組織,3.1 80 x86,微處理器簡(jiǎn)介,80 x86,微處理器是美國(guó),Intel,公司生產(chǎn)的系列微處理器。該公司成立于,1968,年,,1971,年就設(shè)計(jì)了,4,位的,4004,芯片,,1974,年開(kāi)發(fā)出,8,位的,8080,芯片,,1978,年正式推出,16,位的,8086,微處理器芯片,由此開(kāi)始了,Intel,公司的,80 x86,系列微處理器的生產(chǎn)歷史。本節(jié)簡(jiǎn)要介紹,Intel,公司,80 x86,系列微處理器的發(fā)展過(guò)程及其特性。,表,3.1,給出了,80 x86,系列微處理器概況。下面通過(guò)對(duì)表中有關(guān)技術(shù)數(shù)據(jù)的分析來(lái)說(shuō)明,Intel 80 x86,系列微處理器的發(fā)展情況。,集成度,CP
4、U,芯片中所包含的晶體管數(shù)。,(,單位,:,萬(wàn),/,片,),主頻,芯片所使用的主時(shí)鐘頻率,它直接影響計(jì)算機(jī)的運(yùn)行速度。,數(shù)據(jù)總線,計(jì)算機(jī)中各個(gè)組成部件間進(jìn)行數(shù)據(jù)傳送時(shí)的公共通道,“,內(nèi)數(shù)據(jù)總線寬度,”是指,CPU,芯片內(nèi)部數(shù)據(jù)傳送的寬度(位數(shù)),“,外數(shù)據(jù)總線寬度,”是指,CPU,與外部交換數(shù)據(jù)時(shí)的數(shù)據(jù)寬度,顯然,數(shù)據(jù)總線位數(shù)越多,數(shù)據(jù)交換的速度就越快。,基本概念,地址總線,在對(duì)存儲(chǔ)器或,I/O,端口進(jìn)行訪問(wèn)時(shí),傳送由,CPU,提供的要訪問(wèn)的存儲(chǔ)單元或,I/O,端口的,地址信息,的總線,其,寬度決定,了處理器能直接訪問(wèn)的,主存容量,大小。,如,8086,有,20,根地址線,使用這,20,根地址
5、線上不同地址信息的組合,可直接對(duì),2,20,=1M,個(gè)存儲(chǔ)單元進(jìn)行訪問(wèn);,Pentium II,有,36,根地址線,因此它可直接尋址的最大地址范圍為,2,36,=64G,。,高速緩沖存儲(chǔ)器,Cache,為了滿足微型計(jì)算機(jī)對(duì)存儲(chǔ)器系統(tǒng),高速度、大容量、低成本,的要求,目前,微型計(jì)算機(jī)系統(tǒng)采用如圖,3.1,所示的三級(jí)存儲(chǔ)器組織結(jié)構(gòu),即由高速緩沖存儲(chǔ)器,Cache,、,主存和外存組成。,高速緩沖存儲(chǔ)器,(,Cache,),微處理器,CPU,主存儲(chǔ)器,(主存),外存儲(chǔ)器,(外存),圖,3.1,存儲(chǔ)器三級(jí)結(jié)構(gòu),主存,當(dāng)前正在執(zhí)行的程序或要使用的數(shù)據(jù)必須從外存調(diào)入主存后才能被,CPU,讀取并執(zhí)行,主存容量
6、通常為,MB,級(jí);,外存,當(dāng)前沒(méi)有使用的程序可存入外存,外存的容量通常很大,可達(dá),GB,甚至,TB,級(jí);,Cache,(,高速緩沖存儲(chǔ)器),最大特點(diǎn)是存取速度快,但容量較小,通常為,KB,級(jí),將當(dāng)前使用頻率較高的程序和數(shù)據(jù)通過(guò)一定的替換機(jī)制從主存放入,Cache,,,CPU,在取指令或讀取操作數(shù)時(shí),同時(shí)對(duì),Cache,和主存進(jìn)行訪問(wèn),如果,Cache,命中,則終止對(duì)主存的訪問(wèn),直接從,Cache,中將指令或數(shù)據(jù)送,CPU,處理,由于,Cache,的速度比主存快得多,因此,Cache,的使用大大提高了,CPU,讀取指令或數(shù)據(jù)的速度。,表,3.1 80 x86,系列微處理器概況,3.2 8086/
7、8088,微處理器,8086,有,16,條數(shù)據(jù)總線,,可以處理,8,位或,16,位數(shù)據(jù)。有,20,條地址總線,,可以直接尋址,1M,(,2,20,),字節(jié)的存儲(chǔ)單元。,在,8086,推出后不久,為方便原,8,位機(jī)用戶,,Intel,公司很快推出了,8088,微處理器,,其指令系統(tǒng)與,8086,完全兼容,,CPU,內(nèi)部,結(jié)構(gòu)仍為,16,位,,但,外部,數(shù)據(jù)總線是,8,位,的,這樣設(shè)計(jì)的目的主要是為了與原有的,8,位外圍接口芯片兼容。,3.2.1,8086/8088,內(nèi)部結(jié)構(gòu),從功能上講,,8086CPU,內(nèi)部結(jié)構(gòu)可分為兩部分:,1,、總線接口單元,BIU(Bus Interface Unit),
8、負(fù)責(zé)完成,CPU,與存儲(chǔ)器或,I/O,設(shè)備之間的數(shù)據(jù)傳送。,2,、執(zhí)行單元,EU(Execution Unit),不與系統(tǒng)外部直接相連,它的功能只是負(fù)責(zé)執(zhí)行指令。,圖,3.2 8086CPU,內(nèi)部結(jié)構(gòu)框圖,AH,AL,BH,BL,CH,CL,DH,DL,通用寄存器,SP,BP,SI,DI,數(shù) 據(jù),寄存器,指針和變址,寄存器,ALU,數(shù)據(jù)總線,(16,位,),暫存寄存器,EU,控制電路,AX,BX,CX,DX,標(biāo)志寄存器,執(zhí)行單元,(EU),總線接口單元,(BIU),1,2,3,4,5,6,指令隊(duì)列緩沖器,內(nèi)部寄存器,IP,ES,SS,DS,CS,ALU,DB(16,位,),AB(20,位,),
9、總線控制,電 路,8086,總線,DB(16,位,),地址,加法器,3.2.1,8086/8088,內(nèi)部結(jié)構(gòu),一總線接口單元,BIU,總線接口單元,BIU,的任務(wù):,讀指令,指令隊(duì)列出現(xiàn)空字節(jié),(8088 1,個(gè)空字節(jié),,8086 2,個(gè)空字節(jié),),時(shí),從內(nèi)存取出后續(xù)指令。,BIU,取指令時(shí),并不影響,EU,的執(zhí)行,兩者并行工作,大大提高了,CPU,的執(zhí)行速度。,讀操作數(shù),EU,需要從內(nèi)存或外設(shè)端口讀取操作數(shù)時(shí),根據(jù),EU,給出的地址從內(nèi)存或外設(shè)端口讀取數(shù)據(jù)供,EU,使用。,寫操作數(shù),EU,的運(yùn)算結(jié)果、數(shù)據(jù)或控制命令等由,BIU,送往指定的內(nèi)存單元或外設(shè)端口。,總線接口單元(,BIU,),的組
10、成,1,、,4,個(gè),16,位段寄存器:,代碼段寄存器,CS(Code Segment),、,數(shù)據(jù)段寄存器,DS(Data Segment),、,堆棧段寄存器,SS(Stack Segment),和附加數(shù)據(jù)段寄存器,ES(Extra Segment),;,2,、,一個(gè),16,位的指令指針寄存器,IP(Instruction Pointer);,3,、,一個(gè),20,位地址加法器;,4,、,6,字節(jié)指令隊(duì)列緩沖器;,5,、,一個(gè)與,EU,通訊的內(nèi)部寄存器以及總線控制電路等,。,1,段寄存器,8086CPU,的地址引腳有,20,根,能提供,20,位的地址信息,可直接對(duì),1M,個(gè)存儲(chǔ)單元進(jìn)行訪問(wèn),但,C
11、PU,內(nèi)部可用來(lái)提供地址信息的寄存器都是,16,位的,那么如何用,16,位寄存器實(shí)現(xiàn),20,位地址的尋址呢?,8086/8088,采用了段結(jié)構(gòu)的內(nèi)存管理的方法。,將指令代碼和數(shù)據(jù)分別存儲(chǔ)在代碼段、數(shù)據(jù)段、堆棧段、附加數(shù)據(jù)段中,,這些段的段地址分別由段寄存器,CS,、,DS,、,SS,、,ES,提供。,代碼段寄存器,CS,存儲(chǔ)程序當(dāng)前使用的代碼段的段地址。代碼段用來(lái)存放程序的指令代碼。下一條要讀取指令在代碼段中的偏移地址由指令指針寄存器,IP,提供;,數(shù)據(jù)段寄存器,DS,用來(lái)存放程序當(dāng)前使用的數(shù)據(jù)段的段地址。一般來(lái)說(shuō),程序中所用到的原始數(shù)據(jù)、中間結(jié)果以及最終結(jié)果都存放在數(shù)據(jù)段中;,堆棧段寄存器,
12、SS,用來(lái)存放程序當(dāng)前所使用的堆棧段的段地址。堆棧是在存儲(chǔ)器中開(kāi)辟的一個(gè)特定區(qū)域;,附加數(shù)據(jù)段寄存器,ES,用來(lái)存放程序當(dāng)前使用的附加數(shù)據(jù)段的段地址。附加數(shù)據(jù)段通常用于存放字符串操作時(shí)的目的字符串。,程序員在編寫匯編語(yǔ)言源程序時(shí),應(yīng)該按照上述規(guī)定將程序的各個(gè)部分放在規(guī)定的段內(nèi)。每個(gè)源程序必須至少有一個(gè)代碼段,而數(shù)據(jù)段、堆棧段和附加數(shù)據(jù)段則根據(jù)程序的需要決定是否設(shè)置。,2,指令指針寄存器,指令指針寄存器,IP,用來(lái)存放,下一條,要讀取的指令在代碼段中的偏移地址。,IP,在程序運(yùn)行中能自動(dòng)加,1,修正,從而使其始終存放的是下一條要讀取的指令在代碼段的偏移地址。,由于,CS,和,IP,的內(nèi)容決定了程
13、序的執(zhí)行順序,因此程序員不能直接用賦值指令對(duì)其內(nèi)容進(jìn)行修改。,有些指令能使,IP,和,CS,的值改變(如跳轉(zhuǎn)指令)或使其值壓入堆?;驈亩褩V袕棾龌謴?fù)原值(如子程序調(diào)用指令和返回指令)。,3,20,位地址加法器,8086/8088CPU,在對(duì)存儲(chǔ)單元進(jìn)行訪問(wèn)以讀取指令或讀,/,寫操作數(shù)時(shí),必須在地址總線上提供,20,位的地址信息,以便選中對(duì)應(yīng)的存儲(chǔ)單元。那么,,CPU,是如何產(chǎn)生,20,位地址的呢?,CPU,提供的用來(lái)對(duì)存儲(chǔ)單元進(jìn)行訪問(wèn)的,20,位地址是由,BIU,中的地址加法器產(chǎn)生的。,存儲(chǔ)器中每個(gè),存儲(chǔ)單元的地址,可有以下,兩種表示方式,:,(1),邏輯地址:,表達(dá)形式為,段地址:段內(nèi)偏移地
14、址,段內(nèi)偏移地址又稱為“有效地址,EA(Effective Address),。,讀指令時(shí),段地址由代碼段寄存器,CS,提供,偏移地址由指令指針寄存器,IP,提供;,讀取或存儲(chǔ)操作數(shù)時(shí),段地址由,DS,、,ES,或,SS,提供,段內(nèi)偏移地址由指令給出。,(2),物理地址,:,CPU,與存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)在地址總線上提供的,20,位地址信息稱為物理地址。,段寄存器內(nèi)容左移四位后(相當(dāng)于乘以,10H,),得到,段基址,(段內(nèi)第一個(gè)存儲(chǔ)單元的物理地址)。,把段內(nèi)偏移地址和段基址同時(shí)送到,BIU,中的地址加法器,形成一個(gè),20,位的物理地址,從而實(shí)現(xiàn)對(duì)存儲(chǔ)單元的訪問(wèn)。,物理地址,=,段地址,10H+
15、,段內(nèi)偏移地址,如假設(shè)當(dāng)前,(CS)=20A8H,,,(IP)=2008H,,,那么,下一條從內(nèi)存中讀取的指令所在存儲(chǔ)單元的物理地址為:,20A8H,10H+2008H=22A88H,。,圖,3.3,物理地址的形成,4.,指令隊(duì)列緩沖器,8086,的指令隊(duì)列有,6,個(gè)字節(jié),,,8088,的指令隊(duì)列有,4,個(gè)字節(jié),。對(duì),8086,而言,當(dāng)指令隊(duì)列出現(xiàn),2,個(gè)空字節(jié),,對(duì),8088,而言,指令隊(duì)列出現(xiàn),1,個(gè)空字節(jié),時(shí),,BIU,就自動(dòng)執(zhí)行一次取指令周期,將下一條要執(zhí)行的指令從內(nèi)存單元讀入指令隊(duì)列。它們采用,“先進(jìn)先出”,原則,按順序存放,并按順序取到,EU,中去執(zhí)行。,指令隊(duì)列的引入使得,EU,
16、和,BIU,可并行,工作,即,BIU,在讀指令時(shí),并不影響,EU,單元執(zhí)行指令,,EU,單元可以連續(xù)不斷地直接從指令隊(duì)列中取到要執(zhí)行的指令代碼,從而減少了,CPU,為取指令而等待的時(shí)間,提高了,CPU,的利用率,加快了整機(jī)的運(yùn)行速度。,二執(zhí)行單元,EU,執(zhí)行單元,EU,不與系統(tǒng)外部直接相連,它的功能只是,負(fù)責(zé)執(zhí)行指令,。,EU,執(zhí)行的指令從,BIU,的指令隊(duì)列緩沖器中直接得到。執(zhí)行指令時(shí)若需要從存儲(chǔ)器或,I/O,端口讀寫操作數(shù)時(shí),由,EU,向,BIU,發(fā)出請(qǐng)求,再由,BIU,對(duì)存儲(chǔ)器或,I/O,端口進(jìn)行訪問(wèn)。,執(zhí)行單元,EU,由下列部件組成:,1.,16,位算術(shù)邏輯單元,(ALU),:,進(jìn)行算術(shù)和邏輯運(yùn)算。,2.,16,位標(biāo)志寄存器,FLAGS,:,存放,CPU,運(yùn)算的狀態(tài)和控制標(biāo)志。,3.,數(shù)據(jù)暫存寄存器:,暫存參加運(yùn)算的數(shù)據(jù),4.,通用寄存器:,包括,4,個(gè),16,位數(shù)據(jù)寄存器,AX,、,BX,、,CX,、,DX,和,4,個(gè),16,位指針與變址寄存器,SP,、,BP,與,SI,、,DI,。,5.,EU,控制電路:,它是控制、定時(shí)與狀態(tài)邏輯電路,接收從,BIU,中指令隊(duì)列取來(lái)的指令,