九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

微處理器硬件結(jié)構(gòu).ppt

上傳人:max****ui 文檔編號:14815307 上傳時(shí)間:2020-07-31 格式:PPT 頁數(shù):60 大?。?15KB
收藏 版權(quán)申訴 舉報(bào) 下載
微處理器硬件結(jié)構(gòu).ppt_第1頁
第1頁 / 共60頁
微處理器硬件結(jié)構(gòu).ppt_第2頁
第2頁 / 共60頁
微處理器硬件結(jié)構(gòu).ppt_第3頁
第3頁 / 共60頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《微處理器硬件結(jié)構(gòu).ppt》由會員分享,可在線閱讀,更多相關(guān)《微處理器硬件結(jié)構(gòu).ppt(60頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、計(jì)算機(jī)系統(tǒng) 存儲器 中央處理機(jī) 外部設(shè)備,主要內(nèi)容:,教學(xué)目的,了解計(jì)算機(jī)系統(tǒng)的主要組成部分 掌握存儲器地址分段方法 掌握物理地址形成 掌握8086的寄存器 掌握標(biāo)志寄存器各標(biāo)志位的意義,80 x86微處理器系列是Intel公司從20世紀(jì)70年代開始研制的微處理器的總稱。 微處理器的發(fā)展 8086微處理器,2.1 Intel80 x86微處理器系列概況,計(jì)算機(jī)的性能指標(biāo):,字長和字節(jié) 存儲容量 地址 存儲器容量 存儲器地址的最大值 存儲單元的內(nèi)容 指令系統(tǒng) 運(yùn)算速度 主頻(時(shí)鐘頻率) 系統(tǒng)配置,一、硬件:,I/O子系統(tǒng),. . .,2.2基于微處理器的計(jì)算機(jī)系統(tǒng)構(gòu)成,二、 8086微處理器基本

2、組成,三、軟件:系統(tǒng)軟件 用戶軟件,2.3 8086的功能結(jié)構(gòu),8086內(nèi)部結(jié)構(gòu)有兩個功能模塊,完成一條指令的取指和執(zhí)行功能 模塊之一:總線接口單元BIU,主要負(fù)責(zé)讀取指令和操作數(shù) 模塊之二:執(zhí)行單元EU ,主要負(fù)責(zé)指令譯碼和執(zhí)行,內(nèi)部結(jié)構(gòu),指令執(zhí)行,8086內(nèi)部結(jié)構(gòu),8086的寄存器組,對匯編語言程序員來說,8086內(nèi)部結(jié)構(gòu)就是可編程的寄存器組 執(zhí)行單元EU 8個通用寄存器 1個指令指針寄存器 1個標(biāo)志寄存器 4個段寄存器,1. 8086的通用寄存器,8086的16位通用寄存器是: AXBXCXDX SIDIBPSP 其中前4個數(shù)據(jù)寄存器都還可以分成高8位和低8位兩個獨(dú)立的寄存器 8086的

3、8位通用寄存器是: AHBHCHDH ALBLCLDL 對其中某8位的操作,并不影響另外對應(yīng)8位的數(shù)據(jù),數(shù)據(jù)寄存器,數(shù)據(jù)寄存器用來存放計(jì)算的結(jié)果和操作數(shù),也可以存放地址 每個寄存器又有它們各自的專用目的 AX累加器,使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等; BX基址寄存器,常用做存放存儲器地址; CX計(jì)數(shù)器,作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器; DX數(shù)據(jù)寄存器,常用來存放雙字長數(shù)據(jù)的高16位,或存放外設(shè)端口地址。,變址寄存器,變址寄存器常用于存儲器尋址時(shí)提供地址 SI是源變址寄存器 DI是目的變址寄存器 串操作類指令中,SI和DI具有特別的功能,指針寄存器,指針寄存器用于尋址內(nèi)

4、存堆棧內(nèi)的數(shù)據(jù) SP為堆棧指針寄存器,指示棧頂?shù)钠频刂?SP不能再用于其他目的,具有專用目的 BP為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址 SP和BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲單元地址,堆棧(Stack),堆棧是主存中一個特殊的區(qū)域 它采用先進(jìn)后出FILO(First In Last Out)或后進(jìn)先出LIFO(Last In First Out)的原則進(jìn)行存取操作,而不是隨機(jī)存取操作方式。 堆棧通常由處理器自動維持。在8086中,由堆棧段寄存器SS和堆棧指針寄存器SP共同指示,指令指針I(yè)P,指令指針寄存器IP,指示代碼段中指令的偏移地址 它與代碼段寄存器CS聯(lián)用,

