第二章微型計算機概述_第1頁
第二章微型計算機概述_第2頁
第二章微型計算機概述_第3頁
第二章微型計算機概述_第4頁
第二章微型計算機概述_第5頁
已閱讀5頁,還剩110頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

章本章內容

型計算機硬件基本結構

計計算機的常用求得

計算機的工作原理

概086微處理器

2.1計算機硬件基本結構

計算機的CPU、主板、內存條、硬盤、

軟盤、顯示卡、顯示器、鍵盤、鼠標等。這

些都是計算機的部件,雖然這些部件的功能

與性能都有了巨大的發(fā)展,但是計算機的基

本結構未變,如下圖所示。

微型計算機組成框圖

/wi外

J設

★計算機最早是作為運算工具出現的。顯然,它首

先要有能進行運算的部件,稱為運算器。

★其次要有能記憶原始題目、原始數據和中間結果以

及為了使機器能自動進行運算而編制的各種命令的器

件,這種器件就稱為存儲器。

★再次,要有能代替人的控制作用的控制器,它能I

根據事先給定的命令發(fā)出各種控制信息,使整個計

算過程能一步步地自動進行。I

★但是光有運算器、控制器和存儲器還不夠,原始

的數據與命令要輸入,所以需要有輸入設備;而計

算的結果(或中間過程)需要輸出,就要有輸出設備。

這樣就構成了一個基本的計算機系統。

在計算機硬件(Hardware)中,往往把運算

器、控制器和存儲器合在一起稱為計算機的主

機;而把各種輸入輸出設備統稱為計算機的外

圍設備或外部設備(Peripheral)。

在主機部分中,又把運算器和控制器合在

一起稱為中央處理單元CPU(Central

ProcessingUnit)o隨著半導體集成電路技術

的發(fā)展,可以把整個CPU集成在一個集成電

路芯片上,就把它稱為微處理器

(Microprocessor)o

系統總線

(1)、總線:傳遞信息的一組公用導線。

(2)、系統總線:從處理器引出的若干信號線,CPU

通過它們與存儲器或I/O設備進行信息交換。系統總

