Intel匯編語(yǔ)言程序設(shè)計(jì)第五版Chapter2IA32處理器體系結(jié)構(gòu)課件_第1頁(yè)
Intel匯編語(yǔ)言程序設(shè)計(jì)第五版Chapter2IA32處理器體系結(jié)構(gòu)課件_第2頁(yè)
Intel匯編語(yǔ)言程序設(shè)計(jì)第五版Chapter2IA32處理器體系結(jié)構(gòu)課件_第3頁(yè)
Intel匯編語(yǔ)言程序設(shè)計(jì)第五版Chapter2IA32處理器體系結(jié)構(gòu)課件_第4頁(yè)
Intel匯編語(yǔ)言程序設(shè)計(jì)第五版Chapter2IA32處理器體系結(jié)構(gòu)課件_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第2章 IA-32體系結(jié)構(gòu)要點(diǎn): 基本概念 IA-32處理器體系結(jié)構(gòu) IA-32的內(nèi)存管理 IA-32微機(jī)的構(gòu)成 輸入輸出系統(tǒng)第1頁(yè),共51頁(yè)。2.1 基本概念微機(jī)的基本結(jié)構(gòu) 指令執(zhí)行周期多級(jí)流水線內(nèi)存的讀取程序是如何運(yùn)行的第2頁(yè),共51頁(yè)。2.1.1 微機(jī)的基本結(jié)構(gòu)中央處理器(CPU)內(nèi)存儲(chǔ)器I/O設(shè)備1I/O設(shè)備2寄存器ALUCU 時(shí)鐘地址總線控制總線數(shù)據(jù)總線圖2.1 微機(jī)的結(jié)構(gòu)圖第3頁(yè),共51頁(yè)。中央處理器(CPU):進(jìn)行所有計(jì)算和邏輯操作的地方。 它包含: 寄存器(register)高頻時(shí)鐘(clock):用于將CPU的內(nèi)部操作和其他系統(tǒng)部件同步控制單元(CU,control unit

2、):協(xié)調(diào)執(zhí)行機(jī)器指令時(shí)各個(gè)步驟的次序。算術(shù)邏輯單元(ALU,arithmetic logic unit):執(zhí)行加法和減法等算術(shù)運(yùn)算,以及AND、OR和NOT等邏輯運(yùn)算。CPU通過(guò)插入CPU插槽的引腳同計(jì)算機(jī)的其余部分相連接,大部分引腳與數(shù)據(jù)總線、控制總線和地址總線相連接。第4頁(yè),共51頁(yè)。內(nèi)存儲(chǔ)器:是計(jì)算機(jī)程序運(yùn)行時(shí)存放指令和數(shù)據(jù)的地方。存儲(chǔ)單元接受CPU的數(shù)據(jù)請(qǐng)求,從隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)中取出數(shù)據(jù)送至CPU,并將運(yùn)算結(jié)果從CPU送回存儲(chǔ)器中。總線(bus):一組用于在計(jì)算機(jī)各部分之間傳送數(shù)據(jù)的并行線。數(shù)據(jù)總線(data bus):在CPU和內(nèi)存之間傳送指令和數(shù)據(jù)??刂瓶偩€(control

3、 bus):使用二進(jìn)制信號(hào)對(duì)連接到系統(tǒng)總線上的所有設(shè)備的動(dòng)作進(jìn)行同步。地址總線(address bus):當(dāng)被執(zhí)行的指令要在CPU和內(nèi)存之間傳送數(shù)據(jù)時(shí),地址總線上保持著指令和數(shù)據(jù)的地址。第5頁(yè),共51頁(yè)。時(shí)鐘(clock):涉及CPU和系統(tǒng)總線的每個(gè)操作都由一個(gè)內(nèi)部時(shí)鐘同步,這個(gè)時(shí)鐘以固定的頻率產(chǎn)生脈沖。機(jī)器周期(或時(shí)鐘周期):機(jī)器指令使用的最基本的時(shí)間單位,即一個(gè)完整的時(shí)鐘脈沖所需要的時(shí)間。 在下圖中,一個(gè)時(shí)鐘脈沖表示為兩個(gè)下降沿之間的時(shí)間間隔。時(shí)鐘頻率:時(shí)鐘周期的倒數(shù),用每秒振蕩的次數(shù)來(lái)計(jì)量。例如,對(duì)于每秒振蕩10億次(1GHZ)的時(shí)鐘,其時(shí)鐘周期的持續(xù)時(shí)間為1秒的10億次分之一(1ns)