5、確定下一條指令的物理地址 計(jì)算機(jī)通過CS : IP寄存器來控制指令序列的執(zhí)行流程 IP寄存器是一個專用寄存器,2. 標(biāo)志寄存器,標(biāo)志(Flag)用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式 8086處理器的各種標(biāo)志形成了一個16位的標(biāo)志寄存器FLAGS(程序狀態(tài)字PSW寄存器),程序設(shè)計(jì)需要利用標(biāo)志的狀態(tài),標(biāo)志的分類,狀態(tài)標(biāo)志用來記錄程序運(yùn)行結(jié)果的狀態(tài)信息,許多指令的執(zhí)行都將相應(yīng)地設(shè)置它 CF ZF SF PF OF AF 控制標(biāo)志可由程序根據(jù)需要用指令設(shè)置,用于控制處理器執(zhí)行指令的方式 DF IF TF,進(jìn)位標(biāo)志CF(Carry Flag),當(dāng)運(yùn)算結(jié)果的最高有效位有進(jìn)位(加法)或借位(減法)時(shí),進(jìn)

6、位標(biāo)志置1,即CF = 1;否則CF = 0。,3AH + 7CHB6H,沒有進(jìn)位:CF = 0 AAH + 7CH(1)26H,有進(jìn)位:CF = 1,零標(biāo)志ZF(Zero Flag),若運(yùn)算結(jié)果為0,則ZF = 1; 否則ZF = 0,3AH + 7CHB6H,結(jié)果不是零:ZF = 0 84H + 7CH(1)00H,結(jié)果是零:ZF = 1,注意:ZF為1表示的結(jié)果是0,符號標(biāo)志SF(Sign Flag),運(yùn)算結(jié)果最高位為1,則SF = 1;否則SF = 0,3AH + 7CHB6H,最高位D71:SF = 1 84H + 7CH(1)00H,最高位D70:SF = 0,有符號數(shù)據(jù)用最高有效

7、位表示數(shù)據(jù)的符號 所以,最高有效位就是符號標(biāo)志的狀態(tài),奇偶標(biāo)志PF(Parity Flag),當(dāng)運(yùn)算結(jié)果最低字節(jié)中“1”的個數(shù)為零或偶數(shù)時(shí),PF = 1;否則PF = 0,3AH + 7CHB6H10110110B 結(jié)果中有5個1,是奇數(shù):PF = 0,PF標(biāo)志僅反映最低8位中“1”的個數(shù)是偶或奇,即使是進(jìn)行16位字操作,溢出標(biāo)志OF(Overflow Flag),若算術(shù)運(yùn)算的結(jié)果有溢出, 則OF1;否則 OF0,3AH + 7CHB6H,產(chǎn)生溢出:OF = 1 AAH + 7CH(1)26H,沒有溢出:OF = 0,問題 什么是溢出? 溢出和進(jìn)位有什么區(qū)別? 處理器怎么處理,程序員如何運(yùn)用?

8、 如何判斷是否溢出?,什么是溢出,處理器內(nèi)部以補(bǔ)碼表示有符號數(shù) 8位表達(dá)的整數(shù)范圍是:127128 16位表達(dá)的范圍是:3276732768 如果運(yùn)算結(jié)果超出這個范圍,就產(chǎn)生了溢出 有溢出,說明有符號數(shù)的運(yùn)算結(jié)果不正確,3AH7CHB6H,就是58124182, 已經(jīng)超出128127范圍,產(chǎn)生溢出,故OF1; 另一方面,補(bǔ)碼B6H表達(dá)真值是-74, 顯然運(yùn)算結(jié)果也不正確,溢出和進(jìn)位,溢出標(biāo)志OF和進(jìn)位標(biāo)志CF是兩個意義不同的標(biāo)志 進(jìn)位標(biāo)志表示無符號數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果仍然正確; 溢出標(biāo)志表示有符號數(shù)運(yùn)算結(jié)果是否超出范圍,運(yùn)算結(jié)果已經(jīng)不正確。,請看例子,溢出和進(jìn)位的對比,例1:3AH

