版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
微型計算機系統(tǒng)概述概述
計算機中數(shù)的表示和編碼
微型計算機系統(tǒng)
1946年,美國賓西法尼亞大學研制成功電子數(shù)字計算機ENIAC(
ElectronicNumegricalIntergratorAndCalculator
)。第一代電子管時代(1946-1958)
耗電高,體積大,定點計算,機器語言,匯編語言第二代晶體管時代(1958-1965)
變集中處理為分級處理,浮點運算、高級語言第三代中小規(guī)模集成電路時代(1965-1970)
存儲容量大,運算速度快,幾十至幾百萬次/秒第四代大規(guī)模、超大規(guī)模集成電路時代(1971至今)
向大型機和微型機兩個方向發(fā)展現(xiàn)代計算機發(fā)展方向巨型化,微型化,網(wǎng)絡化,智能化,多媒體化1.1概述
微型計算機經(jīng)歷了4位機、8位機、16位機至高性能的32位機,64位機正在廣泛應用。
應用領域科學和工程計算密碼破譯,天氣預報,地質勘探,衛(wèi)星軌道計算工業(yè)控制機器人以及各種自動化裝備,溫度調節(jié),閥門控制輔助設計/分析/制造/教學機械CAD,建筑CAD,CAE,CAM,CAI數(shù)據(jù)處理數(shù)據(jù)庫管理,企業(yè)信息管理,統(tǒng)計匯總、辦公自動化智能模擬人工智能、專家系統(tǒng)、自學習1.2
計算機中數(shù)的表示和編碼
1.2.1
計算機中常用的數(shù)制及其轉換一.進位計數(shù)制的表示方法十進制ND十個數(shù)碼:0~9,逢十進一。 例1234.5=1×103+2×102+3×101+4×100+5×10-1加權展開式以10為基數(shù),各位系數(shù)為0~9。 一般表達式:n:整數(shù)位數(shù),m:小數(shù)位數(shù),ai:取值范圍0-9
二進制NB兩個數(shù)碼:0、1,逢二進一。 例1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3
加權展開式以2為基數(shù),各位系數(shù)為0、1。 一般表達式:
1.2.1
計算機中的進位計數(shù)制八進制No八個數(shù)碼:0、1、2、3、4、5、6、7逢八進一。例1101.101=1×83+1×82+0×81+1×80+1×8-1+1×8-3
加權展開式以8為基數(shù),各位系數(shù)為0~7。一般表達式:1.2.1
計算機中的進位計數(shù)制
十六進制NH十六個數(shù)碼0~9、A~F,逢十六進一。 例:DFC.8=13×162+15×161+12×160+8×16-1
展開式以十六為基數(shù),各位系數(shù)為0~9,A~F。 一般表達式:
1.2.1
計算機中的進位計數(shù)制問題?2,8,10,16進制的英語?1.2.1
計算機中的進位計數(shù)制小節(jié)每一計數(shù)制有一確定的基數(shù)R,系數(shù)ai有R種可能的取值“逢R進一”小數(shù)點右移一位相當于乘R;反之相當于除以R二.進位計數(shù)制之間的轉換R進制數(shù)轉換為十進制數(shù):按權展開,求和
例:1011.1010B=1×23+1×21+1×20+1×2-1+1×2-3=11.625DFC.8H=13×162+15×161+12×160+8×16-1=3580.5十進制數(shù)轉換為R進制數(shù):整數(shù)和小數(shù)部分分別進行轉換
1、整數(shù)部分
“除R取余”:十進制整數(shù)不斷除以轉換進制基數(shù),直至商為0。每除一次取一個余數(shù),從低位排向高位。二.進位計數(shù)制之間的轉換例:39轉換成二進制數(shù)
39=100111B 2 392191(b0)
291(b1) 241(b2)
220(b3)
210(b4)
01(b5
)二.進位計數(shù)制之間的轉換2、小數(shù)部分
“乘R取整”:用轉換進制的基數(shù)乘以小數(shù)部分,直至小數(shù)為0或達到轉換精度要求的位數(shù)。每乘一次取一次整數(shù),從最高位排到最低位。例:1、0.625轉換成二進制數(shù)
0.625 ×2 1.2501(b-1) × 2 0.500(b-2) × 2 1.0 1(b-3)0.625=0.101B二.進位計數(shù)制之間的轉換二進制與八進制、十六進制之間的轉換
八進制二進制:一位八進制數(shù)用三位二進制數(shù)表示。十六進制二進制:一位十六進制數(shù)用四位二進制數(shù)表示。二進制八進制:從小數(shù)點開始,分別向左右兩邊把三位二進制數(shù)碼劃為一組,最左和最右一組不足三位用0補充,然后每組用一個八進制數(shù)碼代替。二進制十六進制:與八進制類似,但是四位分為一組。1.2.2帶符號數(shù)的表示無符號數(shù)和帶符號數(shù)
無符號數(shù):機器的全部有效位均用來表示數(shù)的大小,如
N=01001表示無符號數(shù)9
帶符號數(shù):機器中,最高位作符號位(數(shù)的符號用“0”、“1”
表示),其余位為數(shù)值位。機器數(shù)與真值機器數(shù):機器中數(shù)的表示形式,如原碼、反碼、補碼。真值:機器數(shù)所代表的實際數(shù)值例:一個8位機器數(shù)與它的真值對應關系:
真值:X1=+84=+1010100BX2=-84=-1010100B
機器數(shù):[X1]機=01010100[X2]機=110101001.2.2帶符號數(shù)的表示原碼
最高位為符號位,0表示正數(shù),1表示負數(shù)。 數(shù)值位與真值數(shù)值位相同。 例:真值:x1=+1010100B x2=-1010100B
機器數(shù):[x1]原=01010100 [x2]原=11010100
特點:
1、表示簡單、直觀。
2、0的表示不唯一,即真值0有兩種不同的表示形式,+0或
-0。[+0]原=0.00…0[-0]原=1.00…03、加減運算復雜。
正數(shù)的反碼與其原碼相同。 負數(shù)反碼符號位為1,數(shù)值位為原碼數(shù)值各位取反。 例:8位反碼機器數(shù) x=+4:[x]原=00000100 [x]反=00000100 x=-4:[x]原=10000100[x]反=11111011x=+0:[x]原=00000000[x]反=00000000 x=-0:[x]原=10000000[x]反=11111111x=+127:[x]原=01111111 [x]反=01111111 x=-127:[x]原=11111111[x]反=100000001.2.2帶符號數(shù)的表示反碼1.2.2帶符號數(shù)的表示補碼數(shù)的補碼與“?!庇嘘P
“?!?計數(shù)系統(tǒng)的量程
[X]補=M+X(modM)當X≥0,M丟掉,[X]補=X
當X<0,[X]補=M+X=M-|X|。
正數(shù)的補碼與原碼相同;負數(shù)的補碼為其反碼加1。
例:8位二進制數(shù)的模為:28=256
當X<0,[X]補=28-|X|
=256-|X|=255-|X|+1 =[X]反碼
+1
1.2.2帶符號數(shù)的表示1.2.2帶符號數(shù)的表示
例:8位補碼機器數(shù)
x=+4 [x]原=[x]反=[x]補=00000100 x=-4 [x]原=10000100 [x]反=11111011,[x]補=11111100
優(yōu)點:1、0的表示唯一。
2、加減運算方便。即負數(shù)用補碼表示時,可以把減法轉化為加法。
3、8位二進制補碼表示的整數(shù)范圍為+127-128;16位二進制補碼表示的整數(shù)范圍為-32768~+32767;若機器字長為n,則補碼表示的整數(shù)范圍為-2n-1~+(2n-1-1)。
4、由補碼求真值:當為負數(shù)時,即最高位為1,其絕對值所對應的二進制數(shù)應為各數(shù)值位“按位求反加1”的和。
1.2.2帶符號數(shù)的表示補碼運算:
補碼加法:[A+B]補=
[A]補+[B]補(mod2)
即兩數(shù)和的補碼等于兩數(shù)補碼的和。也就是,在進行補碼加法時,可以不必考慮加數(shù)的正負,直接進行加法即可。從而簡化了計算機內(nèi)部的操作。
注:在模2的意義下相加,即超過2的進位要丟掉。1.2.2帶符號數(shù)的表示例:
1、計算(-70+55)
解:[-70]原=11000110[-70]補=10111010[55]原=00110111[55]補=00110111[-70]補+[55]補=10111010+00110111=11110001
因符號位為“1”,所以對補碼相加結果11110001的數(shù)值部分“求反加1”得:-15
所以:-70+55=-151.2.2帶符號數(shù)的表示2、計算[-70+(-55)]解:[-70]原=11000110[-70]補=10111010[-55]原=10110111[-55]補=11001001[-70]補+[-55]補
=10111010+11001001=1(10000011)
因符號位為“1”,所以對補碼相加結果10000011的數(shù)值部分“求反加1”得:-125
所以:-70+(-55)=-1251.2.2帶符號數(shù)的表示
注:
1、補碼運算步驟
1)將參加運算的操作數(shù)用補碼表示。
2)進行加法得到兩數(shù)和的補碼(符號位作為數(shù)的一部分參加運算)
3)判斷是否溢出
若沒有溢出,則可進一步求和的真值:和為正數(shù)可直接求出,和為負數(shù),則再次“求反加1”,得到真值。1.2.2帶符號數(shù)的表示2、溢出的判斷:溢出:帶符號數(shù)運算的結果超出計算機可以表示的范圍,就是溢出。
8位整數(shù)范圍:(+127,-128)兩個同符號數(shù)相加有可能產(chǎn)生溢出;兩個負數(shù)補碼相加后得到正數(shù)的補碼,或兩個正數(shù)的補碼相加后到負數(shù)的補碼,都是產(chǎn)生了溢出。1.2.2帶符號數(shù)的表示例:計算[+65]補+
[+96]補解:[+65]補+
[+96]補=01000001+01100000
=0
10100001
而10100001=
[-95]補
可以看出,兩個正數(shù)的補碼相加后得到負數(shù)的補碼,顯然出錯了。因為161〉127,所以稱為正向溢出1.2.2帶符號數(shù)的表示例:計算(-70)補+(-60)補解:(-70)補+(-60)補
=10111010+11000100=101111110
兩個負數(shù)之和卻產(chǎn)生了正的結果,同樣是因為產(chǎn)生了溢出。因是超出了負的最大范圍,所以是負向溢出1.2.2帶符號數(shù)的表示3、溢出的解決:擴大數(shù)的表示范圍可以防止溢出。數(shù)的擴展不能改變數(shù)的大小,只能改變數(shù)的位數(shù)。
正數(shù)擴展:高位全部加0;負數(shù)擴展:高位全部加1。如:-70
(10111010)補
(1111111110111010)補
1.2.2帶符號數(shù)的表示純小數(shù)時的情況
1、8位二進制數(shù)補碼范圍:+127/128--1
小數(shù)形式:0.1111111-1.00000002、轉換方法:與整數(shù)相同1.2.2帶符號數(shù)的表示移碼
定義:[x]
移=2n-1+x[x]
移機器數(shù),x為真值表示:符號位與補碼相反,其它位與補碼相同。
1.2.4計算機中常用的編碼BCD碼(BinaryCodedDecimal)
二進制代碼表示的十進制數(shù)。
8421BCD碼例:求十進制數(shù)876的BCD碼
[876]BCD=100001110110 876=36CH=1101101100B
1.2.4計算機中常用的編碼符號信息的編碼:P11表1-2-2
美國標準信息交換碼ASCII碼,用于計算機與計算機、計算機與外設之間傳遞信息。漢字的編碼
第3節(jié)微型計算機系統(tǒng)
1.3.1微處理器微處理器
中央處理器:運算器和控制器合在一起稱中央處理器。
微處理器:利用超大規(guī)模集成電路技術把運算器和控制器集成在一片硅片上形成微處理器,即CPU。一般由算術邏輯單元、累加器和通用寄存器組、程序計數(shù)器、數(shù)據(jù)地址鎖存器/緩沖器、時序和控制邏輯部件及內(nèi)部總線等組成。
1.3.1微處理器微處理器結構CPU的主要功能是取出指令、分析、并執(zhí)行指令,也就是不斷地從存儲器中取出指令和操作數(shù),完成指令所規(guī)定的操作工作。
1.3.1微處理器1)算術邏輯單元ALU:進行各種算術運算和邏輯運算。2)累加器和通用寄存器組:保存參加運算的數(shù)據(jù)和運算的中間結果。累加器是特殊的寄存器,它既向ALU提供操作數(shù),又接收ALU的運算結果。3)CPU中有一些專用寄存器(如程序計數(shù)器PC、堆棧指針
SP和標志寄存器FR等)。4)程序計數(shù)器用來存放下一條要執(zhí)行的指令地址。1.3.1微處理器5)堆棧指針SP:用來存放棧頂?shù)刂?。堆棧是一種特殊的存貯區(qū)域,按照“先進后出”的原則工作。6)標志寄存器:存放指令執(zhí)行結果的特征和處理器的狀態(tài)。7)指令譯碼器:對指令進行譯碼,產(chǎn)生相應的控制信號送至時序和控制邏輯電路,組合成外部電路工作所需要的時序和控制信號。1.3.1微處理器
指令執(zhí)行的基本過程:(1)假設程序已存儲在內(nèi)存單元中。開始執(zhí)行程序時,程序計數(shù)器中保存第一條指令的地址,指明當前將要執(zhí)行的指令存放在存儲器的哪個單元。(2)控制器將程序計數(shù)器中的地址送至地址寄存器MAR,并發(fā)出讀命令。存儲器根據(jù)此地址取出一條指令,經(jīng)過數(shù)據(jù)總線送入指令寄存器IR。(3)指令譯碼器對IR中的指令進行譯碼,并由控制邏輯陣列向存儲器、運算器等部件發(fā)出操作命令,執(zhí)行指令操作碼規(guī)定的操作。操作可以是讀/寫內(nèi)存、算術/邏輯運算或輸入/輸出操作等。(4)修改程序計數(shù)器的內(nèi)容,為取下一條指令做準備。
1.3.2微型計算機微型計算機
微型計算機由CPU、存儲器、輸入/輸出接口及系統(tǒng)總線組成。微機與外部交換信息通過總線控制。外部——采用三總線結構AB、DB、CB。內(nèi)部——采用單總線,
即內(nèi)部所有單元電路都掛在內(nèi)部總線上,分時使用總線。1.3.2
微型計算機1.3.2微型計算機1、總線及存儲器
系統(tǒng)總線包括數(shù)據(jù)總線DB、地址總線AB和控制總線CB。地址總線:傳送地址信息,單向。其位數(shù)決定了CPU可以直接尋址的內(nèi)存空間、I/O口數(shù)目。A15~A0,可尋址216=64KB內(nèi)存單元。A7~A0,可尋址28=256外設接口。數(shù)據(jù)總線:傳送數(shù)據(jù),雙向。其位數(shù)和微處理器的位數(shù)相對應??刂瓶偩€:傳輸控制信號。
1.3.2微型計算機
存儲器1)存儲器是用來存儲數(shù)據(jù)、程序的部件。按照存儲器與CPU的關系,分為內(nèi)存儲器(主存儲器)和外存儲器。按其工作方式,又可分為隨機存儲器和只讀存儲器。2)三級存儲體系結構:高速緩沖存儲器、內(nèi)存儲器和外存儲器
1.3.2微型計算機輸入/輸出設備和接口:外設:計算機中除主機以外的其它機電或電子設備統(tǒng)稱外部設備,簡稱外設。
I/O接口:CPU和外設之間的I/O適配器,是微型計算機的重要組成部件。1.3.2微型計算機2、微型計算機分類
從微型計算機的結構形式來分,為單片機、單板機和多板機。
單片微型計算機(即單片機)。把微型計算機的主要部件CPU、一定容量的存儲器、I/O接口及時鐘發(fā)生器集成在一塊芯片上的單芯片式微型計算機。具有體積小、指令系統(tǒng)簡單、性價比高等優(yōu)點,廣泛應用于工業(yè)控制、智能儀器儀表等領域。
單板微型計算機,即單板機。是將微處理器、一定容量的存儲器、輸入/輸出接口、簡單的外部設備、輔助設備通過總線裝配在一塊印刷電路板上的微型計算機。主要用于實驗室以及簡單的控制場合。
1.3.2微型計算機
多板微型計算機也叫系統(tǒng)機。是將單板機模塊、存貯器模塊和I/O接口等模塊組裝在一塊主機板上,通過主機板上的系統(tǒng)總線和各種外設適配器連接鍵盤、顯示器、打印機、光驅、軟、硬盤驅動器,配上電源。將主機板、軟、硬盤驅動器等安裝同一機箱內(nèi),適配器、適配卡插在總線擴展槽上,通過總線相互連接,就構成多板微型計算機,配上系統(tǒng)軟件即構成微型計算機系統(tǒng)。個人計算機就是多板微型計算機系統(tǒng)。1.3.2微型計算機
按照微型計算機數(shù)據(jù)總線的寬度,也就是按照在一次操作中所能傳送的二進制位數(shù)的最大值來進行劃分,可分為4位、8位、32位、64位機。
按照微型計算機的應用,又可將微型機分為通用機和專用機。1.3.3微型計算機系統(tǒng)
微型計算機系統(tǒng)
以微型計算機為主體,配上系統(tǒng)軟件和外部設備以后,就構成完整的微型計算機系統(tǒng)。
1.3.3微型計算機系統(tǒng)1.3.3微型計算機系統(tǒng)
性能指標:1)字長:字是CPU與存貯器或輸入/輸出設備之間傳送數(shù)據(jù)的基本單位。字的二進制代碼位數(shù)稱為計算機字長,反映一臺機器的計算精度。
2)主存容量:主存貯器所能存貯的信息總量為主存容量。是衡量計算機處理能力大小的一個重要指標。表示主存容量有兩種方法:用字節(jié)數(shù)表示;用單元數(shù)×字長表示。1.3.3微型計算機系統(tǒng)3)主頻:主時鐘信號的頻率稱為計算機主頻,用于協(xié)調計算機操作。決定計算機的處理速度,頻率越高,處理速度越快。4)運算速度:計算機每秒鐘運算的次數(shù)。5)系統(tǒng)可靠性:指計算機系統(tǒng)在規(guī)定的時間和工作條下正常工作而不發(fā)生故障的概率。計算機系統(tǒng)的可靠性含系統(tǒng)的可維護性和可用性,三者構成計算機系統(tǒng)的可靠性指標。
1.3.3微型計算機系統(tǒng)6)系統(tǒng)的兼容性:兼容性指一種計算機中的設備和程序可以用于其他多種系統(tǒng)中的性能,分硬件兼容和軟件兼容。7)性能價格比:是計算機產(chǎn)品性能優(yōu)劣的綜合性指標。包括計算機硬件和軟件的各種性能。計算機中常用術語bit1Mb=1024
1024bit=220bit1Gb=230bit=1024Mb1Tb=240bit=1024GbByte1Byte=8bit,1KB=1024Byteword:表示字長,有1bit,4bit,8bit等
微型計算機中的微處理器
內(nèi)容:?8086/8088CPU的編程結構?8086/8088CPU的引腿信號和工作模式?寄存器結構
?8086/8088的存儲器組織?8086的I/O組織?8086/8088微處理器典型時序分析Intel8086/8088結構
8086/8088微處理器是Intel公司推出的第三代CPU芯片,它們的內(nèi)部結構基本相同,都采用16位結構進行操作及存儲器尋址,兩種處理器都封裝在相同的40腳雙列直插組件(DIP)中。在Intel8080與8085的基礎上發(fā)展起來的。結構特點:
(1)內(nèi)部結構是16位的(內(nèi)部寄存器,內(nèi)部運算部件,內(nèi)部操作按16位設計);
(2)外部數(shù)據(jù)總線16(8086)/8(8088)位,能處理16位數(shù)據(jù),也能處理8位數(shù)據(jù);
(3)匯編語言與8080/8085兼容,即能執(zhí)行整套8080/8085的指令.
增加了許多16位操作指令;
(4)20條地址總線,直接尋址能力1M字節(jié);
(5)40條引線、雙列直插式;
(6)單相時鐘;
(7)電源為5V。
8088微處理器與8086微處理器的主要區(qū)別:對外的數(shù)據(jù)線只有8位,目的是為了方便地與8位I/O接口芯片相兼容。2.18086/8088CPU的編程結構
傳統(tǒng)結構的CPU執(zhí)行程序時,取指令與執(zhí)行指令交替進行:
為提高CPU的工作效率,8086/8088CPU采用流水線處理方式,取指令與執(zhí)行指令同時進行。
一方面提高了執(zhí)行速率;一方面降低了與之相配的存儲器的存取速度的要求。8086/8088的編程結構分兩部分:1、總線接口單元BIU(BusInterfaceUnit)2、執(zhí)行部件 EU(ExecutionUnit)8086CPU的功能結構一、總線接口單元BIU(BusInterfaceUnit)
1、功能:負責與存儲器、I/O端口進行數(shù)據(jù)傳送。具體講:取指令:總線接口部件從內(nèi)存中取出指令后送到指令隊列。預取指令。配合EU執(zhí)行指令,存取操作數(shù)和運算結果。2、組成
?
段地址寄存器(CS、DS、ES、SS)。?16位指令指針寄存器IP。?
地址加法器(形成20位物理地址),?6字節(jié)(8086)或4字節(jié)(8088)的指令隊列,?
內(nèi)部寄存器?
總線控制電路:
3、注:1)指令隊列
8086的指令隊列為6個字節(jié),8088的指令隊列為4個字節(jié)。
2)指令執(zhí)行順序順序指令執(zhí)行:指令隊列存放緊接在執(zhí)行指令后面的那一條指令。執(zhí)行轉移指令:BIU清除指令隊列中的內(nèi)容,從新的地址取入指 令,立即送往執(zhí)行單元,然后再從新單元開始重 新填滿隊列。二、EU(ExecutionUnit)執(zhí)行單元
1、功能:負責指令執(zhí)行。
2、組成:
?
4個通用寄存器:AX、BX、CX、DX
?
4個專用寄存器:BP、SP、SI、DI,
?
標志寄存器(PSW):為16位,存放指令執(zhí)行結果的特征和處理器狀態(tài),如結果為0,為負,單步執(zhí)行等。
?
算術邏輯單元ALU:
16位加法器。完成8位/16位二進制數(shù)的算術邏輯運算。
?EU控制系統(tǒng):接受從總線接口單元的指令隊列中取來的指令代碼, 對其譯碼和向EU內(nèi)各有關部分發(fā)出時序命令信號,協(xié)調執(zhí)行指令規(guī)定的操作。由此可見,8086/8088微處理器:
BIU和EU分開,取指和執(zhí)行可以重迭,大大減少了等待取指所需的時間,提高CPU的利用率。三、8086/8088處理器的啟動和程序執(zhí)行過程1、CPU的啟動
8086/8088系統(tǒng)中,CPU被啟動后,處理器內(nèi)部的各寄存器和標志寄存器的內(nèi)容自動設置為:
CSFFFFHDS0000HSS0000HES0000HIP0000H指令隊列空
FR0000H(禁止中斷)因CS=FFFFH,IP=0000,所以8086/8088將從地址FFFF0H開始執(zhí)行指令。故8086/8088引導程序的入口地址在FFFF0H。2、程序執(zhí)行過程設程序的指令代碼已存放在存貯器中。為執(zhí)行程序,CPU按照時鐘節(jié)拍,產(chǎn)生一系列控制信號,有規(guī)則地重復進行以下過程。(1)BIU從存貯器中取出一條指令存入指令隊列。(2)EU從指令隊列取指令并執(zhí)行指令。BIU利用總線空閑時間,從內(nèi)存取第二條指令或取第三條指令存入指令隊列。(3)EU執(zhí)行下一條指令。如果前面一條指令有寫存貯器的要求,則通知BIU把前條指令結果寫到存貯器中,然后再取指令存入指令隊列。
(4)如指令執(zhí)行要求讀取操作數(shù),由BIU完成。(5)EU執(zhí)行再下一條指令,返回(1)處繼續(xù)執(zhí)行上述操作過程。所以,程序的執(zhí)行過程就是CPU取指令、分析指令、執(zhí)行指令,再取指令這樣一個循環(huán)重復過程。在指令執(zhí)行過程中,利用EU分析指令操作碼和執(zhí)行指令時不占用總線操作時間的特點,BIU自動地通過總線讀取存貯器中的指令碼存入BIU指令隊列,從而使BIU與EU并行工作,提高CPU執(zhí)行指令的速度。
四、8086/8088CPU的總線周期概念總線周期:BIU通過系統(tǒng)總線對存儲器或I/O端口進行一次讀/寫操作的過程稱為一個總線周期。
8086/8088CPU的一個基本總線周期由4個時鐘周期(T1~T4)組成,也稱4個T狀態(tài)。
CPU在每個時鐘周期內(nèi)完成若干個基本操作,具體是:
T1狀態(tài):CPU向多路復用總線上發(fā)送地址信息指出要尋址的存儲單元或外設端口地址。
T2狀態(tài):CPU從總線上撤消地址,使總線的低16位置為高阻抗狀態(tài),為傳輸數(shù)據(jù)作準備??偩€的高4位輸出本總線周期狀態(tài)信息。這些狀態(tài)信息用來表示中斷允許狀態(tài)、當前正在使用的段寄存器等。
T3狀態(tài):CPU在總線的高4位繼續(xù)輸出總線周期狀態(tài)信號。在總線的低16位出現(xiàn)由CPU寫出的數(shù)據(jù),或者從存儲器或
I/O端口讀入的數(shù)據(jù)。T4狀態(tài):總線周期結束。TW等待狀態(tài):如果存儲器或I/O設備不能及時配合CPU傳送數(shù)據(jù),這時外設或存儲器會通過“READY”信號線在
T3狀態(tài)啟動之前向CPU發(fā)數(shù)據(jù)“未準備好”信號,迫使CPU在T3狀態(tài)后插入等待狀態(tài)TW。TW狀態(tài)的總線情況與T3周期的情況相同。當被選中的存儲器或I/O
端口有足夠的時間來完成讀寫操作時,就發(fā)出“準備好”(Ready)信號,使CPU脫離TW狀態(tài)繼續(xù)工作。T1空閑狀態(tài):如果在一個總線周期之后,不立即執(zhí)行下一個總線周期,或者當指令隊列是滿的,執(zhí)行部件
EU又沒有訪問總線的要求,這時BIU就處于空閑狀態(tài)??臻e狀態(tài),可以包含一個或幾個時鐘周期。8086/8088CPU的典型總線周期時序
一、最大和最小工作模式最小工作模式:指系統(tǒng)中只有8086/8088一個微處理器,構成小規(guī)模的應用系統(tǒng)。最小模式也稱單處理器模式。在最小模式系統(tǒng)中,所有的系統(tǒng)總線信號都直接由8086/8088CPU產(chǎn)生。
最大工作模式:指系統(tǒng)中包含有兩個或兩個以上的微處理。一個為主處理器(8086/8088CPU),其他的稱為協(xié)處理器,協(xié)助主處理器工作。構成較大規(guī)模的應用系統(tǒng)。
常與主處理器8086/8088CPU配合的協(xié)處理器:一個是專用于數(shù)值運算的協(xié)處理器8087;另一個是專用于輸入/輸出操作的協(xié)處理器8089。最大模式是一個多處理器系統(tǒng),需要解決主處理器和協(xié)處理器之間的協(xié)調工作問題和對系統(tǒng)總線的共享控制問題。2.28086/8088CPU的引腿信號和工作模式二、8086/8088CPU的引腿信號和功能
8088/8086CPU的引腳1、AD15~AD0(Address/DataBus)地址/數(shù)據(jù)復用總線傳送地址時三態(tài)輸出,傳送數(shù)據(jù)時三態(tài)雙向輸入/輸出。
T1狀態(tài):用來輸出訪問存儲器或I/O端口的地址。
T2狀態(tài):如果是讀周期,則處于浮空(高阻)狀態(tài),如果是寫周期,則為傳送數(shù)據(jù)。在中斷響應及系統(tǒng)總線處于“保持響應”周期時,AD15~AD0被置成高阻狀態(tài)。
在8086系統(tǒng)中,常將AD0為低8位數(shù)據(jù)的選通信號。
2、A19/S6~A16/S9(Address/Status)地址/狀態(tài)復用線作地址線時,高4位(A19~A16)地址,與AD15~AD0構成20位訪問存儲器的物理地址。作狀態(tài)線時,輸出狀態(tài)信息S6~S3。
3、/S7(BusHighEnable/Status)高8位數(shù)據(jù)總線允許/狀態(tài)復用信號高8位數(shù)據(jù)有效信號,低電平有效。和AD0結合起來,指出當前傳送的數(shù)據(jù)在總線上將以何種格式出現(xiàn)。4、RD(Read)讀信號。輸出、三態(tài)、低電平有效。有效時,表示CPU正在對存儲器或I/O端口進行讀操作,具體是對存儲器讀,還是對I/O端口讀,由/M
(8088為IO/M
)決定。
5、READY存儲器或I/O口準備就緒,輸入。
用來使CPU和慢速存儲器或I/O設備之間實現(xiàn)速度匹配的信號。在總線操作周期中,CPU會在第3個時鐘周期的前沿測試該引腳如果測到高有效,CPU直接進入第4個時鐘周期如果測到無效,CPU將插入等待周期TwCPU在等待周期中仍然要監(jiān)測READY信號,有效則進入第4個時鐘周期,否則繼續(xù)插入等待周期Tw。
6、(Test)測試信號,輸入、低電平有效。
用于協(xié)調8086/8088CPU與協(xié)處理器的工作。該引腳與WAIT指令配合使用。當CPU執(zhí)行WAIT指令時,他將在每個時鐘周期對該引腳進行測試:如果無效,則程序踏步并繼續(xù)測試;如果有效,則程序恢復運行。也就是說,WAIT指令使CPU產(chǎn)生等待,直到引腳有效為止.
在使用協(xié)處理器8087時,通過引腳和WAIT指令,可使8088與8087的操作保持同步。7、INTR(InterruptRequest)可屏蔽中斷請求信號,輸入、高電平有效。8、NMI(NO-MaskableInterrupt)不可屏蔽中斷請求信號,輸入、高有效。9、RESET(Reset)復位信號,輸入、高電平有效。10、CLK(Clock)主時鐘輸入端11、MN/MX(MaximumModeControl)最?。畲竽J娇刂菩盘?。
當此引腳接高電平時,CPU工作于最小模式;接低電平時,CPU工作于最大模式。12、GND、VCC和電源以上信號是8086/8088CPU工作在最小模式和最大模式時都要用到的。8086/8088的第24~31腿信號在不同模式下有不同的名稱和定義。兩種模式下的主要區(qū)別體現(xiàn)在第24~31號引腳的功能定義不同。三、最小模式1、引腿信號(1)/M(Memory/InputandOutput)存儲器/輸入輸出控制信號。用來區(qū)分CPU當前是訪問存儲器還是訪問I/O端口。對于8088CPU,該信號定義為IO/,功能相同。(2)(Write)寫信號,三態(tài)、輸出、低電平有效。有效時,表示CPU當前正在進行寫操作。是寫存儲器還是寫I/O端口
,由/M來區(qū)分。DMA方式時,/M被置成高阻態(tài)。(3)(InterruptAcknowledge)中斷響應信號,輸出、三態(tài)、低電平有效是對中斷請求信號INTR的響應。CPU在整個中斷響應周期內(nèi)發(fā)出兩個連續(xù)的負脈沖,第一個負脈沖是通知請求中斷的外設,其發(fā)出的中斷請求已得到響應,外設接口收到第二個負脈沖后,向數(shù)據(jù)總線上送中斷類型碼,信號通常用來作為讀取中斷類碼的選通信號。(4)ALE(AddressLatchEnable)地址鎖存允許信號,輸出、高電平有效。
在任何一個總線周期的T1狀態(tài),ALE輸出有效電平,表示當前在地址/數(shù)據(jù)復用總線上輸出的是地址信息,鎖存器利用它將地址鎖存,ALE信號不能浮空。(5)DT/(DataTransmit/Receive)數(shù)據(jù)發(fā)送DT/接收控制信號,輸出、三態(tài)。表明當前總線上數(shù)據(jù)的流向(高電平時數(shù)據(jù)自CPU輸出(發(fā)送)低電平時數(shù)據(jù)輸入CPU(接收))當使用總線收發(fā)器8286/8287時,可用DT/信號來控制總線收發(fā)器的數(shù)據(jù)傳送方向。
DMA方式時DT/被置為高阻抗狀態(tài)。(6)(DataEnable)數(shù)據(jù)允許信號,輸出、三態(tài)、低電平有效。有效時,表示當前數(shù)據(jù)總線上正在傳送數(shù)據(jù)。當使用總線驅動器8286/8287時,信號用來作為8286/8287的輸出允許控制信號,使之開始傳送數(shù)據(jù)。(7)HOLD(HoldRequest)總線保持請求信號,輸入、高電平有效。作為其它部件向CPU發(fā)出使用總線的請求信號。(8)HLDA(HoldAcknowledge)總線保持響應信號,輸出、高電平有效。
是CPU對總線保持請求信號HOLD的響應信號。
注:在最小模式下,8088CPU只有8位數(shù)據(jù)總線,不需要信號。因此,34引腳定義為。和IO/及DT/信號組合起來,決定了當前總線周期的操作。含義000011110011001101010101取指令讀存儲器寫存儲器無源狀態(tài)發(fā)中斷響應信號讀I/O端口寫I/O端口暫停、8088中、、信號的組合及其對應的總線操作
2、系統(tǒng)配置
8086CPU在最小模式下的基本配置
最小組態(tài)工作模式下總線的形成(1)20位地址總線:
采用3個三態(tài)透明鎖存器8282進行鎖存和驅動.(2)16位數(shù)據(jù)總線:
采用數(shù)據(jù)收發(fā)器8286進行驅動.(3)系統(tǒng)控制信號:
由CPU引腳直接提供.Intel8282具有三態(tài)輸出的TTL電平鎖存器STB電平鎖存引腳OE輸出允許引腳每一位都是一個三態(tài)鎖存器,8個三態(tài)鎖存器的控制端連在一起
8位雙向緩沖器控制端連接在一起,低電平有效可以雙向導通輸出與輸入同相OE=0,導通
T=1A→BT=0A←BOE=1,不導通每一位都是一個雙向三態(tài)門,8位具有共同的控制端Intel8286
四、最大模式
1、信號引腿(1)QS1,QS0(InstructionQueueStatus)指令隊列狀態(tài)信號,輸出。信號QS1,QS0的組合用來指示CPU內(nèi)的指令隊列的當前狀態(tài),以便外部對CPU內(nèi)指令隊列的動作跟蹤。(2),,(BusCyclsStatus)總線周期狀態(tài)信號輸出。狀態(tài)信號的不同組合,指出CPU在當前總線周期所進行的操作類型。最大模式中,總線控制器8288利用這些狀態(tài)信進行組合,產(chǎn)生訪問存儲器和I/O端口的控制信號。(3)RQ/GT0,RQ/GT1(Request/Grant)總線請求信號輸入/總線請求允許信號,輸出。在最大模式系統(tǒng)中,主CPU和其他協(xié)處理器間交換總線使用權的聯(lián)絡控制信號。GT0的優(yōu)先級高于GT1。
(4)(lock)總線封鎖信號,輸出。有效時,表明此時CPU不允許其他總線主模塊占用總線。在DMA期間,被置為高阻抗狀態(tài)。2、系統(tǒng)配置8086在最大模式下的系統(tǒng)基本配置
系統(tǒng)控制總線:主要由總線控制器8288形成:MEMR、MEMW、IOR、IOW、INTA總線控制器8288芯片的引腳和內(nèi)部結構。來自8086/8088CPU的總線狀態(tài)信號,,經(jīng)8288狀態(tài)譯碼器譯碼后,與輸入控制信號,CEN和IOB相互配合,產(chǎn)生總線命令信號和總線控制信號。8288的引腳及內(nèi)部結構框圖
1、通用寄存器 通用寄存器包括:數(shù)據(jù)寄存器、地址指針寄存器、變址寄存器。數(shù)據(jù)寄存器包括:AX、BX、CX、DX。地址指針寄存器包括:SP、BP。變址寄存器包括:SI、DI。2、段寄存器段寄存器包括:CS、SS、DS、ES。3、控制寄存器控制寄存器包括:IP、PSW。2.3寄存器結構1、通用數(shù)據(jù)寄存器
AX、BX、CX、DX作為通用寄存器。用來暫存計算過程中所用到的操作數(shù),結果或其它信息。訪問形式: 可以用16位的訪問; 或者可以用字節(jié)(8位)形式訪問.
高8位記作:AH、BH、CH、DH。 低8位記作:AL、BL、CL、DL。AX——(Accumulator)累加器。 它是算術運算的主要寄存器。 所有I/O指令都使用這一寄存器與外部設備交換數(shù)據(jù)。 BX——Base用作基址寄存器使用。 在計算內(nèi)存儲器地址時,經(jīng)常用來存放基址。CX——Count可以作計數(shù)寄存器使用。
DX——Data可以作為數(shù)據(jù)寄存器使用。 一般在雙字長乘除法運算時,把DX和AX組合在一起存放一個雙字長(32位)數(shù),DX用來存放高16位。
2、地址指針與變址寄存器
SP、BP、SI、DI四個16位寄存器。 以字為單位在運算過程中存放操作數(shù), 經(jīng)常用以在段內(nèi)尋址時提供偏移地址。
段地址:只取段起始地址高16位值。偏移地址:指在段內(nèi)某內(nèi)存單元物理地址相對段起始地址的偏移值。
SP:為堆棧指針寄存器,指出當前堆棧段中棧頂?shù)钠频刂罚cSS聯(lián)用。
BP:為對堆棧操作的基址寄存器。BP中存放的是堆棧中某一存儲單元的偏移地址,不是指棧頂。通常和SS聯(lián)用。
SI:為源變址寄存器,與數(shù)據(jù)段寄存器DS聯(lián)合使用,確定數(shù)據(jù)段中某一存儲單元的地址。
DI:為目的變址寄存器,與數(shù)據(jù)段寄存器DS聯(lián)合使用,確定數(shù)據(jù)段中某一存儲單元的地址。
SI和DI具有自動增量和減量的功能。在串操作指令中,SI、DI隱含作為源變址和目的變址寄存器。對其他的指令,則沒有這種限制。3、段寄存器 段寄存器:4個16位段寄存器CS、DS、SS、ES。 用來識別當前可尋址的四個段,不可互換的使用。CS——CodeSegmentRegister代碼段寄存器 用來識別當前代碼段(程序一般放在代碼段)。DS——DataSegmentRegister數(shù)據(jù)段寄存器 用來識別當前數(shù)據(jù)段寄存器。SS——StackSegmentRegister堆棧段寄存器, 用來識別當前堆棧段。ES——ExtraSegmentRegister附加段寄存器, 用來識別當前附加段。4、指令指針寄存器用來存儲代碼段中的偏移地址;
程序運行過程中IP始終指向下一次要取出的指令偏移地址。 IP要與CS寄存器相配合才能形成真正的物理地址。5、標志寄存器FR
由條件碼標志FLAG、控制標志構成。 只用了其中9位,6位條件碼標志,3位控制標志。?
狀態(tài)標志位:
用來記錄程序中運行結果的狀態(tài)信息。包括6位:CF、PF、AF、ZF、SF、OF。CF進位標志
CF=1:從最高有效位產(chǎn)生進位值。
CF=0:從最高有效位不產(chǎn)生進值。PF奇偶標志
PF=1:結果操作數(shù)低8位中有偶數(shù)個1。
PF=0:結果操作數(shù)低8位中有奇數(shù)個1。AF輔助進位標志
AF=1:第3位(半個字節(jié))產(chǎn)生進位值。
AF=0:第3位(半個字節(jié))不產(chǎn)生進位值。ZF零標志
ZF=1:運算結果為0。
ZF=0:運算結果不為0。SF符號標志
SF=1:運算結果的符號為負。
SF=0:運算結果的符號為正。OF溢出標志
OF=1:在運算過程中,如操作數(shù)超過了機器表示的范圍稱為溢出。
OF=0:在運算過程中,如操作數(shù)未超過了機器能表示的范圍稱為不溢出。8086CPU寄存器結構圖
IF中斷標志位
IF=1,允許外部可屏蔽中斷。
IF=0,關閉中斷。CPU禁止響應可屏蔽中斷請求。DF(DirectionFlag)方向標志,用來控制串操作指令標志。
DF=0,地址指針為自動遞增
DF=1,地址指針自動遞減。由STD指令可使DF置1,用CLD指令可使DF清0。TF單步標志。
TF=1時,CPU為單步工作方式,每執(zhí)行完一條指令就自動產(chǎn)生一次內(nèi)部中斷。用在調試程序,可使用戶逐條跟蹤程序??刂茦酥疽坏┰O置,便對處理器的操作產(chǎn)生控制作用。控制標志:對控制標志位進行設置后,對其后的操作起控制作用標志: ∴SF=0;ZF=0PF=0;CF=0AF=0;OF=0。例1:執(zhí)行兩個數(shù)的加法,分析對標志位的影響。標志:SF=1;ZF=0;CF=0;OF=1;PF=1;AF=1。例2:執(zhí)行兩個數(shù)的加法,分析對標志位的影響。2.48086存儲器組織
1、存儲單元的地址和內(nèi)容
2、8086存儲器的分體結構
3、存儲器的分段
4、物理地址的形成1、存儲單元的地址和內(nèi)容存儲單元地址:就是對存儲單元的編號。
8086/8088系統(tǒng)中,存儲器是按照字節(jié)編址的,即一個存儲單元存放一個字節(jié)的內(nèi)容。存儲單元內(nèi)容:是指一個存儲單元中的有效信息。
8086/8088系統(tǒng)字長是16位的,由二個字節(jié)組成。所以當一個字存入存儲器時需要占用相繼的二個存儲單元:低位字節(jié)存入低地址單元,高位字節(jié)存入高地址單元。字單元的地址采用它的低地址來表示。2、8086存儲器的分體結構在8086系統(tǒng)中,將其可尋址的1MB存儲器分為兩個512KB的存儲體,即奇地址存儲體和偶地址存儲體,各為512KB。奇地址存儲體與系統(tǒng)高8位數(shù)據(jù)總線相連,偶地址存儲體與系統(tǒng)低8位數(shù)據(jù)總線相連。所以,訪問存儲器時,讀/寫偶地址體時,數(shù)據(jù)從低8位數(shù)據(jù)總線上傳送。讀/寫奇地址體時,數(shù)據(jù)從高8位數(shù)據(jù)總線上傳送。奇偶存儲體的選擇由信號決定。存儲器分體結構單元示意圖
8086系統(tǒng)中存儲器與總線的連接
內(nèi)存中數(shù)據(jù)的存放規(guī)則是一個字節(jié)數(shù)據(jù)可以存放在奇地址體,也可以在偶地址體,字節(jié)地址就是存儲單元的實際地址。一個字(16位)數(shù)據(jù)占連續(xù)的二個單元,高字節(jié)存放高地址,低字節(jié)存放低地址,并將低字節(jié)的地址作為該字的字地址。CPU訪問存儲器規(guī)則是:一次讀/寫一個字,并且均從偶地址開始。所以讀/寫字、字節(jié)就會有幾種不同的情況A0操作所用的數(shù)據(jù)總線00存取規(guī)則字(從偶地址開始讀/寫一個字)AD15~AD010從偶地址內(nèi)存單元或I/O端口讀/寫一個字節(jié)AD7~AD001從奇地址內(nèi)存單元或I/O端口讀/寫一個字節(jié)AD15~AD80110從奇地址開始讀/寫一個(非規(guī)則)字第一總線周期高8位數(shù)據(jù)有效AD15~AD8AD7~AD0第二總線周期低8位數(shù)據(jù)有效代碼組合及對應的存取操作
讀/寫一個字節(jié):只須訪問某個存儲體(奇體或偶體),相應的8位數(shù)據(jù)在數(shù)據(jù)總線上有效,而另一個字節(jié)的數(shù)據(jù)被忽略
讀/寫偶地址字節(jié)
讀/寫奇地址字節(jié)讀/寫一個字:若該字單元地址是從偶地址開始的,則只須執(zhí)行一個總線讀/寫周期便可完成對該字的讀/寫操作;若該字地址從奇地址開始,則CPU需要執(zhí)行連續(xù)的二個總線讀/寫周期才能完成對該字的讀/寫,第一次取奇地址體上數(shù)據(jù),偶地址體上的8位數(shù)據(jù)被忽略,第二次取偶地址體上數(shù)據(jù),奇地址體上8位數(shù)據(jù)被忽略。
讀/寫偶地址字
第一個總線周期第一個總線周期
讀/寫奇地址字
3、存儲器地址分段:
8086/8088有20條地址總線,直接尋址能力為220=1M字節(jié)。用16進制數(shù)表示1M字節(jié)的地址范圍應為00000H~FFFFFH。
CPU中的寄存器是16位的,20位地址無法用16位寄存器表示,必須分段。 程序員在編制程序時把存儲器劃分成段。 段內(nèi)地址16位,每個段的大小最大可達64KB;
20位物理地址形成物理地址:在1M字節(jié)存儲器里,每個存儲單元都有一個唯一的20位地址作為該存儲單元的物理地址。
CPU訪問存儲器時,必須先確定所要訪問的存儲單元的物理地址才能取出(或存入)該單元中的內(nèi)容。
20位物理地址形成:由16位段地址和16位偏移地址組成。段地址:只取段起始地址高16位值。偏移地址:指在段內(nèi)某內(nèi)存單元物理地址相對段起始地址的偏移值。物理地址計算方法:即把段地址左移4位再加上偏移地址值形成物理地址,寫成:
物理地址=16d
段地址+偏移地址。每個存儲單元只有唯一的物理地址。但可由不同的段地址和不同的偏移地址組成。存儲器物理地址的計算方法
段地址與偏移地址關系示意圖
段寄存器和其他寄存器組合指向存儲單元示意圖2-58086的I/O組織
8086系統(tǒng)和外部設備之間是通過I/O芯片連接的。每個I/O芯片都設置有一定數(shù)目的端口,一個端口通常對應芯片內(nèi)部的一個寄存器或者一組寄存器。微型機系統(tǒng)為每個端口分配一個地址,叫端口號。各端口號不能重復。
8086可以訪問64K個8位I/O端口,兩個編號相鄰的8位端口可以組合成一個16位端口。
CPU在執(zhí)行訪問I/O端的指令即輸入(IN)指令和輸出(OUT)指令時,硬件上會自動產(chǎn)生有效的信號或者信號,同時使M/信號處于低電平,通過外部邏輯電路的組合產(chǎn)生對I/O端口的讀信號或者對I/O端口的寫信號,以上是I/O端口獨立編址方式的操作過程。
I/O端口和存儲器也可以統(tǒng)一編址,用對存儲器的訪問指令來實現(xiàn)對I/O端口的讀/寫。存儲器的讀/寫指令的尋址方式多,功能強,編制程序方便靈活。8086采用I/O端口獨立的編址方式。2-68086/8088的時序一、時序的基本概念
時序。計算機中一條指令的執(zhí)行,是通過將指令的功能分成若干個最基本的操作序列,順序完成這些基本操作就實現(xiàn)了指令的功能?;静僮饔删哂忻钚再|的脈沖信號控制電路各部件完成的。命令信號的出現(xiàn),必須有嚴格的時間先后順序。這種嚴格的時間上的先后順序稱為時序(TimeOrder)。
時鐘信號與T狀態(tài)。確定時序必須有定時信號。微型計算機中的定時信號由時鐘信號CLK產(chǎn)生。是CPU一切操作的計時標準和基本控制信號。通常時鐘周期(ClockCycle)是CPU計時的最小單位,稱為一個T狀態(tài)(TState)或T周期。時鐘信號是各種命令脈沖信號和定時信號的脈沖源。時鐘信號在時間上有先后次序,在空間上由不同的輸出信號線輸出。
指令周期。執(zhí)行一條指令所需要的時間。8086中的指令的指令周期是不等長的。
總線周期。CPU通過系統(tǒng)總線對存貯器或I/O端口進行一次存取操作所需的時間稱為一個總線周期(BusCycle)。二、時序分析
分析步驟:首先搞清時序圖對應的基本操作和操作過程,二是要熟悉時序圖中出現(xiàn)的所有信號的含義。三是按照定時信號的先后順序,抓住信號變化,按時間先后依次分析,確定各微操作的定時關系。以8086為例講述總線讀操作和總線寫操作的時關系。1、最小模式下的總線讀操作按4個時鐘周期分析。
2、最小模式下的總線寫操作最大模式中,其時序分析過程與最小模式的分析過程相同。
8088/8086的指令系統(tǒng)指令系統(tǒng):一臺計算機所能識別和執(zhí)行的全部 指令的集合。指令的組成:操作碼說明計算機要執(zhí)行哪種操作,如傳送、運算、移位、跳轉等操作,它是指令中不可缺少的組成部分。操作數(shù)是指令執(zhí)行的參與者,即各種操作的對象。有些指令不需要操作數(shù),通常的指令都有一個或兩個操作數(shù),也有個別指令有3個甚至4個操作數(shù)。操作碼操作數(shù)指令的表示: 二進制代碼
0000001011001111B(機器指令)
助記符
ADD
CL,BH(匯編指令)3.18088/8086的尋址方式根據(jù)指令內(nèi)容確定操作數(shù)地址的過程,稱為尋址。根據(jù)尋址計算所得到的操作數(shù)地址叫做操作數(shù)的有效地址(EA),也就是段內(nèi)偏移地址。有效地址還需要與相應的段基地址組合才是20位的物理地址(PA)
,該工作由CPU完成。操作數(shù)的來源:(1)直接包含在指令中; (2)在CPU的某寄存器中; (3)在內(nèi)存中。3.18088/8086的尋址方式尋址方式有:AX12H34HAHAL1、立即尋址 操作數(shù)直接放在指令中。不 需要訪問存儲器。 例:
MOVAL,34H
MOVAX,1234H
需要注意在16位操作時,兩個字節(jié)數(shù)據(jù)的高低位存儲位置。立即數(shù)只能是源操作數(shù)。3.18088/8086的尋址方式2、寄存器尋址 操作數(shù)就放在CPU的內(nèi)部寄存器中,AX、BX、CX、DX、DI、SI、SP和BP,不需要訪問存儲器。例:INCCX
MOVAX,BX
若執(zhí)行前AX=30A6H,
BX=69EDH,
CX=40D9H
則執(zhí)行后AX=69EDH,
BX內(nèi)容不變
CX=40DAH3.18088/8086的尋址方式3、直接尋址有效地址由指令直接給出,有效地址只包含位移量。 例:MOVAX,[2000H]
默認的段寄存器是DS,也可以在指令中使用段 超越前綴來指定段寄存器。例:MOVAL,ES:[2000H]
有效地址EA=2000H,在指令中直接給出。 物理地址PA=(ES)×10H+2000H3.18088/8086的尋址方式4、寄存器間接尋址 操作數(shù)的地址在對應的寄存器中稱為寄存器間接尋址。
EA取自基址寄存器BX,BP或變址寄存器SI,DI
中的一個,操作數(shù)在有效地址對應的存儲單元中。以SI,DI,BX間接尋址:默認操作數(shù)在數(shù)據(jù)段DS中 以BP間接尋址:默認操作數(shù)在堆棧段SS中
例:MOVAX,[BX]
若(DS)=1492H,(BX)=2000H
則EA=(BX)=2000H
物理地址PA=14920H+2000H=16920H, 執(zhí)行(AX)=(16920H)3.18088/8086的尋址方式5、變址尋址在寄存器間接尋址的基礎上再加一個16位的偏移量.例:MOVAX,[SI+COUNT]
若COUNT=3000H,(DS)=3000H
(SI)=2000H,則物理地址=35000H,EA=3000H+2000H=5000HPA=30000H+5000H=35000H3.18088/8086的尋址方式6、基址加變址尋址
EA
=基址寄存器(BX或BP)+變址寄存器(SI或DI) [+16位偏移量]若用BX:默認操作數(shù)在數(shù)據(jù)段DS中 若用BP:默認操作數(shù)在堆棧段SS中 例:
MOVAX,[BX+DI+6]3.18088/8086的尋址方式尋址方式的書寫格式1、在方括號內(nèi)部允許有一個或兩個寄存器的名字,如果一對方括號內(nèi)部有基址寄存器和變址寄存器,使用“+”作為連接。2、在方括號內(nèi)部允許有位移量,使用+或—號作為連接符號。3、在方括號外部允許有位移量,可以在左邊或右邊。
MOV AX,[BX+SI+6] MOV AX,[BX+SI]6 MOV AX,6[BX+SI] MOV AX,[BX][SI]6 MOV AX,[BX+6][SI] 3.28088/8086的指令系統(tǒng)Intel8086/8088指令系統(tǒng)共有117條基本指令,可分成6個功能組:①數(shù)據(jù)傳送類指令②算術運算類指令③邏輯運算類指令④串操作類指令⑤控制轉移類指令⑥處理器控制類指令 3.2.1數(shù)據(jù)傳送指令1.數(shù)據(jù)傳送MOV指令
一般格式:MOVOPRD1,OPRD2 MOV是操作碼,OPRD1和OPRD2分別是目的操作數(shù) 和源操作數(shù)。
功能:完成數(shù)據(jù)傳送 具體來說,一條MOV數(shù)據(jù)傳送指令能實現(xiàn):
⑴CPU內(nèi)部寄存器之間數(shù)據(jù)的任意傳送(除了代碼段寄存器CS和指令指針I(yè)P以外)。MOVAL,BL;字節(jié)傳送MOVCX,BX;字傳送MOVDS,BX 3.2.1數(shù)據(jù)傳送指令⑵立
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 靜電力對荷電粒子的作用
- 二零二四年度新材料研發(fā)與委托生產(chǎn)合同范本3篇
- 2025年度體育賽事贊助合同規(guī)范范本4篇
- 二零二五年度食堂轉讓合同及廣告位使用權轉讓協(xié)議
- 基于疼痛??苹颊叩膸畎捳詈笊窠?jīng)痛危險因素分析及其機器學習預測模型的構建
- 2025年度磚砌體抹灰工程勞務施工與安全防護合同
- 2025年度新能源技術研發(fā)連帶責任擔保借款合同
- 二零二五年度房地產(chǎn)公司股東股權變更協(xié)議
- 2025年高科技產(chǎn)業(yè)園區(qū)廠房土地購置合同范本3篇
- 2025年版特種危險廢物綜合處理及資源化利用合同3篇
- 2024-2030年中國連續(xù)性腎臟替代治療(CRRT)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 跨學科主題學習:實施策略、設計要素與評價方式(附案例)
- 場地委托授權
- 2024年四川省成都市龍泉驛區(qū)中考數(shù)學二診試卷(含答案)
- 項目工地春節(jié)放假安排及安全措施
- 印染廠安全培訓課件
- 紅色主題研學課程設計
- 胸外科手術圍手術期處理
- 裝置自動控制的先進性說明
- 《企業(yè)管理課件:團隊管理知識點詳解PPT》
- 移動商務內(nèi)容運營(吳洪貴)任務二 軟文的寫作
評論
0/150
提交評論