4、。機(jī)器指令的執(zhí)行至少需要一個(gè)時(shí)鐘周期。由于CPU、系統(tǒng)總線和存儲(chǔ)電路之間速度的差異,訪問(wèn)內(nèi)存的指令通常需要被稱(chēng)為等待狀態(tài)的空時(shí)鐘周期。第6頁(yè),共51頁(yè)。2.1.2 指令執(zhí)行周期指令執(zhí)行周期:?jiǎn)螚l機(jī)器指令的執(zhí)行可以分解成一系列的獨(dú)立操作,這些操作被稱(chēng)為指令執(zhí)行周期。單條指令的執(zhí)行有三種基本操作:取指令、解碼和執(zhí)行。程序在開(kāi)始執(zhí)行之前必須首先被裝入內(nèi)存。執(zhí)行過(guò)程中,程序計(jì)數(shù)器(PC)包含著要執(zhí)行的下一條指令的地址,指令隊(duì)列中包含了一條或多條將要執(zhí)行的指令。當(dāng)CPU執(zhí)行使用內(nèi)存操作數(shù)的指令時(shí),必須計(jì)算操作數(shù)的地址,將地址放在地址總線上并等待存儲(chǔ)器取出操作數(shù)。第7頁(yè),共51頁(yè)。I-1 I-2 I-3

5、I-4PCI-1ALUOP1OP2程序寄存器寄存器寫(xiě)寫(xiě)標(biāo)志執(zhí)行解碼指令隊(duì)列存儲(chǔ)器讀(輸出)圖2.2 指令執(zhí)行周期第8頁(yè),共51頁(yè)。如果指令的執(zhí)行過(guò)程使用了內(nèi)存操作數(shù),那么需要5種基本操作:取指令:控制單元取得指令,將其從存儲(chǔ)器拷貝到CPU中并增加程序計(jì)數(shù)器PC的值。解碼:控制單元確定要執(zhí)行指令的類(lèi)型,向算術(shù)邏輯單元ALU傳遞一個(gè)或多個(gè)操作數(shù),并向ALU發(fā)送表示要執(zhí)行的操作類(lèi)型的信號(hào)。取操作數(shù):如果使用了內(nèi)存操作數(shù),控制單元初始化一個(gè)讀操作以便從存儲(chǔ)器中取得輸入操作數(shù)。執(zhí)行:算術(shù)邏輯單元執(zhí)行指令,將運(yùn)算后的數(shù)據(jù)送到輸出操作數(shù)中,并更新用于提供輸出信息的狀態(tài)標(biāo)志。存儲(chǔ)輸出操作數(shù):如果輸出操作數(shù)在存

6、儲(chǔ)器中,控制單元就初始化一個(gè)寫(xiě)操作以存儲(chǔ)數(shù)據(jù)。第9頁(yè),共51頁(yè)。2.1.3 多級(jí)流水線指令執(zhí)行周期中的每一步至少占用一個(gè)時(shí)鐘周期,但這并不意味著處理器在開(kāi)始執(zhí)行下一條指令之前必須等待所有步驟完成,處理器可以并行執(zhí)行其他步驟,這稱(chēng)為流水線技術(shù)。IA-32處理器中的Intel386是擁有6級(jí)流水線的處理器。第10頁(yè),共51頁(yè)。S1S2S3S4S5S61I-12I-13I-14I-15I-16I-17I-28I-29I-210I-211I-212I-2S1S2S3S4S5S61I-12I-2I-13I-2I-14I-2I-15I-2I-16I-2I-17I-26階段的非流水線執(zhí)行6階段的流水線執(zhí)行第

