微機原理及匯編語言第03章1_第1頁
微機原理及匯編語言第03章1_第2頁
微機原理及匯編語言第03章1_第3頁
微機原理及匯編語言第03章1_第4頁
微機原理及匯編語言第03章1_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第3章章第第3 3章:存儲器系統(tǒng)章:存儲器系統(tǒng)教學重點n 8086存儲結構n SRAM、EPROM與與CPU的連接的連接第第3 3章章:3.1 半導體存儲器概述半導體存儲器概述除采用磁、光原除采用磁、光原理的輔存外,其理的輔存外,其它存儲器主要都它存儲器主要都是采用半導體存是采用半導體存儲器儲器本章介紹采用半本章介紹采用半導體存儲器及其導體存儲器及其組成主存的方法組成主存的方法CPUCACHE主存(內存)主存(內存)輔存(外存)輔存(外存)第第3 3章:章:3.1.1 半導體存儲器的分類半導體存儲器的分類按制造工藝按制造工藝雙極型:雙極型:速度快速度快、集成度低、功耗大、集成度低、功耗大MO

2、S型:速度慢、集成度高、型:速度慢、集成度高、功耗低功耗低按使用屬性按使用屬性隨機存取存儲器隨機存取存儲器RAM:可讀可寫可讀可寫、斷電丟失、斷電丟失只讀存儲器只讀存儲器ROM:正常只讀、:正常只讀、斷電不丟失斷電不丟失詳細分類,請看圖示第第3 3章:章:圖圖3.1 半導體存儲器的分類半導體存儲器的分類半導體半導體存儲器存儲器只讀存儲器只讀存儲器 (ROM)隨機存取存儲器隨機存取存儲器(RAM)靜態(tài)靜態(tài)RAM(SRAM)動態(tài)動態(tài)RAM(DRAM) 非易失非易失RAM(NVRAM)掩膜式掩膜式ROM一次性可編程一次性可編程ROM(PROM) 紫外線擦除可編程紫外線擦除可編程ROM(EPROM)電

3、擦除可編程電擦除可編程ROM(EEPROM)詳細展開,注意對比第第3 3章:章:讀寫存儲器讀寫存儲器RAM組成單元組成單元速度速度集成度集成度應用應用SRAM觸發(fā)器觸發(fā)器快快低低小容量系統(tǒng)小容量系統(tǒng)DRAM極間電容極間電容慢慢高高大容量系統(tǒng)大容量系統(tǒng)NVRAM帶微型電池帶微型電池慢慢低低小容量非易失小容量非易失第第3 3章:章:只讀存儲器只讀存儲器ROM掩膜掩膜ROM:信息制作在芯片中,不可更改信息制作在芯片中,不可更改PROM:允許一次編程,此后不可更改允許一次編程,此后不可更改EPROM:用紫外光擦除,擦除后可編程;用紫外光擦除,擦除后可編程;并允許用戶多次擦除和編程并允許用戶多次擦除和編

4、程EEPROM(E2PROM):):采用加電方法在采用加電方法在線進行擦除和編程,也可多次擦寫線進行擦除和編程,也可多次擦寫Flash Memory(閃存):能夠快速擦寫的(閃存):能夠快速擦寫的EEPROM,但只能按塊(,但只能按塊(Block)擦除)擦除第第3 3章章:3.1.2 存儲器的主要性能指標存儲器的主要性能指標見書見書P-36P-36第第3 3章章:3.1.3 存儲系統(tǒng)的層次結構存儲系統(tǒng)的層次結構CPUCACHE主存(內存)主存(內存)輔存(外存)輔存(外存)3.2 8086存儲器結構存儲器結構寄存器是微處理器內部暫存數(shù)據(jù)的存儲單寄存器是微處理器內部暫存數(shù)據(jù)的存儲單元,以名稱表示