9、 + 7CHB6H 無符號數(shù)運(yùn)算:58124182 范圍內(nèi),無進(jìn)位 有符號數(shù)運(yùn)算: 58124182 范圍外,有溢出,例2:AAH + 7CH(1)26H 無符號數(shù)運(yùn)算:170124294 范圍外,有進(jìn)位 有符號數(shù)運(yùn)算:8612428 范圍內(nèi),無溢出,如何運(yùn)用溢出和進(jìn)位,處理器對兩個操作數(shù)進(jìn)行運(yùn)算時(shí),按照無符號數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志CF;同時(shí),根據(jù)是否超出有符號數(shù)的范圍設(shè)置溢出標(biāo)志OF。 應(yīng)該利用哪個標(biāo)志,則由程序員來決定。也就是說,如果將參加運(yùn)算的操作數(shù)認(rèn)為是無符號數(shù),就應(yīng)該關(guān)心進(jìn)位;認(rèn)為是有符號數(shù),則要注意是否溢出。,溢出的判斷,判斷運(yùn)算結(jié)果是否溢出有一個簡單的規(guī)則: 只有當(dāng)兩個相

10、同符號數(shù)相加(包括不同符號數(shù)相減),而運(yùn)算結(jié)果的符號與原數(shù)據(jù)符號相反時(shí),產(chǎn)生溢出;因?yàn)椋藭r(shí)的運(yùn)算結(jié)果顯然不正確 其他情況下,則不會產(chǎn)生溢出,輔助進(jìn)位標(biāo)志AF(Auxiliary Carry Flag),3AH + 7CHB6H,D3有進(jìn)位:AF = 1,運(yùn)算時(shí)D3位(低半字節(jié))有進(jìn)位或借位時(shí),AF = 1;否則AF = 0。,這個標(biāo)志主要由處理器內(nèi)部使用,用于十進(jìn)制算術(shù)運(yùn)算調(diào)整指令中,用戶一般不必關(guān)心,方向標(biāo)志DF(Direction Flag),用于串操作指令中,控制地址的變化方向: 設(shè)置DF0,存儲器地址自動增加; 設(shè)置DF1,存儲器地址自動減少。,CLD指令復(fù)位方向標(biāo)志:DF0 STD

11、指令置位方向標(biāo)志:DF1,中斷允許標(biāo)志IF(Interrupt-enable Flag),用于控制外部可屏蔽中斷是否可以被處理器響應(yīng): 設(shè)置IF1,則允許中斷; 設(shè)置IF0,則禁止中斷。,CLI指令復(fù)位中斷標(biāo)志:IF0 STI指令置位中斷標(biāo)志:IF1,陷阱標(biāo)志TF(Trap Flag),用于控制處理器進(jìn)入單步操作方式: 設(shè)置TF0,處理器正常工作; 設(shè)置TF1,處理器單步執(zhí)行指令。,單步執(zhí)行指令處理器在每條指令執(zhí)行結(jié)束時(shí),便產(chǎn)生一個編號為1的內(nèi)部中斷 這種內(nèi)部中斷稱為單步中斷 所以TF也稱為單步標(biāo)志 利用單步中斷可對程序進(jìn)行逐條指令的調(diào)試 這種逐條指令調(diào)試程序的方法就是單步調(diào)試,2.4存儲器組

12、織與段寄存器,寄存器是微處理器內(nèi)部暫存數(shù)據(jù)的存儲單元,以名稱表示 存儲器則是微處理器外部存放程序及其數(shù)據(jù)的空間 程序及其數(shù)據(jù)可以長久存放在外存,在程序需要時(shí)才進(jìn)入主存 主存需要利用地址區(qū)別,數(shù)據(jù)信息的表達(dá)單位,計(jì)算機(jī)中信息的單位 二進(jìn)制位Bit:存儲一位二進(jìn)制數(shù):0或1 字節(jié)Byte:8個二進(jìn)制位,D7D0 字Word:16位,2個字節(jié),D15D0 雙字DWord:32位,4個字節(jié),D31D0 最低有效位LSB:數(shù)據(jù)的最低位,D0位 最高有效位MSB:數(shù)據(jù)的最高位,對應(yīng)字節(jié)、字、雙字分別指D7、D15、D31位,圖示,1. 數(shù)據(jù)的存儲格式,低地址,存儲單元及其存儲內(nèi)容,每個存儲單元都有一個編號