7、11頁(yè),共51頁(yè)。假設(shè)處理器的每個(gè)執(zhí)行階段都需要一個(gè)時(shí)鐘周期:對(duì)于k級(jí)的非流水線處理器,執(zhí)行n條指令需要n*k個(gè)時(shí)鐘周期。對(duì)于k級(jí)的單流水線處理器,執(zhí)行n條指令需要k+(n-1)個(gè)時(shí)鐘周期。第12頁(yè),共51頁(yè)。 超標(biāo)量流水線超標(biāo)量(superscalar)處理器有兩條以上的流水線,使得多條指令能夠同時(shí)處于同一執(zhí)行階段。對(duì)于N條流水線,N條指令可以在同一時(shí)鐘周期內(nèi)并發(fā)執(zhí)行。Intel奔騰處理器有兩條流水線,它是IA-32系列中的第一個(gè)超標(biāo)量處理器。奔騰Pro是第一個(gè)使用三條流水線的處理器。第13頁(yè),共51頁(yè)。如下圖,假設(shè)S4階段的執(zhí)行需要兩個(gè)時(shí)鐘周期:S1S2S3S4S5S61I-12I-13I

8、-14I-15I-16I-17I-1第14頁(yè),共51頁(yè)。處理器的其中一個(gè)執(zhí)行階段(S4)需要兩個(gè)時(shí)鐘周期,而其他階段都只需要一個(gè)時(shí)鐘周期:那么對(duì)于k級(jí)的單流水線處理器,執(zhí)行n條指令需要k+2n-1個(gè)時(shí)鐘周期。S1S2S3S4S5S61I-12I-2I-13I-3I-2I-14I-3I-2I-15I-3I-16I-2I-17I-2I-18I-3I-29I-3I-210I-311I-3使用單條流水線的指令執(zhí)行情況第15頁(yè),共51頁(yè)。S1S2S3uvS5S61I-12I-2I-13I-3I-2I-14I-3I-2I-15I-3I-1I-26I-3I-2I-17I-3I-2I-18I-3I-29I-3

9、6級(jí)超標(biāo)量流水線處理器的指令執(zhí)行情況現(xiàn)在假設(shè)在6級(jí)流水線中再引入一條流水線,奇數(shù)指令進(jìn)入u流水線,偶數(shù)指令進(jìn)入v流水線,這樣就消除周期的浪費(fèi)。那么對(duì)于k級(jí)的雙流水線處理器,執(zhí)行n條指令只需要k+n個(gè)時(shí)鐘周期。第16頁(yè),共51頁(yè)。習(xí)題:P29 8,9,11第17頁(yè),共51頁(yè)。2.1.3 內(nèi)存的讀取從內(nèi)存中讀取指令需要幾個(gè)步驟,由CPU的內(nèi)部時(shí)鐘控制。 如圖P27 2.7:周期1:CPU將內(nèi)存操作數(shù)地址被放到地址總線上。周期2:讀取線被設(shè)為低(0)以通知存儲(chǔ)器要讀一個(gè)值。周期3:CPU等待一個(gè)周期,在這個(gè)周期中內(nèi)存控制器將數(shù)據(jù)放在數(shù)據(jù)總線上。周期4:讀取線變?yōu)?,以通知CPU從數(shù)據(jù)總線上取數(shù)。CP

10、U時(shí)鐘能夠以幾GHZ的頻率運(yùn)行,但通過(guò)系統(tǒng)總線訪問(wèn)內(nèi)存要慢得多,這迫使CPU在開(kāi)始執(zhí)行指令之前要等待一個(gè)或以上的時(shí)鐘周期,直到操作數(shù)從內(nèi)存中取出為止。這些空閑的時(shí)鐘周期被稱(chēng)為CPU的等待狀態(tài)。第18頁(yè),共51頁(yè)。2.1.4 程序是如何運(yùn)行的 當(dāng)計(jì)算機(jī)的操作系統(tǒng)加載和運(yùn)行程序時(shí),將按順序進(jìn)行以下步驟:用戶發(fā)出特定程序的命令。OS在當(dāng)前磁盤(pán)目錄中查找程序文件名,如果未找到就在預(yù)先定義的目錄列表中查找,如果還是找不到,就發(fā)出一條錯(cuò)誤信息;如果找到了程序文件名,OS獲取磁盤(pán)上程序文件的基本信息,如文件的大小以及在磁盤(pán)驅(qū)動(dòng)器上的物理位置等。OS確定下一個(gè)可用的內(nèi)存塊的地址,并將程序文件載入內(nèi)存,然后將程

