微型計算機結構_第1頁
微型計算機結構_第2頁
微型計算機結構_第3頁
微型計算機結構_第4頁
微型計算機結構_第5頁
已閱讀5頁,還剩116頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

^第2章微型計算機結構

第2章微型計算機結構

■2」80x86微處理器概述

■2.2基于微處理器的計算機系統(tǒng)構成

■23微處理器

■2.4存儲器

■習題2

<Back4

t贏第2章微型計算機結構_______________________

引言及基本概念

■匯編語言是直接在硬件之上工作的編程

語言,首先要了解硬件系統(tǒng)的結構,才

能有效的應用匯編語言對其編程。

■匯編課程的研究重點放在如何利用硬件

系統(tǒng)的編程結構和指令集有效靈活的控

制系統(tǒng)進行工作。

第2章微型計算機結構

22基于微處理器的計算機硬件系統(tǒng)構成

1

存儲器

運算器

輸接接輸

入口控制器口出

設設

微處理器CPU

備備

主機

-I

輸入/輸出芯片

t鼐:第2章微型計算機結構

2.3CPU概述(P26)

■一個典型的CPU由運算器、控制器、寄存器

等器件組成,這些器件靠內部總線相連。

■內部總線實現(xiàn)CPU內部各個器件之間的聯(lián)系。

■外部總線實現(xiàn)CPU和主板上其它器件的聯(lián)系。

第2章微型計算機結構

圖2.38086CPU內部結構

力就第2章微型計算機結構________________________

寄存器概述

■8086CPU有14個寄存器它們的名稱為:

通用寄存器:AX、BX、CX、DX、SLDL

SP、BP

專用寄存器:IP、PSW

段寄存器:CS、SS、DS、ES

■這些寄存器以后會陸續(xù)介紹

t鼐:第2章微型計算機結構

2.3.1通用寄存器(P29)

■8086CPU所有的寄存器都是16位的,可

以存放兩個字節(jié)。

■AX、BX、CX、DX通常用來存放一般

性數(shù)據(jù)被稱為通用寄存器。

■下面以AX為例,我們看一下寄存器的邏

輯結構。

第2章微型計算機結構

2.3.1通用寄存器

151413121110

16位寄存器的邏輯結構

■一個16位寄存器可以存儲一個16位的數(shù)據(jù)。

(數(shù)據(jù)的存放情況)

■一個16位寄存器所能存儲的數(shù)據(jù)的最大值為

多少?

答案:216-1。

第2章微型計算機結構

16位數(shù)據(jù)在寄存器中的存放情況

■數(shù)據(jù):18

■二進制表示:10010

■在寄存器AX中的存儲:

AX

(---------------------------------------------------------------------------------------------------

1514131211109876543210

0000000000010010

第2章微型計算機結構

16位數(shù)據(jù)在寄存器中的存放情況

■數(shù)據(jù):20000

■二進制表示:0100111000100000

■在寄存器AX中的存儲:

AX

<-------------------------------------------------

1514131211109876543210

0100111000100000

第2章微型計算機結構

2.3.1通用寄存器

■8086上一代CPU中的寄存器都是8位的;

■為保證兼容性,這四個寄存器都可以分為兩個獨立

的8位寄存器使用。

-AX可以分為AH和AL;

—BX可以分為BH和BL;

-CX可以分為CH和CL;

-DX可以分為DH和DL。

■8086CPU的8位寄存器存儲邏輯

海區(qū)第2章微型計算機結構________________________

2.3.1通用寄存器

■以AX為例,8086CPU的16位寄存器分

為兩個8位寄存器的情況:

1514131211109876543210

--匚---,Vr¥**■a.-.a*a.-.?A-*-??,,

7654321076543210

AHAL

第2章微型計算機結構

2.3.1通用寄存器

■AX的低8位(0位?7位)構成了AL寄存器,

高8位(8位?15位)構成了AH寄存器。

■AH和AL寄存器是可以獨立使用的8位寄存

-O

■8086CPU的8位寄存器數(shù)據(jù)存儲情況

■一個8位寄存器所能存儲的數(shù)據(jù)的最大值

是多少?

答案:28-1。

微型計算機結構

2.3.1通用寄存器

AX

1514131211109876543210

00100000

7654321076543210

7JL

AH

寄存器寄存器中的數(shù)據(jù)所表示的值

AXO1OO111OOO1OOOOO20000(4E20H)

AH0100111078(4EH)

AL0010000032(20H)

第2章微型計算機結構

2.3.2字在寄存器中的存儲

■一個字可以存在一個16位寄存器中,

這個字的高位字節(jié)和低位字節(jié)自然

就存在這個寄存器的高8位寄存器和

低8位寄存器中。

字:0100111000100000

<~一~~~)