線分為:(

(A)、地址總線:傳遞地址信息的總線,即AB。CPU在地

址總線上輸出將要訪問的內存單元或I/O端口的地址,該總線

為單向總線。\

內存容量的計算:10條地址線可訪問21。=1KB(

16條地址線可訪問216=64KB

20條地址線可訪問22。=1MB

IK=1024BIM=1024KB1G=1024MB

總線:傳遞數據信息的總線,即DB。

在CPU進行讀操作時,內存或外設的數據通過數據總線送往

CPU;

在CPU進行寫操作時,CPU數據通過數據總線送往內存或外

設,數據總線是雙向總線。I

(C)、控制總線:傳遞控制信息的總線,即CB。I

控制總線的方向:一部分是從CPU輸出:通過對指令的譯碼,(

由CPU內部產生,由CPU送到存儲器、輸入/輸出接口電路

和其它部件。如時鐘信號、控制信號等。

另一部分是由系統中的部件產生,送往CPU,如:中斷

請求信號、總線請求信號、狀態(tài)信號。

4地址總線AB

。輸出將要訪問的內存單元或I/O端口的地址

。地址線的多少決定了系統直接尋址存儲器的范圍

>數據總線DB

。CPU讀操作時,外部數據通過數據總線送往CPU

?CPU寫操作時,CPU數據通過數據總線送往外部

。數據線的多少決定了一次能夠傳送數據的位數

>控制總線CB

。協調系統中各部件的操作,有輸出控制、輸入狀態(tài)等

。控制總線決定了系統總線的特點,例如功能、適應性等

k線的使用特點:

1、在某一時刻,只能由一個總線主控設備來控制總

線,其它總線主控設備此時必須放棄對總線的控制。

2、在連接系統的各個設備中,在某一時刻只能有一

發(fā)送者發(fā)送信號,但可以有多個設備從總線上同時

獲得信號。

3、通過總線插槽來接口板連接。

明確3個概念的區(qū)別

微處理器(Microprocessor)

。一個大規(guī)模集成電路芯片

。內含控制器、運算器和寄存器等

。微機中的核心芯片

微型計算機(Microcomputer)

。通常指微型計算機的硬件系統

。還有一般的說法:微機、微型機「二1

微型計算機系統(Microcomputersystem)

。指由硬件和軟件共同組成的完整的計算機系統

微型計算機系統

微處理器

微型計算機

運算器控制器

寄存器組

內存儲器總線

輸入輸出輸出

&接口電路

外部設備軟件

區(qū)別3個概念

2.1.1中央處理器CPU

中央處理單元CPU(CentralProcessor

Unit)是一臺計算機的心臟,主要由運算器和

控制器構成,用來解釋指令并進行算術和邏

輯運算。

臺式個人計算機的CPU,其形狀比火柴

盒略大,但集成了成千上萬的邏輯門陣電路,

這些邏輯門陣電路組成了用于進行運算的加

法器、算術邏輯單元、譯碼器、數據選擇器、

觸發(fā)器、寄存器、計數器等基本運算單元。

CPU的形狀如下圖所示。

英特爾微處理器芯片

intel.)

8088CPUf

Pentium80386Intel賽揚D352

?IA?32結構微處理器的概要歷史

IA-64(安騰)

X奔騰4/

/奔騰叫/^?

奔i

奔騰……,,1

(8048Tzz

80386^^

808802686/^

4004

>19714004,宣告微型計算機時代的到來。

a1972年8008,8位微處理器

>1974年8080

>1977年8085(8080+支持電路)

>1978年8086,16位微處理器,2?9萬5?8MHz3um

>1979年8088(外部數據線改為8位,稱為準16位)

>1982年80286

>1985年80386(32位微處理器)

>1989年80486

>1993年Pentium(奔騰、586)

>1995年PentiumPro(高能奔騰、P6)

>1996年MMXPentium(多能奔騰)

>1997年Pentiumii(奔騰ii,真正的第6代微處理器686)

>1999年Pentiumiii(奔騰iii)

>2000年Pentium4(奔騰4)

>2003年Pentium4HT1.25億3.4GHz0.09um

與CPU有關的幾個常見概念

>王頻

CPU內部的時鐘頻率,是CPU進行運算

時的工作頻率。

一般來說,主頻越高,一個時鐘周期里

完成的指令數也越多,CPU的運算速度也就

越快。但由于內部結構不同,并非所有時鐘

頻率相同的CPU性能都一樣。

>主頻是顯示CPU性能的最根本的指標,選購電腦的CPU時,

常常會說到“PentiumIII600"、uPentiumIII600B”、

“Duron600"、“Athon900”等等,這些型號里面的數

字就是CPU的主頻。

大多數人都認為CPU的主頻指的是CPU運行的速度,實

際上這個認識是片面的。

CPU的主頻表示在CPU內數字脈沖信號振蕩的速度,

CPU能夠運行在更高的頻率下說明CPU能夠承受更高的運

算速度,主頻和實際的運算速度有關。

(>外頻

CPU與周邊設備傳輸數據的頻率,具

體是指CPU到芯片組之間的總線速度。

外頻速度高,CPU就可以同時接受更

多的來自外圍設備的數據,從而使整個系

統的速度進一步提高.

0

,

(倍頻

A原先并沒有倍頻概念,CPU的主頻和系統總線

的速度是一樣的,但CPU的速度越來越快,倍

頻技術也就應允而生。它可使系統總線工作在

相對較低的頻率上,而CPU速度可以通過倍頻

來提升。CPU主頻的計算方式為:

主頻=外頻X倍頻I

>也就是倍頻是指CPU和系統總線之間相差的倍

數,當外頻不變時,提高倍頻,CPU主頻也就

相應提高。\

卜生產工藝

在生產CPU過程中,要進行加工各種電

路和電子元件,制造導線連接各個元器件。

其生產的精度以微米(um)來表示,精度越;

高,生產工藝越先進,在同樣的材料中可以

制造更多的電子元件,連接線也越細。

提高CPU的集成度,CPU的功耗也越小。!

這樣CPU的主頻也可提高,在025微米的生

產工藝最高可以達至U600MHz的頻率。而0J8

微米的生產工藝CPU可達到G赫茲的水平上。

4工作電壓

是指CPU正常工作所需的電壓,提高工

作電壓,可以加強CPU內部信號,增加CPU

的穩(wěn)定性能。但會導致CPU的發(fā)熱問題,

CPU發(fā)熱將改變CPU的化學介質,降低CPU

的壽命。

早期CPU工作電壓為5V,隨著制造工藝

與主頻的提高,CPU的工作電壓有著很大的

變化,P川CPU的電壓為1.7V,解決了CPU

發(fā)熱過高的問題。

2.1.2內存

一臺電腦必須擁有運算器、控制器、存

儲器和輸入輸出設備

運算器、控制器的作用由CPU來完成

存儲器則分為內存儲器和外存儲器。

內存儲器簡稱為內存,由半導體存儲器構

成;外存儲器則包括了硬盤、軟盤、光驅、

磁帶機等許多設備

系統內(主)存的容量會在很大程度上影響

性能。因為系統中內存容量越大,就使越多的

數據能被存儲到離CPU更近的存儲單元中,而

不是存儲到速度較慢的硬盤等其他存儲介質上。

主存儲器通常由大規(guī)模的MOS電路構成,其

工作速度雖然比硬盤高了許多,但仍比CPU慢一(

個數量級。為此,現代計算機常采用速度更高的

存儲器(當然容量更?。┳鳛镃PU與主存儲器之

間的高速緩存(Cache)o而且自486以后,把

Cache做進了CPU的內部,形成了多級Cache結

構。

現代PC機幾乎都采用高速緩存、主存儲

器和后備存儲器(如硬盤)這樣的多級存

儲體系,就是為了取得存儲容量大、存取

速度快與成本之間的適當的折衷。

SRAM

RAMDRAM

I

r內存(主存)[ROM

ROMEPROM

存儲器,E2PROM

外存(輔存)[軟盤

〔硬盤

存儲器的結構

地址內容

存儲器由256個存儲單元組成

★為了能區(qū)分不同的存儲單元,對這些存儲單元分

別編了號,用兩位十六進制數表示,這就是它們

的地址。

如OOH、01H、02H、???、FFH

★每一個存儲單元可以存放8位二進制信息(通常也

用兩位十六進制數表示),就是它們的內容。

存儲器中的不同存儲單元,是由地址總線上送

來的地址(8位二進制數),經過存儲器中的地址譯?

碼器來尋找的(每給定一個地址號,可從256個存

儲單元中找到相應于這個地址號的某一存儲單元),

然后就可以對這個存儲單元的內容進行讀或寫的

操作

(1)讀操作

若已知在04號存儲單元中,存的內容為

10000100即84H,若要把它讀出至數據總線上。

則要求CPU的地址寄存器先給出地址號04,

然后通過地址總線送至存儲器,存儲器中的地址

譯碼器對它進行譯碼,找到04號存儲單元。

再要求CPU發(fā)出讀的控制命令,于是04號存

儲單元的內容84H就出現在數據總線上,由它送

至數據寄存器DR,如下圖所示。

讀操作

(2)寫操作

若要把數據寄存器中的內容26H寫入到

10號存儲單元。

則要求CPU的AR地址寄存器先給出地

址10,通過地址總線(AB)送至存儲器,經

譯碼后找到10號存儲單元;

然后把DR數據寄存器中的內容26H經數

據總線(DB)送給存儲器;且CPU發(fā)出寫的

控制命令,于是數據總線上的信息26H就可

以寫入到10號存儲單元中,如下圖所示。

寫操作

信息寫入后「在沒有新的信息寫入

以前,該信息是一直保留的,而且我們的

存儲器的讀出是非破壞性的,即信息讀出

后存儲單元的內容不變

除非再次寫入新的信息。

■7

計算機中的信息

在計算機中,基本上有兩種信息在流動。

一種信息為數據,即各種原始數據、中間結

果等。這些數據要由輸入設備輸入,存于存儲器

中。在運算處理過程中,數據從存儲器讀入運算

器進行運算,運算的中間結果要存入存儲器中,

或最后由運算器經輸出設備輸出。

另一種信息為程序,即人們給計算機的各種控

制命令,也以數據的形式由輸入設備存至存儲器

中。在運行時從存儲器中取出送入控制器,由控

制器經過譯碼后變?yōu)楦鞣N控制信號。

2.1.3I/O設備和I/O接口

「鍵盤

f輸入設備,鼠標

掃描儀、數碼相機

I/O設備,I

r顯示器

輸出設備J打印機

繪圖儀

2.2常用的名詞術語和二進制編碼

1,位、字節(jié)、字及字長

⑴位(Bit)

“位”是指一個二進制位。它是計算機中信息存儲的

最小單位,一般用b表示

(2)字節(jié)(Byte)

“字節(jié)”是指相鄰的8個二進制位。通常用作計算存

儲容量的單位。字節(jié)作為單位時記作B

例如8086/8088有20條地址線,它的存儲器尋址范

圍(容量)是22。字節(jié),記做1MB。

1K=1024=2101M=1024K=220

1G=1024M=2301T=1024G=24°

1KB

(3)字(Word)和字長

“字”是計算機內部進行數據傳遞、處理

的基本單位。通常它與計算機內部的寄存

器、運算裝置、數據總線寬度相一致。故

取決于微處理器內部通用寄存器的位數和

數據總線的寬度

一個字所包含的二進制位數稱為字長。常

見的微型計算機的字長有8位、16位、32位

和64位

2,數字編碼

)計算機中的數用二進制表示。

比如計算機中的十進制數的每一位用若干位二進表

示,這就是十進制數的二進制編碼,簡稱二■十進

制編碼(BCD)。|

3,字符編碼|

同樣,字母、數字、符號等各種字符也必須按照特

定的規(guī)則用二進制編碼才能在計算機中表示。字符編

碼的方式很多,世界上最普遍采用的一種字符編碼是

ASCH碼(美國信息交換標準碼)。

(AmericanStandardCodeforInformationInterchange)

ASCH碼用7位二進制編碼,它有128種

組合,可以表示128種字符。包括。?9,十

個阿拉伯數字字符,大、小寫英文字母

(72個),常用標點符號和各種控制字符。

在計算機中用一個字節(jié)表示一個ASCH

碼字符,即在7位ASCH前最高位置為0。

例如,00110000-00111001(gp

30H~39H)是數字0~9的人5。1碼,而

01000001?01011010(即41H~5AH)是大

寫英文字母A~Z的ASCH碼。

ASCII字符表

7

000001010on100101110111

0000NULDLESP0@Pp

0001SOHDC111AQaq

0010STXDC2n2BRbr

0011ETXDC3#3CScs

0100EOTDC4$4DTdt

0101ENGNAK%5EUeu

0110ACKSYN&6FVfV

t

0111BELETB7GWgw

1000BSCAN(8HXhX

1001HTEM)9IYiy

1010LFSUB**JZjz

-

1011VTESC+Kk(

1100FFFS<L\1

1101CRGS-—Mm)

1110SORS?>Nn

1111SIUS/90一0DEL

注:H表示高3位,L表示低4位。

~4;i漢字編碼

不計算機能否處理漢字是能否在我國推廣計算機應用

J的關鍵.

?用計算機處理漢字,每個漢字必須用代碼表示

?鍵盤輸入漢字是輸入漢字的外部碼

?外部碼必須轉換為內部碼才能在計算機內進行存儲

和處理

?不同的漢字處理系統之間交換信息采用交換碼

?為了將漢字以點陣的形式輸出,還要將內部碼轉換

為字形碼

⑴外部碼

漢字主要是從鍵盤輸入,每個漢字對應

一個外部碼,外部碼是計算機輸入漢字的

代碼,是代表某一個漢字的一組鍵盤符號。

外部碼也叫輸入碼。漢字的輸入方法不同,

同一個漢字的外部碼可能不一樣。

(2)內部碼

漢字內部碼也稱漢字內碼或漢字機內碼。在

不同的漢字輸入方案中,同一漢字的外部碼不同,

但同一漢字的內部碼是唯一的。內部碼通常是用

其在漢字字庫中的物理位置表示,可以用漢字在

漢字字庫中的序號或者用漢字在漢字字庫中的存

儲位置表示。漢字在計算機中至少要用兩個字節(jié)

表示(有用三字節(jié)、四字節(jié)表示的「在微型計算

機中常用的是兩字節(jié)漢字內碼。'ASCII碼的最

其特點是:L高位是“o”

占2個字節(jié),其最高位尚是可

(3)交換碼

不同計算機系統之間交換信息時,要求

其間傳送的漢字代碼信息要完全一致。

)

(4)輸出碼

漢字輸出碼又稱漢字字形碼或漢字發(fā)生器

的編碼。

眾所周知,漢字無論字形有多少變化,

也無論筆劃有多有少,都可以寫在一個方塊中。

一個方塊可以看作m行n列的矩陣,稱為

點陣。一個m行n列的點陣共有mXn個點。例

如16X16點陣的漢字,共有256個點。每個點

可以是黑點或者非黑點,凡是筆劃經過的點用

黑點,于是利用點陣描繪出了漢字字形,漢字

的點陣字形在計算機中稱為字模。

漢字“中”的16X16點陣字模

漢字輸出通常使用點陣表示的字模碼,一個漢字

有多種字體、字形,用不同的字模碼表示.不同的

字體有不同的字庫.

內碼一字庫地址一選字體一字模碼

輸入設備代碼轉換軟件加漢字標識字模庫輸出設備

2字節(jié)

2.3指令、程序和指令系統

計算機的幾個主要部件構成了計算機的硬件的

基礎。但是,有硬件只是具有了計算的可能。計

算機要真正能夠進行計算還必須要有軟件的配合,

首先是各種程序(Program)。

計算機所以能脫離人的直接干預,自動地進行

計算,這是由于人把實現計算的一步步操作用命

令的形式---即一條條指令(Instruction)預先輸入

到存儲器中,在執(zhí)行時,機器把這些指令一條條

地取出來,加以翻譯和執(zhí)行。

計算機的運算是通過取數一送數一運算一存數

等操作實現的。

把要求計算機執(zhí)行的各種操作用命令的形式寫)

下來,這就是指令。通常一條指令對應著一種基本

操作。(

一臺計算機能執(zhí)行什么樣的操作,能做多少種;

操作,是由設計計算機時所規(guī)定的指令系統決定的,

計算機所能執(zhí)行的全部指令,就是計算機的指

令系統(InstructionSet)。

在使用計算機時,必須把要解決的問題編

成一條條指令,這些指令的集合就稱為程序。

用戶為解決自己的問題所編制的程序,稱

為源程序(SourceProgram)o

指令通常分成操作碼(Opcode即operation

code)和操作數(Operand)兩大部分。

r操作碼表示計算機執(zhí)行什么操作.,,

I操作數指明參加操作的數的本身或操作數所在的

地址。

★計算機發(fā)展初期,就是用指令的機器碼

直接來編制用戶的源程序,這就是機器語言階段。

因為計算機只認得二進制數碼,所以計算

機的指令系統中的所有指令,都必須以二進制

編碼的形式來表示。

★但是機器碼是由一連串的0和1組成的,

沒有明顯的特征,不好記憶,不易理解,易出

錯。所以,編寫程序成為一種十分困難而且十

分繁瑣的工作。因而,逐漸進入了匯編語言階

段。用戶用匯編語言(操作碼用助記符代替,操

作數也用一些符號來表示)編寫源程序。

2.48086/8088微處理器

8086/8088微處理器是Intel公司推出的第三代CPU芯片,它們的

內部結構基本相同,都采用16位結構進行操作及存儲器尋址,

但外部性能有所差異,兩種處理器都封裝在相同的40腳雙列直

插組件(DIP)中。

8086微處理器的一般性能特點:

1、16位的內部結構,16位雙向數據信號線;

2、20位地址信號線,可尋址1M字節(jié)存儲單元;

3、較強的指令系統;

4、利用16位的地址總線來進行I/O端口尋址,可尋址64K個I/O端口;

5、中斷功能強,可處理內部軟件中斷和外部中斷,中斷源可達256個;

6、單一的+5V電源,單相時鐘5MHz。

Intel公司同期推出的Intel8088微處理器一種準16位微處

理器,其內部寄存器,內部操作等均按16位處理器設計,與

Int£8088微處理器基本上相同,不同的是其對外的數據線只

有8位,目的是為了方便地與§位口嚶口^左相兼選_______

8086的內部結構

通用寄存器

輸入/輸出

控制電路

內部暫存器

16位

執(zhí)行部分

控制電路123456

8位

指令隊列緩沖器

標志寄存器

總線接口部件()

「熱旦忠4.BIU

學習標

?從應用角度(不是從內部工作原理)掌握

。典型8位微處理器的基本結構

o8088/8086的功能結構

o8088/8086的寄存器結構

o8088/8086的存儲器結構

2418086微處理器的基本結構

指時序

令和

譯控制總線

控制

邏輯

-

通用地址總

控地址總線

寄存器組寄存器組制

-

內部數據總線總

數據總線

_

暫存器累加器標志寄存器

1.算術邏輯單元(運算器)

2,寄存器組

3.指令處理單元(控制器)

2.4.28088/8086的功能結構

088的內部結構從功能上分成兩個單元

1.總線接口單元BIU

負責CPU對存儲器和外設進行訪問,即負責與存:

儲器及I/O接口之間的數據傳送操作;

管理8088與系統總線的接口I

2.執(zhí)行單元EU|

負責指令的譯碼、執(zhí)行和數據的運算|

?兩個單元相互獨立,分別完成各自操作,還可

以并行執(zhí)行,實現指令預取(指令讀取和執(zhí)行的

流水線操作)

8086的內部結構

通用寄存器

16位

執(zhí)行部分

123456

控制電路8位

指令隊列緩沖器

標志寄存器

執(zhí)彷能任」EU)」總線接口部件(BIU)

WBIU是CPU與外部存儲器、I/O設備的接口,完成

取指令送指令隊列,配合執(zhí)行部件的動作,從內

存單元或I/O端口取操作數,或者將操作結果送內

存單元或者I/O端口。

>主要由以下幾部分組成:

16位指令指針寄存器IP

指令隊列(8086為6個字節(jié),8088為4個字節(jié))

4個16位段寄存器:CS、DS、ES、SS

20位地址加法器

總線控制部件

>執(zhí)行部分EU的作用是負責執(zhí)行全部指令,

并負責管理標志寄存器和通用寄存器。

>EU由以下幾部分組成:

16位算術邏輯單元ALU

16位標志寄存器F

數據暫存寄存器

通用寄存器組:SP、BP、SkDI和AX、

BX、CX、DX

EU控制電路

BIU與EU的動作協調原則

總線接口部件(BIU)和執(zhí)行部件(EU)按以下流水線技術原則協調工作,

共同完成所要求的信息處理任務:

①每當8086的指令隊列中有兩個空字節(jié),或8088的指令隊列中有一個空字

節(jié)時,BIU就會自動把指令取到指令隊列中。其取指的順序是按指令在程序中出

現的前后順序

②每當EU準備執(zhí)行一條指令時,它會從BIU部件的指令隊列前部取出指令的

代碼,然后用幾個時鐘周期去執(zhí)行指令。在執(zhí)行指令的過程中,如果必須訪問存

儲器或者I/O端口,那么EU就套請求BIU,進入總線周期,完成訪問內存或者I

/O端口的操作;如果此時BIU正好處于空閑斗犬態(tài),會立即響應EU的總線請求。

如BIU正將某個指令字節(jié)取到指令隊列中,則BIU將首先完成這個取指令的總線

周期,然后再去響應EU發(fā)出的訪問總線的請求

③當指令隊列已滿,且EU又沒有總線訪問請求時,BIU便進入空閑狀態(tài)

④在執(zhí)行轉移指令、調用指令和返回指令時,由于待執(zhí)行指令的順序發(fā)生了

變化,則指令隊列中已經裝入的字節(jié)被自動消除,BIU會接著往指令隊列裝入轉

向的另一程序段中的指令代碼。

BIU與EU兩者的工作是不同步的,正是這種既相互獨立又相互配合的關系,

使得8086/8088可以在執(zhí)行指令的同時,進行取指令代碼的操作,也就是說BIU與

EU是一種并行工作方式,改變了以往計算機取指令一譯碼一執(zhí)行指令的串行工

作方式,大大提高了工作效率

2.58088/8086的寄存器結構

088/8086的寄存器組有

。8個通用寄存器

。4個段寄存器匚(

。1個標志寄存器(

。1個指令指針寄存器|

他們均為16位!

-----------------------------------------------------1

均匯編語言程序員看到的處理器,就是寄存器

?所以,一定要熟悉這些寄存器的名稱和作用

、通用寄存器

088有8個通用的16位寄存器

(1)數據寄存器:AXBXCXDX

(2)變址寄存器:SIDI

(3)指針寄存器:PSP

4個數據寄存器還可以分成高8位和低8位兩個

獨立的寄存器,這樣又形成8個通用的8位寄

存器

AX:AHALX:HL

CX:CHCLDX:DHDL

(1)數據寄存器

JAX稱為累力口器(Accumulator)

使用頻度最高。用于算術、邏輯運算以及與外設傳送信息

>BX稱為基址寄存器(BaseaddressRegister)

常用做存放存儲器地址

>CX稱為計數器(Counter)

作為循環(huán)和串操作等指令中的隱含計數器

>DX稱為數據寄存器(Dataregister)

常用來存放雙字長數據的高16位,或存放外設端口地址

(2)變址寄存器

J16位變址寄存器SI和DI

>常用于存儲器變址尋址方式時提供地址

oSI是源地址寄存器(SourceIndex)

oDI是目的地址寄存器(DestinationIndex)

?在串操作類指令中,SkDI還有較特殊的用法

(3)指針寄存器

>指針寄存器用于尋址內存堆棧內的數據

oSP為堆棧指針寄存器(StackPointer),指示堆棧

段棧加眇格髻“總二的會、_______________

。葉、:數,

'堆棧(Stack)是主存中一個特殊的區(qū),I

》SP:域,采用“先進后出”或“后進先出”存取亡?

堆;操作方式、而不是隨機存取方式。(

用8088/8086形成的微機系統中,堆棧

區(qū)域被稱為堆棧段,

二、指令指針寄存器

>IP(InstructionPointer)為指令指針寄存器,

指示主存儲器指令的位置

A隨著指令的執(zhí)行,IP將自動修改以指示下一條

指令所在的存儲器位置

AIP寄存器是一個專用寄存器J

>IP寄存器和CS段寄存器聯合使用以確定下一I

條指令的存儲單元地址

標志寄存器

?標志(Flag)用于反映指令執(zhí)行結果或控

制指令執(zhí)行形式

>8088處理器的各種標志形成了一個16位的

標志寄存器FLAGS(程序狀態(tài)字PSW寄存

器)

。程序設計需要利用標志的狀態(tài)

y

標志寄存器■分類

I狀態(tài)標志一一用來記錄程序運行結果的狀態(tài)

信息,許多指令的執(zhí)行都將相應地設置它

CFZFSFPFOFAF

>控制標志一一可由程序根據需要用指令設置,)

用于控制處理器執(zhí)行指令的方式

DFIFTF|

"青交存器FLAGS:

15121110987654321d

OFDFIFTFSFZFAFPFCF

進位標志CF(CarryFlag)

當運算結果的最高有效位有進位(加法)或借位

(減法)時,進位標志置1,即CF=1;

否則CF=O

3AH+7CH=B6H,沒有進位:CF=0

AAH+7CH=(1)26H,有進位:CF=1

1

零標志ZF(ZeroFlag)

>若運算結果為0,則ZF=1;

否則ZF=0

。注意:ZF為1表示的結果是0

y

3AH+7cH=B6H,結果不是零:ZF=0

4H+7CH=(1)OOH,結果是零:ZF=1

I

符號標志SF(SignFlag)

i

?運算結果最高位為1,則SF=1;

否則SF=O

。有符號數據用最高有效位表示數據的符號

二所以,最高有效位就是符號標志的狀態(tài)

V___________________________________________________________________________________J

3AH+7cH=B6H,最高位口7=1:SF=1

84H+7CH=(1)OOH,最高位口7=0:SF=O

奇偶標志PF(ParityFlag)

A當運算結果最低字節(jié)中“1”的個數為零

或偶數時,PF=1;否則PF=O

PF標志僅反映最低8位中“1”的個數是

[偶或奇,即使是進行16位字操作

3AH+7CH=B6H=10110110

結果中有5個“1”,是奇數:PF=O

溢出標志OF(OverflowFlag)

?若算術運算的結果有溢出,則OF=1;

否貝UOF=0

3AH+7CH=6H,產生溢出:OF=1

AAH+7CH=(1)26H,沒有溢出:OF=0

什么是溢出?

6H=10110110B,最高位為1,j

作為有符號數是負數

?對B6H求反加1等于:

■01001001B+1-01001010B-4AH-74

二所以,B6H表達有符號數的真值為一74J

已經超出一128?+127范圍,產生溢出,故OF=1;

補碼B6H表達真值是一74,顯然運算結果也不正確

溢出和進位的區(qū)別

>溢出標志OF和進位標志CF是兩個意義不

同的標志

>進位標志表示無符號數運算結果是否超出

范圍,運算結果仍然正確

>溢出標志表示有符號數運算結果是否超出

范圍,運算結果已經不正確

2

溢出和進位的對比

例1:3AH+7cH=B6H

無符號數運算:58+124=182

范圍內,無進位

有符號數運算:58+124=182

范圍外,有溢出

例2:AAH+7cH=(1)26H

無符號數運算:170+124=294

范圍外,有進位

有符號數運算:-86+124=28

范圍內,無溢出

溢出和進位的應用場合

?處理器對兩個操作數進行運算時,按照無符號

數求得結果,并相應設置進位標志CF;同時,

根據是否超出有符號數的范圍設置溢出標志

OF

?應該利用哪個標志,則由程序員來決定。也就

是說,如果將參加運算的操作數認為是無符號

數,就應該關心進位;認為是有符號數,則要

注意是否溢出

輔助進位標志AF(AuxiliaryCarryFlag)

A運算時D3位(低半字節(jié))有進位或

借位時,AF=1;否則AF=O

廣A

1這個標志主要由處理器內部使用,L

用于十進制算術運算調整指令中,一

;用戶一般不必關心I

7.二:,「一?二:,二:.二:,::.二二J

3AH+7cH=B6H,D3有進位:AF=1

方向標志DF(DirectionFlag)

A用于串操作指令中,控制地址的變化方向:

。設置DF=0,存儲器地址自動增加;

。設置DF=1,存儲器地址自動減少

ACLD指令復位方向標志:DF=0

ASTD指令置位方向標志:DF=1

中斷允許標志IF(Interrupt-enableFlag)

I控制可屏蔽中斷是否可以被處理器響應:

。設置IF=1,則允許中斷;

。設置IF=O,則禁止中斷

ACLI指令復位中斷標志:IF=O

ASTI指令置位中斷標志:IF=1

陷阱標志TF(TrapFlag)

>用于控制處理器進入單步操作方式:

。設置TF=O,處理器正常工作;

。設置TF=1,處理器單步執(zhí)行指令

>單步執(zhí)行指令——處理器在每條指令執(zhí)行結束

時,便產生一個編號為1的內部中斷

>這種內部中斷稱為單步中斷

>所以TF也稱為單步標志

■利用單步中斷可對程序進行逐條指令的調試

■這種逐條指令調試程序的方法就是單步調試

2.68088/8086的存儲器結構

?存儲器是計算機存儲信息的地方。掌握數據

存儲格式,以及存儲器的分段管理對以后的

匯編程序設計非常重要

A你能區(qū)別寄存器、存儲器(主存)、外存(包括

硬盤、光盤、磁帶等存儲介質)嗎?

答案

寄存器、存儲器和外存的區(qū)別

f

>寄存器是微處理器(CPU)內部暫存數據的存儲單

元,以名稱表示,例如:AX,BX……等。

?存儲器也就是平時所說的主存,也叫內存,可直接

與CPU進行數據交換。主存利用地址區(qū)別。

>外存主要指用來長久保存數據的外部存儲介質,常

見的有硬盤、光盤、磁帶、U盤等。外存的數據只

能通過主存間接地與CPU交換。

>程序及其數據可以長久存放在外存,在運行需要時

才進入主存。

一、數據的存儲格式

>計算機中信息的單位

。二進制位Bit:存儲一位二進制數:0或1

o字節(jié)Byte:8個二進制位,D7~D0

o字Word:16位,2個字節(jié),D[5?D。

o雙字DWord:32位,4個字節(jié),D31?D°

>最低有效位LSB:數據的最低位,Do位

(LeastSignificantBit)

>最高有效位MSB:數據的最高位,對應字節(jié)、字、雙

字分別指。7、Di5、D31位7r

(MostSignificantBit)匕0

二、存儲單元及其存儲內容

?每個存儲單元都有一個編號;被稱為

存儲器地址

>每個存儲單元存放一個字節(jié)的內容

0002H單元存放有一個數據34H

表達為[0002H]=34H

三、多字節(jié)數據存放方式

>多字節(jié)數據在存儲器中占連續(xù)的多個存

0x86處理器采用“低對低、高對高”

的存儲形式,被稱為“小端方式;Little

Endian”。(

—%相對應還存在“大端方式BigEndian"。一

L0002HJ=1234H

0002H號“雙字”單元的內容為:

[0002H]=78561234H,

四、數據的地址對齊

>同一個存儲器地址可以是字節(jié)單元地址、

字單元地址、雙字單元地址等等(視具體情況

來確定)

>字單元安排在偶地址(xxxOB)、雙字單

元安排在模4地址(xxOOB)等,被稱為“地

址對齊(Align)”

?對于不對齊地址的數據,處理器訪問時,

需要額外的訪問存儲器時間

?應該將數據的地址對齊,以取得較高的存

取速度

2.7存儲器的分段管理

請大家思考:

1,16位字長的機器可以訪問的最大存儲空間是多少?

216=64KB

2,基于8086CPU的PC機的最大存儲容量是多少?

220=1MB|

這是因為8086對外有20條地址線

☆用16進制數表示1M字節(jié)的地址范圍應為:

00000-FFFFF

3,那么,在16位字長的機器里,用什么辦法來提供20

位地址呢?

存儲器地址分段

A程序員在編制程序時把存儲器劃分成段,每個段的大

小可達64KB。

這樣段內地址可以用16位表示。

實際上段的大小并不確定,不超過64K即可。(

>但是段的起始地址有所限制,段不能起始于任意地址,

必須從任一小段的首地址開始。]

8086規(guī)定:從0地址開始,每16個字節(jié)為一小段)

如從存儲器最低地址開始的3個小段的地址區(qū)間如下:|

00000,00001,00002,…,0000E,0000F

00010,00011,00012,…,0001E,0001F

00020,00021,00022,…,0002E,0002F《

>第一列就是每一小段的首地址。

?其特征是:最低位為0(16進制),也就是20

位地址的低4位為0。

A在1M字節(jié)的地址空間里,共有64K個小段首

地址。

00000HI

00010H(

FFFE0H■

FFFF0H

A在1M字節(jié)的存儲器里,每一個存儲單元都有

一個唯一的20位地址,稱為該存儲單元的物理

地址。

>20位物理地址由20位段地址和16位段內地址

組成

?段地址是每一段的起始地址,由于它必須是小

段的首地址,所以其低4位一定0,這樣就可以

規(guī)定段地址只取段起始地址的高16位值。

?段內地址又叫偏移地址,指在段內相對于段起

始地址的偏移值。

?存儲器采用分段管理后,每個段的首地址(稱

為段基地址或段地址)保存在8086內部的CS、

DS、SS和ES四個16位的寄存器中,我們可以

對段寄存器設置不同的值以指向不同的段。

>16位的段地址和16位的偏移地址組合形成20位

的物理地址,這就是8086的工作方式,這在

0x86的尋址模式中稱為實模式。

>8088CPU有20條地址線

。最大可尋址空間為220=1MB

o物理地址范圍從00000H?FFFFFH

>8088CPU將1MB空間分成許多邏輯段(Segment)

。每個段最大限制為64KB

。段地址的低4位為0000B

A這樣,一個存儲單元除具有一個唯一的物理地

址外,還具有多個邏輯地址

A物理地址的計算方法可以表示如下:

150

16位段地址0000

150

+116位偏移地址

190

20位物理地址

>把段地址左移4位再加上偏移地址值就形成物理地址

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

\、物理地址和邏輯地址

088CPU存儲系統中,對應每個物理存儲

單元都有一個唯一的20位編號,就是物理地

址,從00000H~FFFFFH

>分段后在用戶編程時,采用邏輯地址,形

式為

段基地址:段內偏移地址

物理地址14700H

邏輯地址1460H:100H

■邏輯地址

>段地址說明邏輯段在主存中的起始位置

規(guī)定段地址必須是模16地址:xxxxOH

?省略低4位OOOOB,段地址就可以用16位數據

表示,就能用16位段寄存器表達段地址

>偏移地址說明主存單元距離段起始位置的偏移

量,稱為有效地址EA(EffectiveAddress)

?每段不超過6

溫馨提示

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

評論

0/150

提交評論