版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ResearchCenterofInformationandControlEngineering,Xi’anUniversityofTechnology
微型計(jì)算機(jī)概述專業(yè):自動(dòng)化教師:焦尚彬?qū)W生:自動(dòng)化09級(jí)
12.0微型計(jì)算機(jī)的發(fā)展2.1微型計(jì)算機(jī)的基本結(jié)構(gòu)2.28088(8086)CPU結(jié)構(gòu)2.3系統(tǒng)總線的形成第2章微型計(jì)算機(jī)概述
2
2.0微機(jī)發(fā)展計(jì)算機(jī)系統(tǒng)是能夠自動(dòng)地、快速地、準(zhǔn)確地進(jìn)行信息處理的電子工具,其工作過程的實(shí)質(zhì)是電子器件狀態(tài)的快速變化。1946年,世界上出現(xiàn)了第一臺(tái)由電子管構(gòu)成的,能夠按照人們事先的安排,快速完成所要求計(jì)算任務(wù)。
第一講微機(jī)發(fā)展和基本結(jié)構(gòu)3計(jì)算機(jī)發(fā)展的各個(gè)階段是以所采用的電子器件的不同來劃分的,即電子管、晶體管、中小規(guī)模集成電路和大規(guī)模及超大規(guī)模集成電路計(jì)算機(jī)。微型計(jì)算機(jī)屬于第四代電子計(jì)算機(jī)產(chǎn)品,即大規(guī)模及超大規(guī)模集成電路計(jì)算機(jī),是繼承電路技術(shù)不斷發(fā)展,芯片集成度不斷提高的產(chǎn)物。4主機(jī)按體積、性能和價(jià)格分為巨型機(jī)、大型機(jī)、中型機(jī)、小型機(jī)和微型機(jī)五類,從其工作原理上來講,微型機(jī)與其它幾類計(jì)算機(jī)并沒有本質(zhì)上的差別。所不同的是由于采用了集成度較高的器件,使得其在結(jié)構(gòu)上具有獨(dú)特的特點(diǎn),即將組成計(jì)算機(jī)硬件系統(tǒng)的兩大核心部分—運(yùn)算器和控制器,集成在一片集成電路芯片上,顯然該芯片是整個(gè)微機(jī)系統(tǒng)的核心,稱為中央處理器CPU,或者微處理器MPU。5一、微機(jī)的發(fā)展
微機(jī)系統(tǒng)的核心部件為CPU,因此我們主要以CPU的發(fā)展、演變過程為線索,來介紹微機(jī)系統(tǒng)的發(fā)展過程,主要以Intel公司的CPU為主線。6第一代:4位及低檔8位微處理器1971年,Intel公司推出第一片4位微處理器Intel4004,以其為核心組成了一臺(tái)高級(jí)袖珍計(jì)算機(jī)。隨后出現(xiàn)的Intel4040,是第一片通用的4位微處理器。1972年,Intel8008,8位,集成度約2000管/片,時(shí)鐘頻率1MHz。7第二代:中、低檔8位微處理器1973年~1974年,Intel8008、M6800、Rockwell6502,8位,集成度5000管/片,時(shí)鐘頻率2~4MHz。這一時(shí)期,微處理器的設(shè)計(jì)和生產(chǎn)技術(shù)已經(jīng)相當(dāng)成熟,組成微機(jī)系統(tǒng)的其它部件也愈來愈齊全,系統(tǒng)朝著提高集成度、提高功能與速度,減少組成系統(tǒng)所需的芯片數(shù)量的方向發(fā)展。8第三代:高、中檔8位微處理器1975年~1976年,Z80,Intel8085,8位,時(shí)鐘頻率2~4MHz,集成度約10000管/片,還出現(xiàn)了一系列單片機(jī)。9第四代:16及低檔32位微處理器1978年,Intel首次推出16位處理器8086(時(shí)鐘頻率達(dá)到4~8MHz),8086的內(nèi)部和外部數(shù)據(jù)總線都是16位,地址總線為20位,可直接訪問1MB內(nèi)存單元。1979年,Intel又推出8086的姊妹芯片8088(時(shí)鐘頻率達(dá)到4~8MHz),集成度達(dá)到2萬~6萬管/片。它與8086不同的是外部數(shù)據(jù)總線為8位(地址線為20位)。101982年,Intel推出了80286(時(shí)鐘頻率為10MHz),該芯片仍然為16位結(jié)構(gòu),但地址總線擴(kuò)展到24位,可訪問16MB內(nèi)存,其工作頻率也較8086提高了許多。80286向后兼容8086的指令集和工作模式(實(shí)模式),并增加了部分新指令和一種新的工作模式——保護(hù)模式。111985年,Intel又推出了32位處理器80386(時(shí)鐘頻率為20MHZ),該芯片的內(nèi)外部數(shù)據(jù)線及地址總線都是32位,可訪問4GB內(nèi)存,并支持分頁機(jī)制。除了實(shí)模式和保護(hù)模式外,80386又增加了一種“虛擬8086”的工作模式,可以在操作系統(tǒng)控制下模擬多個(gè)8086同時(shí)工作。121989年推出了80486(時(shí)鐘頻率為30~40MHz),集成度達(dá)到15萬~50萬管/片(168個(gè)腳),甚至上百萬管/片,因此被稱為超級(jí)微型機(jī)。早期的80486相當(dāng)于把80386和完成浮點(diǎn)運(yùn)算的數(shù)學(xué)協(xié)處理器80387以及8kB的高速緩存集成到一起,這種片內(nèi)高速緩存稱為一級(jí)(L1)緩存,80486還支持主板上的二級(jí)(L2)緩存。后期推出的80486DX2首次引入了倍頻的概念,有效緩解了外部設(shè)備的制造工藝跟不上CPU主頻發(fā)展速度的矛盾。13第五代:高檔32位微處理器1993年,Intel公司推出了新一代高性能處理器Pentium(奔騰),Pentium最大的改進(jìn)是它擁有超標(biāo)量結(jié)構(gòu)(支持在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行一至多條指令),且一級(jí)緩存的容量增加到了16kB,這些改進(jìn)大大提升了CPU的性能,使得Pentium的速度比80486快數(shù)倍。除此之外,Pentium還具有良好的超頻性能,把一個(gè)低主頻CPU當(dāng)作高主頻CPU來使用,使得花費(fèi)較低的代價(jià)可獲得較高的性能。AMD和Cyrix推出了與Pentium兼容的處理器K5和6x86,但是由于這些產(chǎn)品的浮點(diǎn)性能不如Pentium,超頻性能不強(qiáng),且主頻始終跟在Intel后面跑,因此只獲得了少部分的市場份額。141996年,Intel公司推出了PentiumPro(高能奔騰)。該芯片具有兩大特色:一是片內(nèi)封裝了與CPU同頻運(yùn)行的256kB或512kB二級(jí)緩存;二是支持動(dòng)態(tài)預(yù)測(cè)執(zhí)行,可以打亂程序原有指令順序,按照優(yōu)化順序同時(shí)執(zhí)行多條指令,這兩項(xiàng)改進(jìn)使得PentiumPro的性能又有了質(zhì)的飛躍。151997年初,Intel發(fā)布了Pentium的改進(jìn)型號(hào)——PentiumMMX(多能奔騰),將一級(jí)緩存提高到32kB,同時(shí)增加了57條MMX(多媒體擴(kuò)展)指令,有效地增強(qiáng)了CPU處理音頻、圖像和通信等多媒體應(yīng)用的能力。兼容CPU廠商在這段時(shí)間也相繼推出了多款產(chǎn)品來與PentiumMMX競爭,其中最具代表性的要數(shù)AMD的K6。K6也支持MMX指令集,擁有一級(jí)緩存64kB,整數(shù)運(yùn)算性能相當(dāng)優(yōu)秀,超過了同主頻的PentiumMMX,甚至逼近PⅡ。但K6并沒有解決浮點(diǎn)運(yùn)算性能差的問題,在圖形、圖像、游戲等應(yīng)用中的表現(xiàn)不盡如人意。161997年推出了PⅡ。PⅡ是對(duì)PentiumPro的改進(jìn),因?yàn)槠浜诵慕Y(jié)構(gòu)與PentiumPro類似,但加快了16位指令的執(zhí)行速度,且支持MMX指令集。171998年推出了賽揚(yáng)(Celeron)如PⅢ,其特點(diǎn)是去掉了PⅡ的二級(jí)緩存以及其它可以省略的東西,從而將價(jià)格降了下來。1999年又推出了開發(fā)代號(hào)為Coppermine的PⅢ,該芯片加入了引起爭議的CPU序列號(hào)功能,支持SSE(StreamingSIMDExtensions,單一指令多數(shù)據(jù)流擴(kuò)展)指令集,這是針對(duì)MMX的弱點(diǎn)和3DNow!設(shè)計(jì)的70條新指令,大大加強(qiáng)CPU在三維圖像和浮點(diǎn)運(yùn)算方面的能力。182000年3月底,Intel又推出了566MHz和600MHz的賽揚(yáng)Ⅱ(也叫Coppermine-128kB)。到目前為此,賽揚(yáng)已經(jīng)經(jīng)歷了幾次更新?lián)Q代。第一代為沒有二級(jí)緩存的賽揚(yáng)266和300,第二代為帶128kB二級(jí)緩存的賽揚(yáng)300A、333A、…、533,中間又將Slot1接口改為了Socket370接口(類似于Socket7,有370個(gè)針腳,與Socket7不兼容),第三代為賽揚(yáng)Ⅱ,它們?yōu)镮ntel搶回低端市場立下了汗馬功勞。CPU芯片的發(fā)展趨勢(shì):基因芯片、光電芯片。19二、微型計(jì)算機(jī)的特點(diǎn)微型計(jì)算機(jī)本質(zhì)上與其它計(jì)算機(jī)并無太多的區(qū)別,所不同的是由于廣泛采用了集成度相當(dāng)高的器件和部件,特別是把組成計(jì)算機(jī)系統(tǒng)的兩大核心部件—運(yùn)算器和控制器集成在一起,形成了微型計(jì)算機(jī)系統(tǒng)的中央處理器CPU,因此帶來微型計(jì)算機(jī)系統(tǒng)的下列一系列特點(diǎn):體積小,重量輕價(jià)格低可靠性高,結(jié)構(gòu)靈活應(yīng)用面廣功能強(qiáng),性能優(yōu)越。20
2.1微型計(jì)算機(jī)的基本結(jié)構(gòu)
2.1.1微型計(jì)算機(jī)的組成及各部分的功能
微型計(jì)算機(jī)由硬件系統(tǒng)和軟件系統(tǒng)兩大部分構(gòu)成
1.硬件系統(tǒng)微型計(jì)算機(jī)硬件系統(tǒng)如圖2.1所示。21圖2.1微型計(jì)算機(jī)的硬件結(jié)構(gòu)22微型計(jì)算機(jī)主要由如下幾個(gè)部分組成:
1、微處理器或稱中央處理單元(CPU)2、內(nèi)部存貯器(簡稱內(nèi)存)3、輸入輸出接口(簡稱接口)4、系統(tǒng)總線
23
(1)CPUCPU是一個(gè)復(fù)雜的電子邏輯元件,它包含了早期計(jì)算機(jī)中的運(yùn)算器、控制器及其他功能,能進(jìn)行算術(shù)、邏輯及控制操作。是計(jì)算機(jī)系統(tǒng)的核心部件。24CPU具有以下功能:1.進(jìn)行算術(shù)和邏輯運(yùn)算;2.具有接收存儲(chǔ)器和I/O接口來的數(shù)據(jù)和發(fā)送數(shù)據(jù)給存儲(chǔ)器和I/O接口的能力;3.可以暫存少量數(shù)據(jù);4.能對(duì)指令進(jìn)行寄存、譯碼并執(zhí)行所規(guī)定的操作;5.提供整個(gè)系統(tǒng)所需要的定時(shí)和控制信號(hào);
6.可響應(yīng)I/O設(shè)備的中斷請(qǐng)求。
25
(2)內(nèi)存
所謂內(nèi)存,是指微型計(jì)算機(jī)內(nèi)部的存貯器。它直接連接在系統(tǒng)總線上,用來存放要執(zhí)行的程序和數(shù)據(jù)。數(shù)據(jù)的讀出:CPU從內(nèi)存中取出程序執(zhí)行或取出數(shù)據(jù)加工處理的過程。
數(shù)據(jù)的寫入:CPU將數(shù)據(jù)和程序存放于內(nèi)存的過程。26
地址:存儲(chǔ)器由許多單元組成,8088規(guī)定每個(gè)存儲(chǔ)單元要存8位二進(jìn)制數(shù),為區(qū)分各個(gè)存儲(chǔ)單元,就給每個(gè)存儲(chǔ)單元編上號(hào)碼,存儲(chǔ)單元的號(hào)碼就稱為地址。一般用十六進(jìn)制數(shù)表示。
內(nèi)容:每個(gè)存儲(chǔ)單元中存放的8位二進(jìn)制。注意:地址與內(nèi)容的區(qū)別27(3)系統(tǒng)總線
所有的微型計(jì)算機(jī)都采用總線結(jié)構(gòu)。所謂總線就是用來傳送信息的一組通信線。系統(tǒng)總線將構(gòu)成微型機(jī)的各個(gè)部件連接到一起,實(shí)現(xiàn)了微型機(jī)內(nèi)部各部件間的信息交換(見圖2.1)。稱這種總線為內(nèi)總線。包括地址總線AB(根據(jù)尋址空間大小而不同)、數(shù)據(jù)總線DB、控制總線CB三類。28①地址總線(AddressBus)
地址總線是微型計(jì)算機(jī)用來傳送地址信息的信號(hào)線。地址總線的位數(shù)決定了CPU可以直接尋址的內(nèi)存空間的大小。因?yàn)榈刂房偸菑腃PU發(fā)出的,所以地址總線是單向的、三態(tài)總線。單向指信息只能沿一個(gè)方向傳送,三態(tài)指除了輸出高、低電平狀態(tài)外,還可以處于高阻抗?fàn)顟B(tài)(浮空狀態(tài))。29②數(shù)據(jù)總線(DataBus)
數(shù)據(jù)總線是CPU用來傳送數(shù)據(jù)信息的信號(hào)線(雙向、三態(tài))。數(shù)據(jù)總線是雙向三態(tài)總線,即數(shù)據(jù)既可以從CPU送到其它部件,也可以從其它部件傳送給CPU,數(shù)據(jù)總線的位數(shù)和處理器的位數(shù)相對(duì)應(yīng)。③控制總線(ControlBus)控制總線是用來傳送控制信號(hào)的一組總線。這組信號(hào)線比較復(fù)雜,由它來實(shí)現(xiàn)CPU對(duì)外部功能部件(包括存儲(chǔ)器和I/O接口)的控制及接收外部傳送給CPU的狀態(tài)信號(hào),不同的微處理器采用不同的控制信號(hào)??刂瓶偩€的信號(hào)線,有的為單向,有的為雙向或三態(tài),有的為非三態(tài),取決于具體的信號(hào)線。30
微型機(jī)以CPU為核心,CPU提供的信號(hào)經(jīng)總線形成電路形成系統(tǒng)總線,其他部件“掛接”在系統(tǒng)總線上。
微型機(jī)外部與其他外設(shè)和計(jì)算機(jī)進(jìn)行通信的連接線稱為外總線。31(4)接口
微型計(jì)算機(jī)廣泛地應(yīng)用于各個(gè)部門和領(lǐng)域,所連接的外部設(shè)備是各式各樣的,輸入輸出及控制信號(hào)各不相同,有模擬信號(hào)也有數(shù)字信號(hào),有電平信號(hào)也有電流信號(hào)。為了使計(jì)算機(jī)與外設(shè)能夠聯(lián)系在一起,相互匹配有條不紊地工作,就需要在計(jì)算機(jī)與外設(shè)間接一個(gè)中間部件,使計(jì)算機(jī)正常工作,該部件就叫做輸入輸出接口。為了便于CPU對(duì)接口讀寫,就必須為接口編號(hào),稱作接口地址。8088的接口地址從0000H到FFFFH編址,共64K。322.軟件系統(tǒng)
微型計(jì)算機(jī)要正常工作,必須軟硬件相結(jié)合。微型計(jì)算機(jī)軟件系統(tǒng)包括系統(tǒng)軟件和應(yīng)用軟件兩大類。33(1)系統(tǒng)軟件
系統(tǒng)軟件用來對(duì)構(gòu)成微型計(jì)算機(jī)的各部分硬件,如CPU、內(nèi)存、各種外設(shè)進(jìn)行管理和協(xié)調(diào),使它們有條不紊高效率地工作。同時(shí)為其它程序的開發(fā)、調(diào)試、運(yùn)行提供一個(gè)良好的環(huán)境。它包括操作系統(tǒng)和在操作系統(tǒng)平臺(tái)下運(yùn)行的各種高級(jí)語言、數(shù)據(jù)庫系統(tǒng)、工具軟件及匯編語言等。在操作系統(tǒng)支持下,用戶可以開發(fā)應(yīng)用軟件。34(2)應(yīng)用軟件
應(yīng)用軟件是針對(duì)不同應(yīng)用,實(shí)現(xiàn)用戶要求的功能軟件,例如,Internet網(wǎng)點(diǎn)上的Web頁、各部門的MIS程序、CIMS中的應(yīng)用軟件以及生產(chǎn)過程中的監(jiān)測(cè)控制程序等等。應(yīng)用程序由用戶編寫,根據(jù)微型機(jī)應(yīng)用系統(tǒng)的資源情況來選擇用高級(jí)語言或匯編語言。352.1.2微型計(jì)算機(jī)的工作過程
微型機(jī)為完成某種任務(wù),常將任務(wù)分解成一系列的基本動(dòng)作逐一完成。
CPU進(jìn)行簡單的算術(shù)運(yùn)算或邏輯運(yùn)算,或從存貯器取數(shù),將數(shù)據(jù)存放于存貯器,或由接口取數(shù)或向接口送數(shù),這些都是一些基本動(dòng)作,也稱為CPU的操作。
36
例如用微型計(jì)算機(jī)求解“7+10=?”這樣一個(gè)極為簡單的問題,必須利用指令告訴計(jì)算機(jī)該做的每一個(gè)步驟,先做什么,后做什么。具體步驟就是:
7→ALAL+10→AL
37
其含義就是把7這個(gè)數(shù)送到AL里面,然后將AL中的7和10相加,把要獲得的結(jié)果存放在AL里。把它們變成計(jì)算機(jī)能夠直接識(shí)別并執(zhí)行的程序如下:
1011000000000111第一條指令
0000010000001010第二條指令
11110100第三條指令38
這種用二進(jìn)制編碼表示的、CPU能直接識(shí)別并執(zhí)行的指令稱為機(jī)器語言。顯然它不易記憶、不直觀、易出錯(cuò)。39
利用助記符加上操作數(shù)來表示指令就方便得多了。上面的程序可寫成:
MOVAL,7ADDAL,10HLT
程序中第一條指令將7放在AL中;第二條指令將AL中7加上10并將相加之和放在AL中;第三條指令是停機(jī)指令。當(dāng)順序執(zhí)行完上述指令時(shí),AL中就存放著要求的結(jié)果。
40
第2講8088(8086)CPU
1.2.1概述
目前,16位微處理器有很多產(chǎn)品,如:M68000,Z80,8086/8088,80286等,考慮到IBM-PC機(jī)較普及,重點(diǎn)介紹8088。8086與8088的區(qū)別在于前者為16條數(shù)據(jù)線,后者為8條數(shù)據(jù)線,程序可移植。
8088是8080和8085的改進(jìn)型,像8080和8085一樣,它的指令是以字節(jié)為基礎(chǔ)構(gòu)成的,它的性能的提高,主要依賴于采取了一些特殊措施。41
8088與8080和8085相比性能的提高采取了以下一些特殊措施:
1.建立4字節(jié)的指令預(yù)取隊(duì)列,使取指和執(zhí)行并行進(jìn)行。EU和BIU2.設(shè)立地址段寄存器,擴(kuò)大CPU尋址范圍。
3.在結(jié)構(gòu)上和指令設(shè)置方面支持多微處理器系統(tǒng),提高處理能力。42432.2.28088CPU引線及其功能
8088CPU是一塊具有40條引出線的集成電路芯片,其各引出線的定義如圖2.3所示。為了減少芯片的引線,有許多引線具有雙重定義和功能,采用分時(shí)復(fù)用方式工作,即在不同時(shí)刻,這些引線上的信號(hào)是不相同的。44
用MN//MX引線決定CPU工作模式,等于1時(shí)為最小模式:只有8088CPU,系統(tǒng)總線由CPU的引線形成;等于0時(shí)為最大模式,微型機(jī)除了8088CPU外,還有其它的CPU,如8087;總線由CPU引線和總線控制器8288共同形成。
45
圖2.28088處理器芯片引線圖
46
1.最小模式下的引線
在最小模式下,8088CPU的引線如圖1.3所示(不包括括號(hào)內(nèi)的信號(hào))。它們分別是:
A16~A19/S3~S6:這是4條時(shí)間復(fù)用、三態(tài)輸出的引線。
CPU執(zhí)行指令時(shí),某一時(shí)刻從這4條線上送出地址的高4位;
47
當(dāng)用作S3~S6時(shí),S6始終為低,S5指示狀態(tài)寄存器中的中斷允許標(biāo)志的狀態(tài),在每個(gè)時(shí)鐘周期開始時(shí)被更新;S4和S3用來指示現(xiàn)在正使用的段寄存器。見表2.1。
I/O操作時(shí),僅使用16位地址,故在送地址時(shí),4條線輸出為低;在復(fù)位或DMA操作時(shí),它們處于高阻、浮空或三態(tài)。48
表1.1S4,S3的狀態(tài)編碼
S4
S3所代表段寄存器
0
0數(shù)據(jù)段寄存器
0
1堆棧段寄存器
1
0代碼段寄存器或不使用
1
1附加段寄存器49
A8~A15:它們是三態(tài)輸出引線。在CPU尋址內(nèi)存或接口時(shí),由這些引線送出地址A8~A15。在某種特殊情況下,這些引線也可以處于高阻狀態(tài)。
AD0~AD7:它們是地址、數(shù)據(jù)時(shí)分復(fù)用的輸入輸出信號(hào)線。其信號(hào)是經(jīng)三態(tài)門輸出的。50IO//M:它是CPU的輸出(三態(tài))控制信號(hào),用來區(qū)分當(dāng)前操作是訪問存貯器還是訪問I/O端口。為0時(shí)訪問存儲(chǔ)器,為1時(shí)訪問I/O端口。
/WR:它是CPU的輸出控制信號(hào)(三態(tài))。該引腳輸出為低電平時(shí),表示CPU正處于寫存貯器或?qū)慖/O端口的狀態(tài)。
51
DT//R:該引腳是CPU的輸出控制信號(hào)(三態(tài)),用于確定數(shù)據(jù)傳送的方向。高電平為發(fā)送;低電平為接收。/DEN:這是CPU經(jīng)三態(tài)門輸出的控制信號(hào)。判斷數(shù)據(jù)總線上是否有有效數(shù)據(jù)。
ALE:三態(tài)輸出控制信號(hào),高電平有效。地址鎖存信號(hào)。/RD:它是讀選通輸出信號(hào)(三態(tài)),低電平有效。52
READY:它是準(zhǔn)備就緒輸入信號(hào),高電平有效。
INTR:它是可屏蔽中斷請(qǐng)求輸入信號(hào),高電平有效。/TEST:它是可用WAIT指令對(duì)該引腳進(jìn)行測(cè)試的輸入信號(hào),低電平有效。
NMI:它是非屏蔽中斷輸入信號(hào),邊沿觸發(fā),正跳變有效。
53
RESET:它是CPU的復(fù)位輸入信號(hào),高電平有效。表1.2/INTA:它是CPU輸出的中斷響應(yīng)信號(hào),是CPU對(duì)外部輸入的INTR中斷請(qǐng)求信號(hào)的響應(yīng),送出2個(gè)負(fù)脈沖。
HOLD:它是高電平有效的輸入信號(hào),用于向CPU提出保持請(qǐng)求。
HLDA:它是CPU對(duì)HOLD請(qǐng)求的響應(yīng)信號(hào),高電平有效。54/SSO:是一條狀態(tài)輸出線。它與IO//M和DT//R信號(hào)一起決定最小模式下現(xiàn)行總線周期的狀態(tài)。見表1.4。
CLK:這個(gè)是時(shí)鐘信號(hào)輸入端。標(biāo)準(zhǔn)為5MHz。
VCC:它是5V電源輸入引腳。
GND:它是接地端。55
表1.2復(fù)位后的內(nèi)部寄存器狀態(tài)
56
表1.3復(fù)位后各引腳的狀態(tài)
57表1.4
IO//M,DT//R,/SSO
狀態(tài)編碼
582.最大模式下的引線
當(dāng)MN//MX加上低電平時(shí),8088CPU工作在最大模式之下。此時(shí),除引線24到31、34之外,其他引線與最小模式完全相同。/S2/S1/S0:這是最大模式下由8088CPU經(jīng)三態(tài)門輸出的狀態(tài)信號(hào)。見表2.5,與8288共同作用。
59/RQ//GT0,/RQ//GT1:它們是總線請(qǐng)求允許引腳。
/LOCK:它是一個(gè)總線封鎖信號(hào),低電平有效。
QS1、QS0:它是CPU輸出的隊(duì)列狀態(tài)信號(hào)。見表1.6
HIGH:在最大模式時(shí)始終為高電平輸出。60表1.5/S0~/S2的狀態(tài)編碼
61表1.6QS1,QS0的狀態(tài)編碼
622.2.38088CPU的內(nèi)部結(jié)構(gòu)
1.8088CPU的內(nèi)部結(jié)構(gòu)
8088微處理器內(nèi)部分為兩個(gè)部分:執(zhí)行單元(EU,ExecutionUnit
)和總線接口單元(BIU,BusInterfaceUnit),如圖1.3所示。63圖2.38088微處理器的內(nèi)部結(jié)構(gòu)
64EU單元功能:負(fù)責(zé)指令的執(zhí)行。組成:包括①ALU(算術(shù)邏輯單元)、②通用寄存器組、③標(biāo)志寄存器等,主要進(jìn)行8位及16位的各種運(yùn)算。
BIU單元功能:負(fù)責(zé)與存儲(chǔ)器及I/O接口之間的數(shù)據(jù)傳送操作。具體來看,完成取指令送指令隊(duì)列,配合執(zhí)行部件的動(dòng)作,從內(nèi)存單元或I/O端口取操作數(shù),或者將操作結(jié)果送內(nèi)存單元或者I/O端口。組成:它由①段寄存器(DS、CS、ES、SS)、②16位指令指針寄存器IP(指向下一條要取出的指令代碼)、③20位地址加法器(用來產(chǎn)生20位地址)、④4字節(jié)(8086為6字節(jié))指令隊(duì)列緩沖器組成。
65BIU與EU的動(dòng)作協(xié)調(diào)原則:①每當(dāng)8088的指令隊(duì)列中有一個(gè)空字節(jié)時(shí),BIU就會(huì)自動(dòng)把指令取到指令隊(duì)列中。取指的順序是按指令在程序中出現(xiàn)的前后順序。②每當(dāng)EU準(zhǔn)備執(zhí)行一條指令時(shí),它會(huì)從BIU部件的指令隊(duì)列前部取出指令的代碼,然后用幾個(gè)時(shí)鐘周期去執(zhí)行指令。在執(zhí)行指令的過程中,如果必須訪問存儲(chǔ)器或者I/O端口,那么EU就會(huì)請(qǐng)求BIU,進(jìn)入總線周期,完成訪問內(nèi)存或者I/O端口的操作;如果此時(shí)BIU正好處于空閑狀態(tài),會(huì)立即響應(yīng)EU的總線請(qǐng)求。如BIU正將某個(gè)指令字節(jié)取到指令隊(duì)列中,則BIU將首先完成這個(gè)取指令的總線周期,然后再去響應(yīng)EU發(fā)出的訪問總線的請(qǐng)求。66③當(dāng)指令隊(duì)列已滿,且EU又沒有總線訪問請(qǐng)求時(shí),BIU便進(jìn)入空閑狀態(tài)。④在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時(shí),由于待執(zhí)行指令的順序發(fā)生了變化,則指令隊(duì)列中已經(jīng)裝入的字節(jié)被自動(dòng)消除,BIU會(huì)接著往指令隊(duì)列裝入轉(zhuǎn)向的另一程序段中的指令代碼。672.8088處理器中的內(nèi)部寄存器在8088/8086處理器中可供編程使用的有14個(gè)16位寄存器,按其用途可分為:通用寄存器、段寄存器、指針和標(biāo)志寄存器。其結(jié)構(gòu)如圖2.4所示。68圖2.48088CPU的內(nèi)部寄存器69
(1)數(shù)據(jù)寄存器:AX,BX,CX,DX
AX稱為累加器,BX稱為基址寄存器,CX稱為計(jì)數(shù)寄存器,DX稱為數(shù)據(jù)寄存器。
70表2.7內(nèi)部數(shù)據(jù)寄存器的主要用途71(2)指針寄存器:SP,BP
SP是堆棧指針寄存器,由它和堆棧段寄存器SS一起來確定堆棧在內(nèi)存中的位置;BP是基數(shù)指針寄存器,通常用于存放基地址。
(3)變址寄存器:SI,DI
SI是源變址寄存器,DI是目的變址寄存器,都用于指令的變址尋址方式。
72(4)控制寄存器:IP,PSWIP是指令指針寄存器,用來控制CPU的指令執(zhí)行順序,它和代碼段寄存器CS一起可以確定當(dāng)前所要取的指令的內(nèi)存地址。順序執(zhí)行程序時(shí),CPU每取一個(gè)指令字節(jié),IP自動(dòng)加1,指向下一個(gè)要讀取的字節(jié);當(dāng)IP單獨(dú)改變時(shí),會(huì)發(fā)生段內(nèi)的程序轉(zhuǎn)移;當(dāng)CS和IP同時(shí)改變時(shí),會(huì)產(chǎn)生段間的程序轉(zhuǎn)移。73圖1.5狀態(tài)寄存器標(biāo)志寄存器的內(nèi)容被稱為處理器狀態(tài)字PSW,用來存放8086/8088CPU在工作過程中的狀態(tài)。
74①狀態(tài)標(biāo)志:6個(gè)CF—進(jìn)位標(biāo)志位,做加法時(shí)最高位出現(xiàn)進(jìn)位或做減法時(shí)最高位出現(xiàn)借位,該位置1,反之為0。PF—奇偶標(biāo)志位,當(dāng)運(yùn)算結(jié)果的低8位中l(wèi)的個(gè)數(shù)為偶數(shù)時(shí),則該位置1,反之為0。AF—半進(jìn)位標(biāo)志位,做字節(jié)加法時(shí),當(dāng)?shù)退奈挥邢蚋咚奈坏倪M(jìn)位,或在做減法時(shí),低四位有向高四位的借位時(shí),該標(biāo)志位就置1。通常用于對(duì)BCD算術(shù)運(yùn)算結(jié)果的調(diào)整。(例:11011000+10101110=110000110其中AF=1,CF=1)75ZF—零標(biāo)志位,運(yùn)算結(jié)果為0時(shí),該標(biāo)志位置1,否則清0。SF—符號(hào)標(biāo)志位,當(dāng)運(yùn)算結(jié)果的最高位為1,該標(biāo)志位置1,否則清0。即與運(yùn)算結(jié)果的最高位相同。76OF—溢出標(biāo)志位,OF溢出的判斷方法如下:加法運(yùn)算:若兩個(gè)加數(shù)的最高位為0,而和的最高位為1,則產(chǎn)生上溢出;若兩個(gè)加數(shù)的最高位為1,而和的最高位為0,則產(chǎn)生下溢出;兩個(gè)加數(shù)的最高位不相同時(shí),不可能產(chǎn)生溢出。減法運(yùn)算:若被減數(shù)的最高位為0,減數(shù)的最高位為1,而差的最高位為1,則產(chǎn)生上溢出;若被減數(shù)的最高位為1,減數(shù)的最高位為0,而差的最高位為0,則產(chǎn)生下溢出;被減數(shù)及減數(shù)的最高位相同時(shí),不可能產(chǎn)生溢出。77如果所進(jìn)行的運(yùn)算是帶符號(hào)數(shù)的運(yùn)算,則溢出標(biāo)志恰好能夠反映運(yùn)算結(jié)果是否超出了8位或16位帶符號(hào)數(shù)所能表達(dá)的范圍,即字節(jié)運(yùn)算大于十127或小于-128時(shí),字運(yùn)算大于十32767或小于-32768時(shí),該位置1,反之為0。舉例:CF=0、AF=1、PF=1、ZF=0、SF=1、OF=1(兩正數(shù)相加結(jié)果為負(fù))
78舉例:78H+25H=D2H;1FH+25H=44H78H011110001FH00011111+5AH01011010+25H00100101
D2H1101001044H01000100AF,PF,CF,ZF,SF,OF79②控制標(biāo)志:3個(gè)TF—陷阱標(biāo)志位(單步標(biāo)志位、跟蹤標(biāo)志)。當(dāng)該位置1時(shí),將使8086/8088進(jìn)入單步工作方式,通常用于程序的調(diào)試。IF—中斷允許標(biāo)志位,若該位置1,則處理器可以響應(yīng)可屏蔽中斷,否則就不能響應(yīng)可屏蔽中斷。DF—方向標(biāo)志位,若該位置1,則串操作指令的地址修改為自動(dòng)減量方向,反之,為自動(dòng)增量方向。80
(5)段寄存器:CS,DS,SS,ES
4個(gè)16位段寄存器,即代碼段寄存器CS、數(shù)據(jù)段寄存器DS、堆棧段寄存器SS和附加段寄存器ES。這些段寄存器的內(nèi)容與有效的地址偏移量一起,可確定內(nèi)存的物理地址。通常CS劃定并控制程序區(qū),DS和ES控制數(shù)據(jù)區(qū),SS控制堆棧區(qū)
811.2.4存貯器尋址
1.由段寄存器、段偏移地址確定物理地址如圖1.7所示,20位的物理地址是這樣產(chǎn)生的:
物理地址=段寄存器的內(nèi)容×16+偏移地址822.2.58088/8086的存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器以字節(jié)為單位存儲(chǔ)信息
每個(gè)存儲(chǔ)器單元(字節(jié)單元)都有一個(gè)地址
如:[00002H]=34H
字或雙字信息在存儲(chǔ)器中占相鄰的2個(gè)或4個(gè)存儲(chǔ)單元,按“小端方式”存儲(chǔ),即“低字節(jié)對(duì)低地址、高字節(jié)對(duì)高地址”。83存貯器尋址
1.存儲(chǔ)容量8088/8086有20根地址總線,因此,它可以直接尋址的存儲(chǔ)器單元數(shù)為220=1Mbyte。2.物理地址
8088/8086可直接尋址1Mbyte的存儲(chǔ)空間,其地址區(qū)域?yàn)?0000H—FFFFFH,與存儲(chǔ)單元一一對(duì)應(yīng)的20位地址,我們稱之為存儲(chǔ)單元的物理地址。84存儲(chǔ)器的分段管理8088/8086CPU將1MB存儲(chǔ)器空間分成邏輯段來管理。每個(gè)段最大限制為64KB。采用邏輯地址(段地址:偏移地址)的形式來表達(dá)每個(gè)存儲(chǔ)器單元的物理地址。段地址說明邏輯段在主存中的起始位置,采用16位二進(jìn)制數(shù)據(jù)表示,保存在16位的段寄存器(CS,DS,ES,SS)中。偏移地址說明主存單元距離段起始位置的偏移量,也采用16位二進(jìn)制數(shù)據(jù)表示。根據(jù)指令的不同,它可以來自于CPU中不同的16位寄存器(IP、SP、BP、SI、DI、BX等)。
物理地址=段地址×10H+偏移地址物理地址是唯一的,邏輯地址不是唯一的。85
圖2.7物理地址的形成86
表2.2中已經(jīng)表明,復(fù)位時(shí)CS的內(nèi)容為FFFFH,IP的內(nèi)容為0000H。復(fù)位后的啟動(dòng)地址由CS段寄存器和IP的內(nèi)容(作為偏移量)共同決定,即:啟動(dòng)地址=CS×16+IP=FFFF0H+0000H==FFFF0H;87
例1:有一塊120個(gè)字的存儲(chǔ)區(qū)域,其起始地址為625A:234D,寫出這個(gè)存儲(chǔ)區(qū)域首末單元的物理地址。88解:存儲(chǔ)區(qū)域的字節(jié)數(shù)為2x120=240=0F0H
首地址為
625AHx10H+234DH=648EDH
末地址為648EDH+0F0H-1=649DCH
或者625AHx10H+(234DH+0F0H)-1=625A0H+243DH-1=649DCH89段寄存器和偏移地址寄存器的組合
CS0000
IP代碼段
DS或ES
0000
SI、DI或BX
SS0000
SP或BP數(shù)據(jù)段堆棧段90
段寄存器的設(shè)立不僅使8088的存貯空間擴(kuò)大到1MB,而且為信息按特征分段存貯帶來了方便。在存貯器中,信息按特征可分為程序代碼、數(shù)據(jù)、微處理器狀態(tài)等。91表2.8段寄存器使用時(shí)的一些基本約定92對(duì)表2.8中的內(nèi)容做簡要說明:
①在各種類型的存貯器訪問中,其段地址要么由“默認(rèn)”的段寄存器提供,要么由“指定”的段寄存器提供。②段寄存器DS、ES和SS的內(nèi)容是用傳送指令送入的,但任何傳送指令不能向段寄存器CS送數(shù)。③表中“段內(nèi)偏移地址”一欄指明,除了有兩種類型訪問存貯器是“依尋址方式求得有效地址”外,其它都指明使用一個(gè)16位的指針寄存器或變址寄存器。
93思考題:
1.8086/8088CPU由哪兩部分組成?它們的主要功能各是什么?它們之間是如何協(xié)調(diào)工作的?
2.8086/8088CPU中有哪些寄存器?各有什么用途?標(biāo)志寄存器F有哪些標(biāo)志位?各在什么情況下置位?
3.8086/8088系統(tǒng)中儲(chǔ)存器的邏輯地址和物理地址之間有什么關(guān)系?表示的范圍各為多少?
4.已知當(dāng)前數(shù)據(jù)段位于儲(chǔ)存器的A1000H到B0FFFH范圍內(nèi),問DS=?
5.某程序數(shù)據(jù)段中存有兩個(gè)數(shù)據(jù)字1234H和5A6BH,若已知DS=5AA0H,它們的偏移地址分別為245AH和3245H,試畫出它們?cè)趦?chǔ)存器中的存放情況。
942.2.68088CPU的工作時(shí)序1、幾個(gè)概念1)指令周期:CPU完整地執(zhí)行一條指令所花的時(shí)間。(不含CPU從內(nèi)存中取指的時(shí)間)不同指令時(shí)間可能不同。2)總線周期:8088CPU通過其系統(tǒng)總線對(duì)內(nèi)存或接口進(jìn)行訪問所需的時(shí)間。即將一個(gè)字節(jié)寫入內(nèi)存一個(gè)單元(或接口),或者從內(nèi)存某單元(或某接口)讀一個(gè)字節(jié)到CPU,這種讀(或)寫的過程稱為一個(gè)總線周期。至少包含4個(gè)時(shí)鐘周期T1,T2,T3和T4。3)時(shí)鐘周期:與連接在8088CLK引腳的時(shí)鐘頻率有關(guān),為頻率的倒數(shù)。95圖2.98088的讀總線周期
96圖2.108088的寫總線周期97
圖2.11中斷響應(yīng)周期98
第3講系統(tǒng)總線的形成
2.3.1幾種常用的芯片1.帶有三態(tài)輸出的鎖存器
在形成8088(86)系統(tǒng)總線時(shí),常用到具有三態(tài)輸出的信號(hào)鎖存器8282和8283。除前者是正相輸出而后者是反相輸出外,8282和8283的其他性能完全一樣。其引線如圖2.12所示。8228與74LS373類似。
99圖2.12具有三態(tài)輸出的鎖存器1002.單向三態(tài)門驅(qū)動(dòng)器
將數(shù)個(gè)三態(tài)門集成在一塊芯片中構(gòu)成單向三態(tài)門驅(qū)動(dòng)器,其種類非常多。其中74系列的244就是經(jīng)常使用的一種三態(tài)門驅(qū)動(dòng)器。其引線如圖2.13所示。從圖2.13可以看到,兩個(gè)控制端分別控制4個(gè)三態(tài)門。當(dāng)其控制端加上低電平時(shí),相應(yīng)的4個(gè)三態(tài)門導(dǎo)通;加高電平時(shí),三態(tài)門呈高阻狀態(tài)。101圖2.13單向三態(tài)門74LS244102
3.雙向三態(tài)門驅(qū)動(dòng)器對(duì)于數(shù)據(jù)總線,可采用雙向驅(qū)動(dòng)器。在構(gòu)成系統(tǒng)總線時(shí),常用8286和8287。兩者除8286是正相的,8287是反相的外,其他的完全相同。8286的框圖如圖2.14所示。
103圖2.14雙向三態(tài)門驅(qū)動(dòng)器
1041.3.2最小模式下的系統(tǒng)總線形成
最小模式下,系統(tǒng)總線形成如圖2.15所示。這里說明兩點(diǎn):①系統(tǒng)總線的控制信號(hào)是8088CPU直接產(chǎn)生的。若8088CPU驅(qū)動(dòng)能力不夠,可以加上74LS244進(jìn)行驅(qū)動(dòng)。②現(xiàn)在形成的系統(tǒng)總線上不能進(jìn)行DMA傳送,因?yàn)槲磳?duì)系統(tǒng)總線形成器件(8282、8286)做進(jìn)一步控制。若需要時(shí),可參閱本書第4章的內(nèi)容,當(dāng)然也可以考慮用HLDA來參與控制。105圖2.158088最小模
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度職工住房借款與社區(qū)養(yǎng)老配套服務(wù)協(xié)議3篇
- 二零二五年度吊裝工程安全評(píng)估與監(jiān)督管理合同2篇
- 2025年辦公家具回收利用與環(huán)保處理合同3篇
- 極簡市場營銷(杰瑞20231224)
- 二零二五年度花椒采摘與旅游融合發(fā)展合同3篇
- 2024年陽泉煤業(yè)(集團(tuán))有限責(zé)任公司總醫(yī)院三礦醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年河南水利與環(huán)境職業(yè)學(xué)院高職單招數(shù)學(xué)歷年參考題庫含答案解析
- 2024年河北機(jī)電職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫含答案解析
- 二零二五年度美食街?jǐn)偽蛔赓U及廣告投放合同3篇
- 2024年江蘇財(cái)經(jīng)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫含答案解析
- GB/T 44823-2024綠色礦山評(píng)價(jià)通則
- 采購合同采購合同采購合同
- 云南省律師服務(wù)收費(fèi)管理辦法及標(biāo)準(zhǔn)
- 華為C語言通用編程規(guī)范
- 搞笑詩朗誦《生活》4人
- 團(tuán)建活動(dòng)滿意度調(diào)查問卷
- 數(shù)獨(dú)題目難度系數(shù)3級(jí)共100題后附參考答案
- 漂亮的可編輯顏色魚骨圖PPT模板
- 齊魯醫(yī)學(xué)數(shù)字疼痛評(píng)分表
- GB∕T 7588.1-2020 電梯制造與安裝安全規(guī)范 第1部分:乘客電梯和載貨電梯
- 植物種植施工方案與技術(shù)措施
評(píng)論
0/150
提交評(píng)論