5、元,以名稱表示存儲器則是微處理器外部存放程序及其數(shù)存儲器則是微處理器外部存放程序及其數(shù)據(jù)的空間據(jù)的空間程序及其數(shù)據(jù)可以長久存放在外存,在程程序及其數(shù)據(jù)可以長久存放在外存,在程序需要時才進入主存序需要時才進入主存主存需要利用地址區(qū)別主存需要利用地址區(qū)別存儲器單元的地址和內容存儲器單元的地址和內容存儲單元地址存儲單元地址 :8086系統(tǒng)中,為了標識和系統(tǒng)中,為了標識和存取每一個存儲單元,給每個存儲單元規(guī)定存取每一個存儲單元,給每個存儲單元規(guī)定一個編號,這就是存儲單元地址。一個編號,這就是存儲單元地址。 存儲單元的內容存儲單元的內容 :一個存儲單元中存放的:一個存儲單元中存放的信息稱為該存儲單元的內

6、容。信息稱為該存儲單元的內容。 物理地址和邏輯地址物理地址和邏輯地址對應每個物理存儲單元都有一個唯一的對應每個物理存儲單元都有一個唯一的20位編號,就是物理地址,從位編號,就是物理地址,從00000HFFFFFH。分段后在用戶編程時,采用邏輯地址,形分段后在用戶編程時,采用邏輯地址,形式為式為段基地址段基地址 : : 段內偏移地址段內偏移地址分隔符分隔符邏輯地址邏輯地址段地址說明邏輯段在主存中的起始位置段地址說明邏輯段在主存中的起始位置8086規(guī)定段地址必須是模規(guī)定段地址必須是模16地址:地址:xxxx0H省略低省略低4位位0000B,段地址就可以用,段地址就可以用16位數(shù)據(jù)表示,就能位數(shù)據(jù)表

7、示,就能用用16位位段寄存器表達段地址段寄存器表達段地址偏移地址說明主存單元距離段起始位置的偏移量偏移地址說明主存單元距離段起始位置的偏移量每段不超過每段不超過64KB,偏移地址也可用,偏移地址也可用16位位數(shù)據(jù)表示數(shù)據(jù)表示物理地址和邏輯地址的轉換物理地址和邏輯地址的轉換將邏輯地址中的段地址左移將邏輯地址中的段地址左移4 4位,加上偏移位,加上偏移地址就得到地址就得到2020位物理地址位物理地址一個物理地址可以有多個邏輯地址一個物理地址可以有多個邏輯地址邏輯地址邏輯地址 1460:1001460:100、1380:F001380:F00物理地址物理地址 14700H 14700H14700H

8、14700H146014600 0H H 100H100H14700H14700H138013800 0H H F00HF00H14700H14700H段地址左移段地址左移4 4位位加上偏移地址加上偏移地址得到物理地址得到物理地址3.2.1 數(shù)據(jù)信息的表達單位數(shù)據(jù)信息的表達單位計算機中信息的單位計算機中信息的單位二進制位二進制位BitBit:存儲一位二進制數(shù):存儲一位二進制數(shù):0 0或或1 1字節(jié)字節(jié)ByteByte:8 8個二進制位,個二進制位,D D7 7D D0 0字字WordWord:1616位,位,2 2個字節(jié),個字節(jié),D D1515D D0 0雙字雙字DWordDWord:3232

9、位,位,4 4個字節(jié),個字節(jié),D D3131D D0 0最低有效位最低有效位LSBLSB:數(shù)據(jù)的最低位,:數(shù)據(jù)的最低位,D D0 0位位最高有效位最高有效位MSBMSB:數(shù)據(jù)的最高位,對應字節(jié)、字、:數(shù)據(jù)的最高位,對應字節(jié)、字、雙字分別指雙字分別指D D7 7、D D1515、D D3131位位3.2.1 數(shù)據(jù)的存儲格式數(shù)據(jù)的存儲格式D7D0字節(jié)字節(jié)D15D0字字D31D0雙字雙字D7 D000006H78H00005H56H00004H12H00003H34H00002H00001H00000H低地址低地址3.2.1 存儲單元及其存儲內容存儲單元及其存儲內容每個存儲單元都有一個編號;被稱每個