高位字節(jié)低位字節(jié)

t鼐:第2章微型計算機結構

2.4存儲器

■CPU是計算機的核心部件.它控制整

個計算機的運作并進行運算,要想讓

一個CPU工作,就必須向它提供指令

和數(shù)據(jù)。

■指令和數(shù)據(jù)在存儲器中存放,也就是

平時所說的內存。

t贏第2章微型計算機結構_______________________

2.4存儲器

■在一臺PC機中內存的作用僅次于CPU。

■離開了內存,性能再好的CPU也無法工

作。

■磁盤不同于內存,磁盤上的數(shù)據(jù)或程序

如果不讀到內存中,就無法被CPU使用。

t鼐:第2章微型計算機結構

2.6存儲單元

■存儲器被劃分為若干個存儲單元,每個

存儲單元從o開始順序編號;:三

■例如:;日

一個存儲器有128個存儲單元,;;

編號從0-127。展日

如右圖示:II

第2章微型計算機結構

2.6存儲單元

■對于大容量的存儲器一般還用以下單位來計

量容量(以下用B來代表Byte):

1KB=1O24B

1MB=1024KB

1GB=1024MB

1TB=1024GB

■磁盤的容量單位同內存的一樣,實際上以上

單位是微機中常用的計量單位。

t鼐:第2章微型計算機結構

2.7CPU對存儲器的讀寫

■CPU要想進行數(shù)據(jù)的讀寫,必須和外部器件

(標準的說法是芯片)進行三類信息的交互:

-存儲單元的地址(地址信息)

-器件的選擇,讀或寫命令(控制信息)

-讀或寫的數(shù)據(jù)(數(shù)據(jù)信息)

t鼐:第2章微型計算機結構

2.7CPU對存儲器的讀寫

■那么CPU是通過什么將地址、數(shù)據(jù)和

控制信息傳到存儲芯片中的呢?

■電子計算機能處理、傳輸?shù)男畔⒍际?/p>

電信號,電信號當然要用導線傳送。

第2章微型計算機結構

2.7CPU對存儲器的讀寫

■在計算機中專門有連接CPU和其他芯片的導線,

通常稱為總線。

-物理上:一根根導線的集合;

-邏輯上劃分為:

?地址總線

?數(shù)據(jù)總線

■控制總線

—S/K

力就第2章微型計算機結構________________________

2.7CPU對存儲器的讀寫

■總線在邏輯上劃分的圖示:

t鼐:第2章微型計算機結構

2.7CPU對存儲器的讀寫

■CPU在內存中讀或寫的數(shù)據(jù)演示:

-讀演示

-寫演示

■從上面我們知道CPU是如何進行數(shù)據(jù)讀寫的o

可是我們如何命令計算機進行數(shù)據(jù)的讀寫呢?

第2章微型計算機結構

1.7CPU對存儲器的讀寫

CPU從內存中3號單元處讀取數(shù)據(jù)的過程

OO

第2章微型計算機結構

1.7CPU對存儲器的讀寫

CPU向內存中3號單元寫入數(shù)據(jù)26的過程

CO.OOt

t鼐:第2章微型計算機結構

2.7CPU對存儲器的讀寫

■對于8086CPU,下面的機器碼能夠完成從3

號單元讀數(shù)據(jù):

-機器碼:101000000000001100000000

-含義:從3號單元讀取數(shù)據(jù)送入寄存器AX

-CPU接收這條機器碼后將完成上面所述的

讀寫工作。

t贏第2章微型計算機結構_______________________

2.7CPU對存儲器的讀寫

■機器碼難于記憶,用匯編指令來表示,情況

如下:

-機器碼:101000000000001100000000

-對應的匯編指令:MOVAX,[3]

-含義:傳送3號單元的內容到AX

t鼐:第2章微型計算機結構

2.8地址總線

■CPU是通過地址總線來指定存儲單元

的。

■地址總線上能傳送多少個不同的信息,

CPU就可以對多少個存儲單元進行尋

址。

第2章微型計算機結構

2.8地址總線

■地址總線發(fā)送地址信息演示