11、序的大小和位置等信息登記在描述符表中。1. 裝入和執(zhí)行進(jìn)程第19頁(yè),共51頁(yè)。操作系統(tǒng)執(zhí)行一條分支轉(zhuǎn)移指令,使CPU從程序的第一條機(jī)器指令開(kāi)始執(zhí)行。一旦程序運(yùn)行就被稱(chēng)為一個(gè)進(jìn)程,操作系統(tǒng)為進(jìn)程分配一個(gè)唯一的標(biāo)識(shí)號(hào)稱(chēng)為進(jìn)程ID。進(jìn)程自身開(kāi)始運(yùn)行,操作系統(tǒng)的任務(wù)就是跟蹤進(jìn)程的執(zhí)行并響應(yīng)進(jìn)程對(duì)系統(tǒng)資源的請(qǐng)求。進(jìn)程終止時(shí),其句柄被刪除,使用的內(nèi)存也被釋放以便能夠由其他程序使用。第20頁(yè),共51頁(yè)。操作系統(tǒng)運(yùn)行的可以是一個(gè)進(jìn)程或一個(gè)執(zhí)行線程。當(dāng)操作系統(tǒng)能夠同時(shí)運(yùn)行多個(gè)任務(wù)時(shí),就被認(rèn)為是多任務(wù)的。 注意:多任務(wù)中進(jìn)程的“同時(shí)”運(yùn)行包含的是并發(fā)運(yùn)行的含義。并發(fā)可以看成是在系統(tǒng)中同時(shí)有幾個(gè)進(jìn)程在活動(dòng)著,也就是

12、同時(shí)存在幾個(gè)程序的執(zhí)行過(guò)程。如果進(jìn)程數(shù)與處理機(jī)數(shù)相同,則每個(gè)進(jìn)程占用一個(gè)處理機(jī),但更一般的情況是處理機(jī)數(shù)少于進(jìn)程數(shù),于是處理機(jī)就應(yīng)被共享,在進(jìn)程間切換使用。如果相鄰兩次切換的時(shí)間間隔非常短,而觀察時(shí)間又相當(dāng)長(zhǎng),那么各個(gè)進(jìn)程都在前進(jìn),造成一種宏觀上并發(fā)運(yùn)行的效果。2. 多任務(wù)第21頁(yè),共51頁(yè)。多任務(wù)的實(shí)現(xiàn) 如何實(shí)現(xiàn)處理器在各個(gè)進(jìn)程之間共享呢? 操作系統(tǒng)的調(diào)度程序(scheduler)為每個(gè)任務(wù)分配一小部分CPU時(shí)間(稱(chēng)為時(shí)間片),在時(shí)間片內(nèi),CPU將執(zhí)行一部分該任務(wù)的指令,并在時(shí)間片結(jié)束的時(shí)候停止執(zhí)行,并迅速切換到下一個(gè)任務(wù)的指令的執(zhí)行。通過(guò)在多個(gè)任務(wù)之間的快速切換,給人以同時(shí)運(yùn)行多個(gè)任務(wù)的假

13、象。第22頁(yè),共51頁(yè)。2.2 IA-32處理器體系結(jié)構(gòu) 操作模式 基本執(zhí)行環(huán)境 浮點(diǎn)單元 Intel微處理器的歷史第23頁(yè),共51頁(yè)。2.2.1 操作模式保護(hù)模式(Protected Mode)虛擬8086模式(Virtual-8086 Mode)實(shí)地址模式(Real-address Mode)系統(tǒng)管理模式(System Management Mode)第24頁(yè),共51頁(yè)。保護(hù)模式:處理器可同時(shí)運(yùn)行多個(gè)程序,并為每個(gè)進(jìn)程分配高達(dá)4GB的內(nèi)存。每個(gè)程序都擁有自己的內(nèi)存空間,系統(tǒng)將阻止程序訪問(wèn)其他程序的內(nèi)存區(qū)域。例如:MS-Windows運(yùn)行于該模式下。實(shí)地址模式:處理器只能尋址1MB的內(nèi)存,一