10、存儲單元都有一個編號;被稱為存儲器地址為存儲器地址每個存儲單元存放一個字節(jié)的內容每個存儲單元存放一個字節(jié)的內容0002H0002H單元存放有一個數(shù)據(jù)單元存放有一個數(shù)據(jù)34H34H表達為表達為0002H0002H34H34H3.2.1 多字節(jié)數(shù)據(jù)存放方式多字節(jié)數(shù)據(jù)存放方式多字節(jié)數(shù)據(jù)在存儲器中占連續(xù)的多個存儲單元:多字節(jié)數(shù)據(jù)在存儲器中占連續(xù)的多個存儲單元:存放時,存放時,低字節(jié)存入低地址,高字節(jié)存入高地址低字節(jié)存入低地址,高字節(jié)存入高地址;表達時,用它的表達時,用它的低地址表示低地址表示多字節(jié)數(shù)據(jù)占據(jù)的地址空多字節(jié)數(shù)據(jù)占據(jù)的地址空間。間。圖圖2.32.3中中2 2號號“字字”單元的內容為:單元的內

11、容為:0002H = 1234H0002H = 1234H2 2號號“雙字雙字”單元的內容為:單元的內容為:0002H = 78561234H0002H = 78561234H 80 x86處理器采用處理器采用“低對低、高對低對低、高對高高”的存儲形式,被稱為的存儲形式,被稱為“小端方式小端方式Little Endian”。 相 對 應 還 存 在相 對 應 還 存 在 “ 大 端 方 式大 端 方 式 B i g Endian”。圖表明了存儲器中部圖表明了存儲器中部分存儲單元存放信息情分存儲單元存放信息情況。況。從圖可看到從圖可看到,地址為地址為34560H的字節(jié)的存儲的字節(jié)的存儲單元中的內

12、容是單元中的內容是34H,而地址為而地址為34561H的字的字節(jié)存儲單元中的內容是節(jié)存儲單元中的內容是12H。數(shù)據(jù)的地址對齊數(shù)據(jù)的地址對齊同一個存儲器地址可以是字節(jié)單元地址、字同一個存儲器地址可以是字節(jié)單元地址、字單元地址、雙字單元地址等等單元地址、雙字單元地址等等字單元安排在偶地址(字單元安排在偶地址(xxx0Bxxx0B)、雙字單元)、雙字單元安排在模安排在模4 4地址(地址(xx00Bxx00B)等,被稱為)等,被稱為“地址對地址對齊(齊(AlignAlign)”對于不對齊地址的數(shù)據(jù),處理器訪問時,需對于不對齊地址的數(shù)據(jù),處理器訪問時,需要額外的訪問存儲器時間要額外的訪問存儲器時間應該將

13、數(shù)據(jù)的地址對齊,以取得較高的存取應該將數(shù)據(jù)的地址對齊,以取得較高的存取速度速度視具體情況來確定視具體情況來確定段的概念段的概念段的概念段的概念段的概念段的概念段的概念段的概念段的概念段的概念存儲器的分段管理存儲器的分段管理8086CPU8086CPU有有2020條地址線條地址線最大可尋址空間為最大可尋址空間為2 220201MB1MB物理地址范圍從物理地址范圍從00000H00000HFFFFFHFFFFFH8086CPU8086CPU將將1MB1MB空間分成許多空間分成許多邏輯段(邏輯段(SegmentSegment)每個段最大限制為每個段最大限制為64KB64KB段地址的低段地址的低4 4

14、位為位為0000B0000B這樣,一個存儲單元除具有一個唯一的物理地址這樣,一個存儲單元除具有一個唯一的物理地址外,還具有多個邏輯地址外,還具有多個邏輯地址段寄存器和邏輯段段寄存器和邏輯段8086有有4個個16位段寄存器位段寄存器CS(代碼段)指明代碼段的起始地址(代碼段)指明代碼段的起始地址SS(堆棧段)指明堆棧段的起始地址(堆棧段)指明堆棧段的起始地址DS(數(shù)據(jù)段)指明數(shù)據(jù)段的起始地址(數(shù)據(jù)段)指明數(shù)據(jù)段的起始地址ES(附加段)指明附加段的起始地址(附加段)指明附加段的起始地址每個段寄存器用來確定一個邏輯段的起始地址,每個段寄存器用來確定一個邏輯段的起始地址,每種邏輯段均有各自的用途每種邏

15、輯段均有各自的用途代碼段代碼段(Code Segment)代碼段用來存放程序的指令序列代碼段用來存放程序的指令序列v 代碼段寄存器代碼段寄存器CS存放代碼段的段地址存放代碼段的段地址v 指令指針寄存器指令指針寄存器IP指示下條指令的偏移地址指示下條指令的偏移地址 處理器利用處理器利用CS:IP取得下一條要執(zhí)行的指令取得下一條要執(zhí)行的指令堆棧段堆棧段(Stack Segment)堆棧段確定堆棧所在的主存區(qū)域堆棧段確定堆棧所在的主存區(qū)域v堆棧段寄存器堆棧段寄存器SS存放堆棧段的段地址存放堆棧段的段地址v堆棧指針寄存器堆棧指針寄存器SP指示堆棧棧頂?shù)钠频刂分甘径褩m數(shù)钠频刂?處理器利用處理器利

16、用SS:SP操作堆棧頂?shù)臄?shù)據(jù)操作堆棧頂?shù)臄?shù)據(jù)數(shù)據(jù)段數(shù)據(jù)段(Data Segment)數(shù)據(jù)段存放運行程序所用的數(shù)據(jù)數(shù)據(jù)段存放運行程序所用的數(shù)據(jù)v數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址存放數(shù)據(jù)段的段地址v各種主存尋址方式(有效地址各種主存尋址方式(有效地址EA)得到存儲器中)得到存儲器中操作數(shù)的偏移地址操作數(shù)的偏移地址 處理器利用處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù)存取數(shù)據(jù)段中的數(shù)據(jù)附加段附加段(Extra Segment)附加段是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存:附加段是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存:v 附加段寄存器附加段寄存器ES存放附加段的段地址存放附加段的段地址v 各種主存尋址方