第2章微型計算機結構

2.8地址總線

力就第2章微型計算機結構________________________

2.8地址總線

■一個CPU有N根地址總線,則可以說

這個CPU的地址總線的寬度為N。

■這樣的CPU最多可以尋找2的N次方

個內存單元。

t贏第2章微型計算機結構_______________________

2.9數(shù)據(jù)總線

■CPU與內存或其它器件之間的數(shù)據(jù)傳送是

通過數(shù)據(jù)總線來進行的。

■數(shù)據(jù)總線的寬度決定了CPU和外界的數(shù)據(jù)

傳送速度。

t贏第2章微型計算機結構_______________________

2.9數(shù)據(jù)總線

■我們來分別看一下它們向內存中寫入

數(shù)據(jù)89D8H時,是如何通過數(shù)據(jù)總線

傳送數(shù)據(jù)的:

-8088CPU數(shù)據(jù)總線上的數(shù)據(jù)傳送情

-8086CPU數(shù)據(jù)總線上的數(shù)據(jù)傳送情

微型計算機結構

2.9數(shù)據(jù)總線

8位數(shù)據(jù)總線上傳送的信息

d

第2章微型計算機結構

2.9數(shù)據(jù)總線

蛀就第2章微型計算機結構

2.10控制J總線

■CPU對外部器件的控制是通過控制總線來進行

的。在這里控制總線是個總稱,控制總線是一

些不同控制線的集合。

■有多少根控制總線,就意味著CPU提供了對外

部器件的多少種控制。

所以,控制總線的寬度決定了CPU對外部器件

的控制能力。

■控制點、線上發(fā)送的控制信息

第2章微型計算機結構

2.10控制總線

地址總線

t贏第2章微型計算機結構_______________________

2.10控制總線

■前面所講的內存讀或寫命令是由幾根控制

線綜合發(fā)出的:

-其中有一根名為讀信號輸出控制線負責

由CPU向外傳送讀信號,CPU向該控制

線上輸出低電平表示將要讀取數(shù)據(jù);

-有一根名為寫信號輸出控制線負責由

CPU向外傳送寫信號。

t贏第2章微型計算機結構_______________________

小結

1.CPU可以直接使用的信息在存儲器中存放。

2.存儲單元從零開始順序編號。

3.一個存儲單元可以存儲8個bit(用作單

位寫成“b”),即8位二進制數(shù)。

1B=8b1KB=1024B

1MB=1024KB1GB=1024MB

第2章微型計算機結構

小結

4.每一個CPU芯片都有許多管腳,這些管腳和總線相連。

也可以說,這些管腳引出總線。一個CPU可以引出三種

總線,總線的寬度標志了這個CPU的不同方面的性能:

-地址總線的寬度決定了CPU的尋址能力;

-數(shù)據(jù)總線的寬度決定了CPU與其它器件進行數(shù)據(jù)傳

送時的一次數(shù)據(jù)傳送量;

-控制總線寬度決定了CPU對系統(tǒng)中其它器件的控制

能力。

第2章微型計算機結構

2.4存儲器(P33)

■CPU訪問內存單元時要給出內存單元的

地址。所有的內存單元構成的存儲空間

是一個一維的線性空間。

■每一個內存單元在這個空間中都有唯一

的地址,這個唯一的地址稱為物理地址。

第2章微型計算機結構

76543210

N地址

(a)字節(jié)

15870

高位字節(jié)低位字節(jié)

N+1N地址

(b)字

3116150

高位字低位字

11

N+3N+2N+1N地址

(c)雙字

6332310

高位雙字低位雙字

111111

N+7N+6N+5N+4N+3N+2N+1N地址

(d)4字

圖2.6數(shù)據(jù)類型

第2章微型計算機結構

2.4存儲器

■2.4.1存儲單元的地址和內容

■計算機存儲信息的基本單位是一個二進制位,一位可存

儲一個二進制數(shù):0或1。每8位組成一個字節(jié),位編號如

圖2.6(a)所示。

■8086、80286的字長為16位,由兩個字節(jié)組成,位編號如

圖2.6(b)所示。

■80386到PentiumII機的字長為32位,由兩個字即4個字節(jié)組

成,在80x86系列中稱其為雙字,位編號如圖2.6(c)所示。

■此外,還有一種由8個字節(jié)即字長為64位組成的4字,位編

號如圖2.6(d)所不。