14、次只能運(yùn)行一個(gè)程序,但可以通過(guò)中斷的方式來(lái)響應(yīng)來(lái)自外圍設(shè)備的請(qǐng)求。例如:MS-DOS操作系統(tǒng)運(yùn)行于該模式。虛擬8086模式:是計(jì)算機(jī)運(yùn)行于保護(hù)模式下后創(chuàng)建的有1MB地址空間的虛擬機(jī),虛擬機(jī)對(duì)運(yùn)行于實(shí)地址模式下的80X86計(jì)算機(jī)進(jìn)行模擬。例如:在Windows NT下,打開(kāi)一個(gè)命令行窗口。系統(tǒng)管理模式:提供給操作系統(tǒng),用以實(shí)現(xiàn)電源管理和系統(tǒng)安全等功能的機(jī)制。第25頁(yè),共51頁(yè)。2.2.2 基本執(zhí)行環(huán)境一、地址空間保護(hù)模式:IA-32處理器可對(duì)4GB的內(nèi)存進(jìn)行尋址(32位地址,0232-1)實(shí)地址模式:處理器最多只能訪問(wèn)1MB(使用20位地址,0220-1)虛擬8086模式:處理器處于保護(hù)模式中對(duì)

15、實(shí)地址模式的模擬,可以運(yùn)行多個(gè)程序,但每個(gè)程序只能尋址1MB內(nèi)存的空間。第26頁(yè),共51頁(yè)。二、基本寄存器 寄存器是CPU內(nèi)部的高速儲(chǔ)存單元,訪問(wèn)速度比常規(guī)內(nèi)存快得多。包括:8個(gè)32位通用寄存器6個(gè)16位段寄存器一個(gè)存放處理器標(biāo)志的寄存器(EFLAGS)一個(gè)指令指針寄存器(EIP)第27頁(yè),共51頁(yè)。通用寄存器:主要用于算術(shù)運(yùn)算和數(shù)據(jù)傳送EAXEBXECXEDXEBPESPESIEDIEAXAXAHAL 32位 16位EBPBPESPSPESI SI EDIDI 第28頁(yè),共51頁(yè)。通用寄存器的特殊用法EAX:擴(kuò)展累加寄存器。在乘法和除法指令中被自動(dòng)使用;ECX:循環(huán)計(jì)數(shù)器。ESP:擴(kuò)展堆棧指

16、針寄存器。一般不用于算術(shù)運(yùn)算和數(shù)據(jù)傳送,而用于尋址堆棧上的數(shù)據(jù)。ESI和EDI:擴(kuò)展源指針寄存器和擴(kuò)展目的指針寄存器。用于內(nèi)存數(shù)據(jù)的存??;EBP:擴(kuò)展幀指針寄存器。用于引用堆棧上的函數(shù)參數(shù)和局部變量;第29頁(yè),共51頁(yè)。段寄存器在實(shí)地址模式下,段寄存器用于存放段的基址;段寄存器包括:CS、SS、DS、ES、FS、GS。CS往往用于存放代碼段(程序的指令)地址;DS存放數(shù)據(jù)段(程序的變量)地址;SS存放堆棧段(函數(shù)的局部變量和參數(shù))地址;ES、FS和GS則可指向其他數(shù)據(jù)段。保護(hù)模式下,段寄存器存放段描述符表的指針(索引)。第30頁(yè),共51頁(yè)。指令指針寄存器EIP指令指針寄存器始終存放下一條要被C