17、式(有效地址各種主存尋址方式(有效地址EA)得到存儲器中操作數(shù))得到存儲器中操作數(shù)的偏移地址的偏移地址處理器利用處理器利用ES:EA存取附加段中的數(shù)據(jù)存取附加段中的數(shù)據(jù) 串操作指令將附加段作為其目的操作數(shù)的存放區(qū)串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域域如何分配各個邏輯段如何分配各個邏輯段程序的指令序列必須安排在代碼段程序的指令序列必須安排在代碼段程序使用的堆棧一定在堆棧段程序使用的堆棧一定在堆棧段程序中的數(shù)據(jù)默認是安排在數(shù)據(jù)段,也經(jīng)程序中的數(shù)據(jù)默認是安排在數(shù)據(jù)段,也經(jīng)常安排在附加段,尤其是串操作的目的區(qū)常安排在附加段,尤其是串操作的目的區(qū)必須是附加段必須是附加段數(shù)據(jù)的存放比較靈活,實際上

18、可以存放在數(shù)據(jù)的存放比較靈活,實際上可以存放在任何一種邏輯段中任何一種邏輯段中段超越前綴指令段超越前綴指令沒有指明時,一般的數(shù)據(jù)訪問在沒有指明時,一般的數(shù)據(jù)訪問在DSDS段;使用段;使用BPBP訪訪問主存,則在問主存,則在SSSS段段默認的情況允許改變,需要使用段超越前綴指令;默認的情況允許改變,需要使用段超越前綴指令;80868086指令系統(tǒng)中有指令系統(tǒng)中有4 4個:個:CS:CS:;代碼段超越,使用代碼段的數(shù)據(jù);代碼段超越,使用代碼段的數(shù)據(jù)SS: SS: ;堆棧段超越,使用堆棧段的數(shù)據(jù);堆棧段超越,使用堆棧段的數(shù)據(jù)DS: DS: ;數(shù)據(jù)段超越,使用數(shù)據(jù)段的數(shù)據(jù);數(shù)據(jù)段超越,使用數(shù)據(jù)段的數(shù)據(jù)