13、;被稱為存儲器地址 每個存儲單元存放一個字節(jié)的內(nèi)容,0002H單元存放有一個數(shù)據(jù)34H 表達(dá)為0002H34H,圖示,多字節(jié)數(shù)據(jù)存放方式,多字節(jié)數(shù)據(jù)在存儲器中占連續(xù)的多個存儲單元: 存放時(shí),低字節(jié)存入低地址,高字節(jié)存入高地址; 表達(dá)時(shí),用它的低地址表示多字節(jié)數(shù)據(jù)占據(jù)的地址空間。,圖1.7中2號“字”單元的內(nèi)容為: 0002H = 1234H 2號“雙字”單元的內(nèi)容為: 0002H = 78561234H,80 x86處理器采用“低對低、高對高”的存儲形式,被稱為“小端方式Little Endian”。 相對應(yīng)還存在“大端方式Big Endian”。,圖示,數(shù)據(jù)的地址對齊,同一個存儲器地址可以是

14、字節(jié)單元地址、字單元地址、雙字單元地址等等 字單元安排在偶地址(xxx0B)、雙字單元安排在模4地址(xx00B)等,被稱為“地址對齊(Align)” 對于不對齊地址的數(shù)據(jù),處理器訪問時(shí),需要額外的訪問存儲器時(shí)間 應(yīng)該將數(shù)據(jù)的地址對齊,以取得較高的存取速度,視具體情況來確定,2. 存儲器的分段管理,8086CPU有20條地址線 最大可尋址空間為2201MB 物理地址范圍從00000HFFFFFH 8086CPU將1MB空間分成許多邏輯段(Segment) 每個段最大限制為64KB 段地址的低4位為0000B 這樣,一個存儲單元除具有一個唯一的物理地址外,還具有多個邏輯地址,物理地址和邏輯地址,

15、對應(yīng)每個物理存儲單元都有一個唯一的20位編號,就是物理地址,從00000HFFFFFH。 分段后在用戶編程時(shí),采用邏輯地址,形式為 段基地址 : 段內(nèi)偏移地址,分隔符,邏輯地址,段地址說明邏輯段在主存中的起始位置 8086規(guī)定段地址必須是模16地址:xxxx0H 省略低4位0000B,段地址就可以用16位數(shù)據(jù)表示,就能用16位段寄存器表達(dá)段地址 偏移地址說明主存單元距離段起始位置的偏移量 每段不超過64KB,偏移地址也可用16位數(shù)據(jù)表示,物理地址和邏輯地址的轉(zhuǎn)換,將邏輯地址中的段地址左移4位,加上偏移地址就得到20位物理地址 一個物理地址可以有多個邏輯地址,邏輯地址1460:100、1380:

16、F00 物理地址14700H 14700H,3. 段寄存器,8086有4個16位段寄存器 CS(代碼段)指明代碼段的起始地址 SS(堆棧段)指明堆棧段的起始地址 DS(數(shù)據(jù)段)指明數(shù)據(jù)段的起始地址 ES(附加段)指明附加段的起始地址 每個段寄存器用來確定一個邏輯段的起始地址,每種邏輯段均有各自的用途,代碼段(Code Segment),代碼段用來存放程序的指令序列 代碼段寄存器CS存放代碼段的段地址 指令指針寄存器IP指示下條指令的偏移地址 處理器利用CS:IP取得下一條要執(zhí)行的指令,堆棧段(Stack Segment),堆棧段確定堆棧所在的主存區(qū)域 堆棧段寄存器SS存放堆棧段的段地址 堆棧指