第2章微型計算機結構

■在機器里,地址也是用二進制數(shù)來表示的,是無符號

整數(shù),書寫格式使用十六進制數(shù)形式。

■既然每個字節(jié)單元有一個二進制數(shù)表示地址,那么16

位二進制數(shù)可以表示多少個字節(jié)單元的地址呢?

■顯然答案應該是有216個,所以它可以表示的地址范圍應

該是0?65535,即64KB,其地址編號的范圍用十六進制

數(shù)表示為0000H?FFFFH。

力就第2章微型計算機結構________________________

■8086/8088的地址總線為20位,可訪問的字節(jié)單元地址

范圍為00000H-FFFFFH。

■一個存儲單元中存放的信息稱為該存儲單元的內容,

圖2.7表示了存儲器里存放信息的情況??梢钥闯?,地

址為0004H單元中存放的信息為78H。

力就第2章微型計算機結構

字節(jié)

0000H

0001H

0002H

0003H

78H0004H

56H0005H

34H0006H

12H0007H

*

1EH5678H

2FH5679H

567AH

567BH

圖2.7存儲單元的地址和內容

第2章微型計算機結構

■也就是說,該單元的內容為78H,可表示為

■(0004H)=78H

■當機器字長是16位時,大部分數(shù)據(jù)都是以字為

單位表示的。一個字存入存儲器要占用相繼的兩個字

節(jié),存放時低位字節(jié)存入低地址,高位字節(jié)存入高地

址。這樣兩個字節(jié)單元就構成了一個字單元,字單元

的地址采用它的低地址來表示。

力就第2章微型計算機結構________________________

■圖2.7中所示:0004H字單元的內容為5678H

■即低地址0004H的值為78H,高地址0005H的值為56H,

兩個地址合在一起就形成了0004H字單元,內容為

5678H