19、ES: ES: ;附加段超越,使用附加段的數(shù)據(jù);附加段超越,使用附加段的數(shù)據(jù)段超越的示例段超越的示例沒有段超越的指令實例:沒有段超越的指令實例:MOV AX,2000HMOV AX,2000H ;AXDS:2000HAXDS:2000H;從默認的;從默認的DSDS數(shù)據(jù)段取出數(shù)據(jù)數(shù)據(jù)段取出數(shù)據(jù)采用段超越前綴的指令實例:采用段超越前綴的指令實例:MOV AX,ES:2000HMOV AX,ES:2000H;AXES:2000HAXES:2000H;從指定的;從指定的ESES附加段取出數(shù)據(jù)附加段取出數(shù)據(jù)段寄存器的使用規(guī)定段寄存器的使用規(guī)定訪問存儲器的方式訪問存儲器的方式默認默認可超越可超越偏移地址偏

20、移地址取指令取指令CSCS無無IPIP堆棧操作堆棧操作SSSS無無SPSP一般數(shù)據(jù)訪問一般數(shù)據(jù)訪問DSDSCS ES SSCS ES SS有效地址有效地址EAEABPBP基址的尋址方式基址的尋址方式SSSSCS ES DSCS ES DS有效地址有效地址EAEA串操作的源操作數(shù)串操作的源操作數(shù)DSDSCS ES SSCS ES SSSISI串操作的目的操作數(shù)串操作的目的操作數(shù)ESES無無DIDI存儲器的分段存儲器的分段8086對邏輯段要求:對邏輯段要求:段地址低段地址低4位均為位均為0每段最大不超過每段最大不超過64KB8086對邏輯段并不要求:對邏輯段并不要求:必須是必須是64KB各段之間完

21、全分開(即可以重疊)各段之間完全分開(即可以重疊)【例】各獨立段的分配情況示例?!纠扛鳘毩⒍蔚姆峙淝闆r示例。設設CS=B000H、DS=1CDEH、SS=4200H、ES=0150H,它們分別為代碼段、數(shù)據(jù)段、堆它們分別為代碼段、數(shù)據(jù)段、堆棧段和附加段的段首址。自每個段首址開始,棧段和附加段的段首址。自每個段首址開始,各段均占各段均占64KB的范圍,各段之間互不重疊。的范圍,各段之間互不重疊。如圖所示。如圖所示?!纠扛鞫蜗嗷ブ丿B情況示例。【例】各段相互重疊情況示例。設設CS=0200H、DS=0400H、SS=0480H,這樣代碼段、數(shù)據(jù)段和堆棧段的物理首地址這樣代碼段、數(shù)據(jù)段和堆棧段的物

22、理首地址分別為分別為02000H、04000H和和04800H。其中代。其中代碼段占碼段占8KB地址空間,數(shù)據(jù)段占地址空間,數(shù)據(jù)段占2KB,堆棧,堆棧段占段占256B,SP=0100H。如圖所示。如圖所示。 8086CPU的地址線是的地址線是20位的,這樣最大可尋址空間應為位的,這樣最大可尋址空間應為220=1MB,其物理地址范圍從,其物理地址范圍從00000HFFFFFH。而。而8086CPU寄存寄存器都是器都是16位的。那么,這位的。那么,這1MB空間如何用空間如何用16位寄存器表達呢?位寄存器表達呢?根據(jù)要求可把根據(jù)要求可把1M字節(jié)地址空間劃成若干邏輯段。每個邏輯字節(jié)地址空間劃成若干邏輯段。每個邏輯段必須滿足兩個條件:一是邏輯段的起始地址(簡稱段首址)必須段必須滿足兩個條件:一是邏輯段的起始地址(簡稱段首址)必須是是16的倍數(shù);二是邏輯段的最大長度為的倍數(shù);二是邏輯段的最大長度為64K。按照這兩個條件,。按照這兩個條件,1M字節(jié)地址空間最多可劃分成字節(jié)地址空間最多可劃分成64K個邏輯段,最少也要劃分成個邏輯段,最少也要劃分成16個邏個邏輯段。邏輯段與邏輯段可以相連,也可以不連,還可以重疊。輯段。邏輯段與邏輯段可以相連,也可以不連,還可以重疊。1MB空間的分段空間的分段1MB1MB空

溫馨提示

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

評論

0/150

提交評論