17、PU執(zhí)行的指令的地址。 有些機(jī)器指令可以修改EIP,使程序分支轉(zhuǎn)移到新的地址執(zhí)行。例如:RET第31頁(yè),共51頁(yè)。EFLAGS寄存器EFLAGS(處理器標(biāo)志寄存器)由控制CPU的操作或反映CPU某些運(yùn)算結(jié)果的二進(jìn)制位構(gòu)成。處理器標(biāo)志包括兩種類(lèi)型:狀態(tài)標(biāo)志和控制標(biāo)志。說(shuō)某標(biāo)志被設(shè)置意味著使其等于1;被清除意味著使其等于0程序員可以通過(guò)設(shè)置EFLAGS中的控制標(biāo)志控制CPU的操作,如方向和中斷標(biāo)志。一些機(jī)器指令可以測(cè)試和控制這些標(biāo)志,例如:JC 或STC第32頁(yè),共51頁(yè)。CFOFSFZFACPF 進(jìn)位標(biāo)志Carry Flag符號(hào)標(biāo)志Sign Flag輔助進(jìn)位標(biāo)志Assistant Carry F

18、lag溢出標(biāo)志Overflow Flag零標(biāo)志Zero Flag奇偶標(biāo)志Parity Flag其中反映CPU執(zhí)行的算術(shù)和邏輯操作結(jié)果的狀態(tài)標(biāo)志,包括溢出、符號(hào)、零、輔助進(jìn)位、奇偶和進(jìn)位標(biāo)志。第33頁(yè),共51頁(yè)。EFLAGS的狀態(tài)標(biāo)志進(jìn)位標(biāo)志CF:在無(wú)符號(hào)算術(shù)運(yùn)算的結(jié)果,無(wú)法容納于目的操作數(shù)中時(shí)被設(shè)置。溢出標(biāo)志OF:在有符號(hào)算術(shù)運(yùn)算的結(jié)果位數(shù)太多,而無(wú)法容納于目的操作數(shù)中時(shí)被設(shè)置。符號(hào)標(biāo)志SF:在算術(shù)或邏輯運(yùn)算產(chǎn)生的結(jié)果為負(fù)時(shí)被設(shè)置。零標(biāo)志ZF:在算術(shù)或邏輯運(yùn)算產(chǎn)生的結(jié)果為零時(shí)被設(shè)置。輔助進(jìn)位標(biāo)志AC:在算術(shù)運(yùn)算導(dǎo)致8位操作數(shù)的位3到位4產(chǎn)生進(jìn)位時(shí)被設(shè)置。奇偶進(jìn)位PF:在統(tǒng)計(jì)一個(gè)數(shù)字內(nèi)值等于1的

19、位數(shù)時(shí),如果為1的總位數(shù)為偶數(shù),則設(shè)置該標(biāo)志;否則清除該標(biāo)志。第34頁(yè),共51頁(yè)。系統(tǒng)寄存器三、系統(tǒng)寄存器 僅允許運(yùn)行在最高特權(quán)級(jí)的程序(例如:操作系統(tǒng)內(nèi)核)訪問(wèn)的寄存器,任何應(yīng)用程序禁止訪問(wèn)。中斷描述符表寄存器IDTR:保存中斷描述符表的地址。全局描述符表寄存器GDTR:保存全局描述符表的地址,全局段描述符表包含了任務(wù)狀態(tài)段和局部描述符表的指針。局部描述符表寄存器LDTR:保存當(dāng)前正在運(yùn)行的程序的代碼段、數(shù)據(jù)段和堆棧段的指針。任務(wù)寄存器:保存當(dāng)前執(zhí)行任務(wù)的任務(wù)狀態(tài)段的地址。調(diào)試寄存器:用于調(diào)試程序時(shí)設(shè)置端點(diǎn)。第35頁(yè),共51頁(yè)。2.2.3 浮點(diǎn)單元浮點(diǎn)單元FPU 適合于高速浮點(diǎn)運(yùn)算,從Int