17、針寄存器SP指示堆棧棧頂?shù)钠频刂?處理器利用SS:SP操作堆棧頂?shù)臄?shù)據(jù),數(shù)據(jù)段(Data Segment),數(shù)據(jù)段存放運(yùn)行程序所用的數(shù)據(jù) 數(shù)據(jù)段寄存器DS存放數(shù)據(jù)段的段地址 各種主存尋址方式(有效地址EA)得到存儲器中操作數(shù)的偏移地址 處理器利用DS:EA存取數(shù)據(jù)段中的數(shù)據(jù),附加段(Extra Segment),附加段是附加的數(shù)據(jù)段,也用于數(shù)據(jù)的保存: 附加段寄存器ES存放附加段的段地址 各種主存尋址方式(有效地址EA)得到存儲器中操作數(shù)的偏移地址 處理器利用ES:EA存取附加段中的數(shù)據(jù) 串操作指令將附加段作為其目的操作數(shù)的存放區(qū)域,如何分配各個邏輯段,程序的指令序列必須安排在代碼段 程序使

18、用的堆棧一定在堆棧段 程序中的數(shù)據(jù)默認(rèn)是安排在數(shù)據(jù)段,也經(jīng)常安排在附加段,尤其是串操作的目的區(qū)必須是附加段 數(shù)據(jù)的存放比較靈活,實(shí)際上可以存放在任何一種邏輯段中,演示,段超越前綴指令,沒有指明時(shí),一般的數(shù)據(jù)訪問在DS段;使用BP訪問主存,則在SS段 默認(rèn)的情況允許改變,需要使用段超越前綴指令;8086指令系統(tǒng)中有4個: CS:;代碼段超越,使用代碼段的數(shù)據(jù) SS: ;堆棧段超越,使用堆棧段的數(shù)據(jù) DS: ;數(shù)據(jù)段超越,使用數(shù)據(jù)段的數(shù)據(jù) ES: ;附加段超越,使用附加段的數(shù)據(jù),示例,段超越的示例,沒有段超越的指令實(shí)例: MOV AX,2000H;AXDS:2000H ;從默認(rèn)的DS數(shù)據(jù)段取出數(shù)據(jù)

19、 采用段超越前綴的指令實(shí)例: MOV AX,ES:2000H;AXES:2000H ;從指定的ES附加段取出數(shù)據(jù),總結(jié),段寄存器的使用規(guī)定,存儲器的分段,8086對邏輯段要求: 段地址低4位均為0 每段最大不超過64KB 8086對邏輯段并不要求: 必須是64KB 各段之間完全分開(即可以重疊),各段獨(dú)立,各段重疊,最多多少段?,最少多少段?,各個邏輯段獨(dú)立,各個邏輯段重疊,1MB空間的分段,1MB空間最多能分成多少個段? 每隔16個存儲單元就可以開始一個段, 所以1MB最多可以有: 2201621664K 個段 1MB空間最少能分成多少個段? 每隔64K個存儲單元開始一個段, 所以1MB最少

20、可以有: 22021616 個段,總結(jié),8086有8個8位通用寄存器、8個16位通用寄存器 8086有6個狀態(tài)標(biāo)志和3個控制標(biāo)志 8086將1MB存儲空間分段管理,有4個段寄存器,對應(yīng)4種邏輯段 8086有4個段超越前綴指令,用于明確指定數(shù)據(jù)所在的邏輯段,2.5 外部設(shè)備,外部設(shè)備與主機(jī)( CPU 和存儲器)的通信是 通過外設(shè)接口(Interface)進(jìn)行的,每個接口包括 一組寄存器。 數(shù)據(jù)寄存器:存放外設(shè)和主機(jī)間傳送的數(shù)據(jù) 狀態(tài)寄存器:保存外設(shè)或接口的狀態(tài)信息 命令寄存器:保存CPU發(fā)給外設(shè)或接口的控制命令 外設(shè)中每個寄存器有一個端口(Port)地址,構(gòu)成 一個獨(dú)立于內(nèi)存的 I / O 地址空間:0000H FFFFH,寄存器與存儲器的比較: 寄 存 器 存 儲 器,在CPU內(nèi)部 在CPU外部 訪問速度快 訪問速度慢 容量小,成本高 容量大,成本低 用名字表示 用地址表示 沒有地址 地址可用各種方式形成,本章到此結(jié)束 謝謝!,邏輯段分配,8088的指令執(zhí)行示例,

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!