■表示為(0004H尸5678H

第2章微型計算機結構

■可以看出,同一個地址既可看作字節(jié)單元的地址,又

可看作字單元、雙字單元或4字單元的地址,這要根據(jù)

使用情況確定。字單元的地址可以是偶數(shù),也可以是

奇數(shù)。但是,在8086和80286中,訪問存儲器(要求取

數(shù)或存數(shù))都是以字為單位進行的,也就是說,機器是

以偶地址訪問存儲器的。

第2章微型計算機結構

如上所述,如果用X表示某存儲單元的地址,

則X單元的內容可以表示為(X);假如X單元中存放著Y,

而Y又是一個地址,則可用(Y)=((X))來表示Y單元的

內容。

力就第2章微型計算機結構________________________

■如圖2.7中

■(0004H尸5678H

■而(5678H尸2F1EH

■則也可記作((0004H)尸2F1EH

■存儲器有這樣的特性:它的內容是取之不盡的。

也就是說,從某個單元取出其內容后,該單元仍然保

存著原來的內容不變,可以重復取出,只有存入新的

信息后,原來保存的內容才自動丟失。

t贏第2章微型計算機結構_______________________

2.11內存地址空間(補充)

■什么是內存地址空間呢?

■一個CPU的地址線寬度為10,那么可以尋

址1024個內存單元,這1024個可尋到的內

存單元就構成這個CPU的內存地址空間。

下面深入討論。

■首先需要介紹兩部分基本知識,主板和接

口卡。一

t贏第2章微型計算機結構_______________________

2.12主板

■在每一臺PC機中,都有一個主板,主板

上有核心器件和一些主要器件。

■這些器件通過總線(地址總線、數(shù)據(jù)總

線、控制總線)相連。

t贏第2章微型計算機結構_______________________

2.13接口卡

■計算機系統(tǒng)中,所有可用程序控制其工

作的設備,必須受到CPU的控制。

■CPU對外部設備不能直接控制,如顯示

器、音箱、打印機等。直接控制這些設

備進行工作的是插在擴展插槽上的接口

卡。

第2章微型計算機結構

2.14各類存儲器芯片

■從讀寫屬性上看分為兩類:

隨機存儲器(RAM)和只讀存儲器(ROM)

■從功能和連接上分類:

-隨機存儲器RAM

-裝有BIOS的ROM

-接口卡上的RAM

■PC機中各類存儲器的邏輯連接情況

第2章微型計算機結構

2.14各類存儲器芯片

■裝有BIOS的ROM

BIOS:BasicInput/OutputSystem,基本

輸入輸出系統(tǒng)。

BIOS是由主板和各類接口卡(如:顯

卡、網卡等)廠商提供的軟件系統(tǒng),可

以通過它利用該硬件設備進行最基本的

輸入輸出。在主板和某些接口卡上插有

存儲相應BIOS的ROM。

t贏第2章微型計算機結構_______________________

2.15內存地址空間

■上述的那些存儲器在物理上是獨立的

器件。

■但是它們在以下兩點上相同:

1、都和CPU的總線相連。

2、CPU對它們進行讀或寫的時候都通

過控制線發(fā)出內存讀寫命令。

t鼐:第2章微型計算機結構

2.15內存地址空間

■將各各類存儲器看作一個邏輯存儲器:

-所有的物理存儲器被看作一個由若干存儲單

元組成的邏輯存儲器;

-每個物理存儲器在這個邏輯存儲器中占有一

個地址段,即一段地址空間;

-CPU在這段地址空間中讀寫數(shù)據(jù),實際上就

是在相對應的物理存儲器中讀寫數(shù)據(jù)。

[RAM(主存儲器)

ROM(裝有系統(tǒng)BIOS)

主存儲器

地址空間

I

RAM(主存儲器)

K內里7獷展插槽

線顯存地址空間

顯卡BIOSR0加

1地址空間

獷展插槽

網卡BIOSRON

地址空間

■inF

系統(tǒng)BIOSROF網卡

地址空間/獷展插槽

其他器件

將各類存儲器看作一個邏輯存儲器

t贏第2章微型計算機結構_______________________

2.15內存地址空間

■假設,上圖中的內存空間地址段分配如下:

-地址0?7FFFH的32KB空間為主隨機存儲

器的地址空間;

-地址8000H?9FFFH的8KB空間為顯存地址

空間;

-地址AOOOH?FFFFH的24KB空間為各個

ROM的地址空間。

力就第2章微型計算機結構________________________

2.15內存地址空間

■不同的計算機系統(tǒng)的內存地址空間分

配情況是不同的。

■8086PC機內存地址空間分配的基本情

微型計算機結構

8086PC機的內存地址空間分配

00000

主存儲器地址空間

(RAM)

9FFFF

A0000

顯存地址空間

BFFFF

C0000

各類ROM地址空間

FFFFF

t鼐:第2章微型計算機結構

2.15內存地址空間

■內存地址空間:

-最終運行程序的是CPU,我們用匯編編程的

時候,必須要從CPU角度考慮問題。

-對CPU來講,系統(tǒng)中的所有存儲器中的存儲

單元都處于一個統(tǒng)一的邏輯存儲器中,它的

容量受CPU尋址能力的限制。這個邏輯存儲

器即是我們所說的內存地址空間。

t鼐:第2章微型計算機結構

關于數(shù)制的討論

■由于一個內存單元可以存放8位數(shù)據(jù),CPU

中的寄存器又可存放n個8位數(shù)據(jù)。也就

是說,計算機中的數(shù)據(jù)大多是由1?N個8位

數(shù)據(jù)構成的。

■用十六進制來表示數(shù)據(jù)可以直觀的看出這

個數(shù)據(jù)是由哪些8位數(shù)據(jù)構成的。

■如:20000=010011100010000B=4E20H

力就第2章微型計算機結構

2.3.3幾條匯編指令

匯編指令控制CPU完成的操作用高級語言的語法描述

movax,18將8送入AXAX=18

movah,78將78送入AHAH=78

addax,8將寄存器AX中的數(shù)值加上8AX=AX+8

movax,bx將寄存器BX中的數(shù)據(jù)送入寄存器AXAX=BX

addax,bx將AX,BX中的內容相加,結果存在AX中AX=AX+BX

匯編指令舉例

匯編指令不區(qū)分大小寫

第2章微型計算機結構

2.3.3幾條匯編指令

■CPU執(zhí)行下表中的程序段的每條指令后,

對寄存器中的數(shù)據(jù)進行的改變。

程序段中指令執(zhí)行情況之一(原AX中的值:0000H,原BX中的值:0000H)

程序段中的指令指令執(zhí)行后AX中的數(shù)據(jù)指令執(zhí)行后BX中的數(shù)據(jù)

movax,4E20H4E20H0000H

addax,1406H6226H0000H

movbx,2000H6226H2000H

addax,bx8226H2000H

movbx,ax8226H8226H

addax,bx?8226H?

力就第2章微型計算機結構

2.3.3幾條匯編指令

程序段中指令執(zhí)行情況之二(原AX中的值:0000H,原BX中的值:0000H)

程序段中的指令指令執(zhí)行后AX中的數(shù)據(jù)指令執(zhí)行后BX中的數(shù)據(jù)

movax,OO1AHOO1AH0000H

movbx,0026HOO1AH0026H

addal,bl0040H0026H

addah,bl2640H0026H

addbh,al2640H4026H

movah,00040H4026H

addal,85H00C5H4026H

addal,93H9.4026H

t鼐:第2章微型計算機結構

2.3.3幾條匯編指令

■在匯編指令計算結果中,我們發(fā)現(xiàn)超出寄存器

位數(shù)的最高位會丟失掉。

■這里的丟失,指的是進位制不能在8位寄存器

中保存,但是CPU不是并真的不丟棄這個進

位值,而是將進位放到另外一個寄存器中。這

個問題會在后面的課程中討論。

t贏第2章微型計算機結構_______________________

2.3.3幾條匯編指令

■所以,在進行數(shù)據(jù)傳送或者運算時,要注意

指令的兩個操作對象的位數(shù)應當一致。

■如:movax,bx

moval,18H

第2章微型計算機結構

2.4.2實模式存儲器尋址

■概括的講,16位結構描述了一個CPU具有

以下幾個方面特征:

-1、運算器一次最多可以處理16位的數(shù)據(jù)。

-2、寄存器的最大寬度為16位。

-3、寄存器和運算器之間的通路是16位的。

第2章微型計算機結構

2.68086CPU給出物理地址的方法

常規(guī)內存,是微機系

■8086有20位地址總線,統(tǒng)的基本存儲空間

地址,尋址能力為

■8086內部為16位結構,它只能傳送

16位的地址,表現(xiàn)出的尋址能力卻

只有64K。

廠;問題提出:16位的CPU結

構如何處理20位的地址?二〉

力就第2章微型計算機結構________________________

■程序員在編制程序時要把1M空間的存儲器劃分成

I段,在每個段內地址空間是線性增長的。每個段的大小可

達64KB,這樣段內地址可以用16位表示。實際上,可以

根據(jù)需要來確定段的大小,它可以是IB、100B、1000B或

在64KB范圍內的任意個字節(jié)。段不能起始于任意地址,

而必須從任一小段(Paragraph)的首地址開始。機器規(guī)定:

從0地址開始,每16個字節(jié)為一小段。下面列出了存儲器

最低地址區(qū)的三個小段的地址空間,每行為一小段。

第2章微型計算機結構

00000,00001,00002,..0000E,0000F;

00010,00011,00012,...0001E,0001F;

00020,00021,00022,..0002E,0002F;

FFFFO,FFFF1,FFFF2,.FFFFE,FFFFF

力就第2章微型計算機結構________________________

其中,第一列就是每個小段的首地址。其特征是:在十

六進制表示的地址中,最低位為0(即20位地址的低4位

為0)。在1MB的地址空間里,共有64K個小段首地址,

可表示如下:

00000H

00010H

41230H

41240H

FFFE0H

FFFF0H

力就第2章微型計算機結構________________________

2.68086CPU給出物理地址的方法

■8086CPU采用一種在內部用兩個16位

地址合成的方法來形成一個20位的物

理地址。

■8086CPU相關部件的邏輯結構

第2章微型計算機結構

U

第2章微型計算機結構

150

16位段地址0000

150

+16位偏移地址

190

20位物理地址20位物理地址

圖2.8實模式存儲器尋址時物理地址的形成與計算過程

力就第2章微型計算機結構________________________

地址加法器

■地址加法器合成物理地址的方法:

物理地址=段地址義16+偏移地址

■例如:

8086CPU訪問地址為123c8H的內存單元

而迎第2章微型計算機結構

第2章微型計算機結構

由段地址X16引發(fā)的討論

移位位數(shù)二進制十六進制十進制

010B2H2

1100B4H4

21000B8H8

310000B10H16

4100000B20H32

■觀察移位次數(shù)和各種形式數(shù)據(jù)的關系:

-(1)一個數(shù)據(jù)的二進制形式左移1位,相當于該數(shù)

據(jù)乘以2;

-(2)一個數(shù)據(jù)的二進制形式左移N位,相當于該數(shù)

據(jù)乘以2的N次方;

-(3)地址加法器如何完成段地址X16的運算?

以二進制形式存放的段地址左移4,

力就第2章微型計算機結構________________________

2.7“段地址*16+偏移地址=物理地址”的本質含義

■兩個比喻說明:

-說明“基礎地址+偏移地址=物理地址”的思

想:第一個比喻

-說明“段地址X16+偏移地址=物理地址”的思

想:第二個比喻

8086CPU就是這樣一個只能提供兩張3位數(shù)據(jù)紙

條的CPU。

第2章微型計算機結構

“基礎地址+偏移地址=物理地址”

學校體育館圖書館

?_____________________________________________?_____________________?

0m2000m2826m

■比如說,學校、體育館同在一條筆直

的單行路上(學校位于路的起點0米

處)。

■讀者在學校,要去圖書館,問我那里

的地址,我可以用幾種方式描述這個

地址?.

第2章微型計算機結構

“基礎地址+偏移地址=物理地址”

學校體育館圖書館

?________________________________________?___________________?

0m2000m2826m

■(1)從學校走2826m到圖書館。這2826可以認為是

圖書館的物理地址。

■(2)從學校走2000m到體育館,從體育館再走826m

到圖書館。

-第一個距離2000m是相對于起點的基礎地址;

-第二個距離826m是將對于基礎地址的偏移地址。

力就第2章微型計算機結構________________________

“段地址X16+偏移地址=物理地址”

■比如我們只能通過紙條來通信,讀者

問我圖書館的地址,我只能將它寫在

紙上告訴讀者。

■顯然我必須有一張可以容納4位數(shù)據(jù)

的紙條才能寫下2826這個數(shù)據(jù):

可以寫下四位數(shù)據(jù)的紙條

2826

第2章微型計算機結構

“段地址X16+偏移地址=物理地址”

■不巧的是,沒有能容納4位數(shù)據(jù)的紙條,

僅有兩張可以容納3位數(shù)據(jù)的紙條。

■這樣我只能以這種方式告訴讀者2826這

個數(shù)據(jù).

兩張可以寫下3位數(shù)據(jù)的紙條

700

826

第2章微型計算機結構

2.8段的概念

■錯誤認識:

-內存被劃分成了一個一個的段,每一個段有一個段地

址。

■其實:

-內存并沒有分段,段的劃分來自于CPU,由于

8086CPU用“(段地址X16)+偏移地址二物理地址”

的方式給出內存單元的物理地址,使得我們可以用分

段的方式來管理內存。

第2章微型計算機結構

150

16位段地址0000

150

+16位偏移地址

190

20位物理地址20位物理地址

圖2.8實模式存儲器尋址時物理地址的形成與計算過程

力就第2章微型計算機結構________________________

存儲器的分段管理1

■2.存儲器的分段管理

■①為何分段:8086的地址總線寬度為20位,尋址范圍

22』1MB,但一個地址寄存器只有16位,無法直接形成20位

地址,故把1M空間分成許多“段”,用一個寄存器表示某

段在1M空間內的起始地址(民班紡,用另一個寄存器表示表

示段內某單元相對本段起始地址的偏移地址。(用兩個16位

寄存器形成20位地址)

■②地址的表示方法:段(基)地址:偏移地址

■為能用16位寄存器表示段的起始地址(xxxxxH),并不是任意

一個單元的地址都能作段的起始地址,只有那些形式為

xxxxO”的地址才能作段的起始地址,該起始地址存入16位寄

存器時,將0省略即可。偏移地址為16位,可直接放入16位

寄存器。

第2章微型計算機結構

③邏輯地址和物理地址

邏輯地址:存儲單元地址的表達形式。

即段地址:偏移地址

物理地址:存儲單元在1M空間內的實際地址。

④已知邏輯地址,求牧理

①段地址乘以16(也就

如205AH:3B06H是將保存段地址時省略

AOH的0補回。)

物理地址XH②位對齊,加偏移地址

TTOA6H

力就第2章微型計算機結構________________________

分段管理3

⑤地址的唯一性

一個存儲單元的物理地址是唯一的,但邏輯地址并不是唯一的,

例如4106H:400AH,42AEH:258AH,……都表示同一個存儲

單元,其物理地址為4506AH。

⑥涉及分段的其他問題

a)1M內存空間總共可以分多少個段?xxxxOh

b)每個段最大可以包括多少個存儲單元?

c)xxxxH:0000H是段內哪一個單元?其物理地址是多少?

第2章微型計算機結構

3.段寄存器

8086專門存放段地址的寄存器稱為段寄存器,共有4個:CS

代碼段段寄存器;

DS—數(shù)據(jù)段段寄存器;

ES—附加段段寄存器;

SS一堆棧段段寄存器。

①段寄存器的作用:程序的不同部分放入相應段;

②段超越:取指令時,段地址只能是CS;

堆棧操作時,段地址只能是SS;

讀取數(shù)據(jù)時,默認的段寄存器為DS,

但也可以指定使用其他段寄存器。

力就第2章微型計算機結構

■段寄存器使用規(guī)定

訪問存儲默認可超越的偏移地址

方式段寄存器-段-/泣不~零:---左--m+罌--:;好》與本---

取指令CS無IP

堆棧操作SS無SP

一般數(shù)據(jù)訪問DSCS,ES,SS啟效地址EA

[串的源操作數(shù)J

DSCS,ES,SSSI

串的目的操作數(shù)ES無DI

BP作基址時SSCS,ES,SSW效地址EA

注意:雖然有些操作允許段超越,但除了編寫COM程序,一般

情況下不使用段超越,特別是堆棧段只用于堆棧操作。

第2章微型計算機結構

段大于64K示意圖

事個段最大空

|0段寄存器指向活:

64K

苴疊,取決于

)4K,只要在

直(程序有多

修改段寄存器值64K

使其指向新地址

返回1.5

第2章微型計算機結構

2.8段的概念

■以后,在編程時可以根據(jù)需要,將若

干地址連續(xù)的內存單元看作一個段,

用段地址義16定位段的起始地址(基

礎地址),用偏移地址定位段中的內

存單元。

■兩點需要注意

■內存單元地址小結

■特別提示

t鼐:第2章微型計算機結構

兩點需要注意

■(1)段地址x16必然是16的倍數(shù),所

以一個段的起始地址也一定是16的倍數(shù);

■(2)偏移地址為16位,16位地址的尋址

能力為64K,所以一個段的長度最大為

64Ko

第2章微型計算機結構

內存單元地址小結

■CPU訪問內存單元時,必須向內存提

供內存單元的物理地址。

■8086CPU在內部用段地址和偏移地址

移位相加的方法形成最終的物理地址。

■思考兩個問題

第2章微型計算機結構

內存單元地址小結

■(1)觀察下面的地址,讀者有什么

發(fā)現(xiàn)?

物理地址段地址偏移地址

21F60H2000H1F60H

2100H0F60H

21F0H0060H

21F6H0000H

1F00H2F60H

■結論:CPU可以用不同的段地址和

偏移地址形成同一個物理地址。

第2章微型計算機結構

內存單元地址小結

■(2)如果給定一個段地址,僅通過變化偏移地址來進

行尋址,最多可以定位多少內存單元?

-結論:偏移地址16位,變化范圍為0?FFFFH,僅用

偏移地址來尋址最多可尋64K個內存單元。

-比如:給定段地址1000H,用偏移地址尋址,CPU

的尋址范圍為:10000H?1FFFFH。

第2章微型計算機結構

內存單元地址小結

■在8086PC機中,存儲單元的地址用兩個元素來描述。即段

地址和偏移地址。

■“數(shù)據(jù)在21F60H內存單元中?!睂τ?086PC機的兩種描

述:

-(a)數(shù)據(jù)存在內存2000:lF60單元中;

-(b)數(shù)據(jù)存在內存的2000段中的1F60H單元中。

■可根據(jù)需要,將地址連續(xù)、起始地址為16的倍數(shù)的一組內

存單元定義為一個段。

力就第2章微型計算機結構

2.9段寄存器

■段寄存器就是提供段地址的O

8086CPU有4個段寄存器:

CS、DS、SS、ES

■當8086CPU要訪問內存時,由這4個段

寄存器提供內存單元的段地址。

t贏第2章微型計算機結構_______________________

2.10CS和IP

■CS和IP是8086CPU中最關鍵的寄存器,

它們指示了CPU當前要讀取指令的地址。

CS為代碼段寄存器;

IP為指令指針寄存器。

力就第2章微型計算機結構________________________

8086PC讀取和執(zhí)行指令相關部件

內存匯編指令

B820000]

20001IBOVax,0123H

23

0120002J

BB20003]

20004\?°ubx,00。3H

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論