20、el 486開(kāi)始集成到主處理器芯片中。8個(gè)80位的浮點(diǎn)數(shù)據(jù)寄存器 ST(0)ST(7)2個(gè)48位的指針寄存器3個(gè)16位的控制寄存器第36頁(yè),共51頁(yè)。2.2.4 Intel微處理器的歷史 Intel 8086 Intel 80286 IA-32處理器系列 P6處理器系列 奔騰和Xeon系列 CISC和RISC第37頁(yè),共51頁(yè)。Intel 8086和80286Intel 80861978年誕生,標(biāo)志著現(xiàn)代Intel體系結(jié)構(gòu)系列的開(kāi)端。與早期的處理器相比,創(chuàng)新在于使用了16位的寄存器和16位的數(shù)據(jù)總線。采用了允許程序最多可尋址1MB的內(nèi)存分段模式。Intel 80286第一個(gè)用于保護(hù)模式下的In

21、tel處理器使用24位的地址總線,可尋址16MB的RAM第38頁(yè),共51頁(yè)。IA-32處理器系列Intel 386IA-32系列的第一個(gè)成員使用32位寄存器和32位地址總線、32位外部數(shù)據(jù)總線支持新的虛擬內(nèi)存尋址方式,可尋址遠(yuǎn)大于物理內(nèi)存的虛擬內(nèi)存,使每個(gè)程序都被給予了4GB的線性地址空間。Intel 486Intel486指令集中的微結(jié)構(gòu)采用流水線技術(shù),允許同時(shí)處理多條指令。奔騰(Pentium)使用兩條并行流水線的超標(biāo)量設(shè)計(jì),允許兩條指令同時(shí)解碼執(zhí)行。引入了32位地址總線和64位的內(nèi)部數(shù)據(jù)通道。第39頁(yè),共51頁(yè)。P6處理器系列 1995年引入的P6系列處理器對(duì)基本的IA-32體系結(jié)構(gòu)進(jìn)行

22、了擴(kuò)展,提升了執(zhí)行速度。奔騰Pro引入了提升指令執(zhí)行速度的高級(jí)技術(shù)奔騰在P6系列中加入了MMX技術(shù)(多媒體增強(qiáng)指令集技術(shù))奔騰向IA-32體系結(jié)構(gòu)引入了SIMD(流擴(kuò)展)技術(shù)特別設(shè)計(jì)了用于快速移動(dòng)大量數(shù)據(jù)的128位寄存器第40頁(yè),共51頁(yè)。CISC 和 RISC復(fù)雜指令集(CISC,Complex Instruction Set)指令集很大,包含多種內(nèi)存尋址方式、移位、算術(shù)運(yùn)算和邏輯操作。CISC使得編譯后的程序可以包含相對(duì)較少的指令。執(zhí)行過(guò)程:指令通過(guò)處理器內(nèi)部的微代碼解釋器解碼和執(zhí)行。主要缺點(diǎn):對(duì)于復(fù)雜指令,處理器進(jìn)行解碼和執(zhí)行的時(shí)間較長(zhǎng) 精簡(jiǎn)指令集(RISC,Reduced Instru

23、ction Set)包含數(shù)量相對(duì)較少的簡(jiǎn)短指令,執(zhí)行非常快速;執(zhí)行過(guò)程:使用硬件直接解碼和執(zhí)行指令;高速工程、圖形工作站;昂貴第41頁(yè),共51頁(yè)。2.3 IA-32的內(nèi)存管理在實(shí)地址模式下,處理器使用20位的地址總線,可以訪問(wèn)1MB(0FFFFF)內(nèi)存。但I(xiàn)ntel 8086只有16位的地址線,不能直接表示20位的地址,因此采用了內(nèi)存分段的解決方法。段:將內(nèi)存空間劃分為64KB的段Segment; 2.3.1 實(shí)地址模式第42頁(yè),共51頁(yè)?!岸?偏移地址”方式:一個(gè)典型的程序往往包含三個(gè)段:代碼段、數(shù)據(jù)段和堆棧段,段地址存放于16位的段寄存器中(CS、DS、ES或SS): CS用于存放16位的代碼段基地址 DS用于存放16位的數(shù)據(jù)段基地址 SS用于存放16位的堆棧段基地址再加上16位的偏移地址第43頁(yè),共51頁(yè)。段-偏移地址F0000E0000D0000C0000B0000A0000900008000070000600005000040000300002000010000000

溫馨提示

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

評(píng)論

0/150

提交評(píng)論