3計(jì)算機(jī)組織與體系結(jié)構(gòu).ppt_第1頁
3計(jì)算機(jī)組織與體系結(jié)構(gòu).ppt_第2頁
3計(jì)算機(jī)組織與體系結(jié)構(gòu).ppt_第3頁
3計(jì)算機(jī)組織與體系結(jié)構(gòu).ppt_第4頁
3計(jì)算機(jī)組織與體系結(jié)構(gòu).ppt_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、,第三章。東軟人才培訓(xùn)中心計(jì)算機(jī)組織與架構(gòu),東軟集團(tuán)版權(quán)所有2008。保留所有權(quán)利,第三章:計(jì)算機(jī)組織和架構(gòu),目標(biāo)3360本章旨在向?qū)W生介紹計(jì)算機(jī)結(jié)構(gòu)和編程模型。通過本章的學(xué)習(xí),學(xué)生應(yīng)掌握以下知識:計(jì)算機(jī)存儲組織寄存器組數(shù)據(jù)路徑編程模型,課時(shí):3.0課時(shí)教學(xué)方法:講授ppt實(shí)踐案例分析,3.1計(jì)算機(jī)體系結(jié)構(gòu),CPU內(nèi)部功能組件,除了基本計(jì)算單元ALU,處理器還包括:指令寄存器IR -用于存儲要執(zhí)行的指令;程序計(jì)數(shù)器將下一條執(zhí)行指令的地址保存在內(nèi)存中;通用寄存器組-存儲要處理的數(shù)據(jù);控制單元控制算術(shù)邏輯單元的執(zhí)行。3.1計(jì)算機(jī)體系結(jié)構(gòu),圖馮諾依曼體系結(jié)構(gòu),中央處理器,主存儲器,馮諾依曼體系結(jié)構(gòu),

2、也稱普林斯頓體系結(jié)構(gòu)。在這種體系結(jié)構(gòu)中,程序指令和數(shù)據(jù)是連續(xù)存儲的,因此程序指令和數(shù)據(jù)不能同時(shí)與處理器通信。處理器和內(nèi)存之間的關(guān)系是定義系統(tǒng)特性的關(guān)鍵因素。哈佛架構(gòu),中央處理器,程序,數(shù)據(jù),數(shù)據(jù)存儲器,程序存儲器,3.1計(jì)算機(jī)架構(gòu)(續(xù))。哈佛體系結(jié)構(gòu)的主要特點(diǎn)是分別存儲指令和數(shù)據(jù),也就是說,有兩個(gè)主要的存儲器:程序存儲器和數(shù)據(jù)存儲器。許多嵌入式處理器都采用這種架構(gòu),如數(shù)字信號處理器和8051單片機(jī)。圖3.2存儲組織、內(nèi)存和處理器通過三條總線(地址、數(shù)據(jù)和控制總線)通信,那么處理器如何訪問內(nèi)存?你需要知道處理器操作數(shù)據(jù)的特征,典型的CPU和主存儲器的框圖,0,1,2,3,存儲器的邏輯模型,3.2

3、存儲組織的概念,字長和端序,字長是CPU一次可以從存儲器中讀取的位數(shù)。從處理器內(nèi)部來看,這與處理器內(nèi)部數(shù)據(jù)總線寬度、寄存器位數(shù)和ALU有關(guān)。小端:多字節(jié)數(shù)據(jù)的低位字節(jié)放在低位地址存儲單元中;大端:高位字節(jié)放在低位存儲單元中。問題:1 .在keil環(huán)境中使用C語言。如果有以下定義,結(jié)構(gòu)數(shù)據(jù)1。char ch雙倍f。b .結(jié)構(gòu)變量b占用的內(nèi)存字節(jié)數(shù)是多少?2.如何在keil環(huán)境中存儲int i=0 x1234?大端還是小端序列?圖3-6一個(gè)64兆字節(jié)的軟件隨機(jī)存取存儲器內(nèi)存模塊,3.2內(nèi)存組織(續(xù)),主內(nèi)存通常由多個(gè)內(nèi)存模塊組成,圖3-7內(nèi)存組織框圖,數(shù)據(jù)總線,3.2內(nèi)存組織(續(xù)),地址解碼器給出

4、的芯片選擇信號,3.3處理器單元,16位二進(jìn)制數(shù),16位二進(jìn)制數(shù),被動執(zhí)行元件-算術(shù)單元。處理器的計(jì)算核心是算術(shù)邏輯單元(ALU),它可以實(shí)現(xiàn)基本的算術(shù)和邏輯運(yùn)算,以及存儲和控制操作。不同處理器的算術(shù)邏輯單元功能有所不同,但它們基本上是基于多位加法器的,因此算術(shù)邏輯單元可以執(zhí)行各種基本運(yùn)算。在這個(gè)算術(shù)邏輯單元模型中,除了兩個(gè)16位二進(jìn)制數(shù)輸入和一個(gè)16位二進(jìn)制數(shù)輸出之外,算術(shù)邏輯單元還有其他輸入和輸出。其他輸入是控制信號。不同的控制輸入決定算術(shù)邏輯單元的當(dāng)前操作,而其他輸出保存一些狀態(tài)以完成操作??刂菩盘栍商幚砥鲀?nèi)部的控制器組件給出,也就是說,算術(shù)單元在控制器的命令和控制下完成分配給它的運(yùn)算處

5、理功能,而算術(shù)單元只是一個(gè)被動執(zhí)行組件。3.3.1寄存器文件,它是處理器中速度特別快的存儲單元,用于創(chuàng)建和保存算術(shù)邏輯單元操作和其他計(jì)算結(jié)果。中央處理器通過寄存器讀取或重寫存儲器的數(shù)據(jù)。不同的處理器有不同的寄存器組區(qū)別在于寄存器的數(shù)量、寄存器的類型和每個(gè)寄存器的容量。-區(qū)別還在于登記冊的目的。通用寄存器可用于各種目的,其功能可由程序員分配,而專用寄存器僅限于某些特定功能。,3.3.2機(jī)器指令格式和ALU模型、ALU,匯編指令:加R3、R1、R9,機(jī)器指令:1010 0011 0001 1001、1010,圖ALU模型和機(jī)器指令,助記符和操作碼,操作數(shù),機(jī)器指令以二進(jìn)制位串的形式難以理解,理解匯

6、編指令和機(jī)器指令有一一對應(yīng)的關(guān)系。3.3.3指令執(zhí)行過程,一條指令的執(zhí)行過程分為取數(shù)、譯碼和執(zhí)行。讀入中央處理器的機(jī)器指令不是一步完成的,而是需要分解成更精細(xì)的操作(微操作),即指令解碼。每個(gè)微操作都以適當(dāng)?shù)捻樞蝌?qū)動電子電路。例如,考慮到加法指令R3、R1、R9和R9的執(zhí)行過程,至少在ALU執(zhí)行加法操作之前,寄存器R9和R1中的數(shù)據(jù)應(yīng)該被發(fā)送到ALU,并且結(jié)果應(yīng)該在ALU計(jì)算之后被存儲在寄存器R3中。3.4數(shù)據(jù)路徑,數(shù)據(jù)路徑,包括寄存器和ALU以及數(shù)據(jù)傳輸線。處理器內(nèi)部的數(shù)據(jù)路徑可以有不同的結(jié)構(gòu),包括單總線、雙總線和三總線。3.4.1單總線的數(shù)據(jù)路徑,由于一條總線在一個(gè)時(shí)間段內(nèi)只能處理一次數(shù)據(jù)

7、移動,算術(shù)邏輯單元計(jì)算所需的兩個(gè)操作數(shù)需要兩個(gè)周期才能移動,數(shù)據(jù)移動的限制會降低整體性能。3.4.2雙總線數(shù)據(jù)路徑,圖形雙總線數(shù)據(jù)路徑,內(nèi)存總線,總線1,總線2,3.5處理器編程模型,處理器編程模型名詞是處理器中匯編程序可見的通用寄存器,通過它c(diǎn)pu只能獲得內(nèi)存和各種算術(shù)處理的輸入輸出中的內(nèi)容。編程模型主要從編程的角度抽象處理器的內(nèi)部結(jié)構(gòu),即主要考慮數(shù)據(jù)的存儲,而忽略數(shù)據(jù)的移動。指令集動詞描述處理器基本功能的一組指令。對于匯編程序來說,必須掌握編程模型和指令集。嵌入式軟件工程師至少應(yīng)該了解編程模型。3.5.1微控制器編程模型,圖8051基本編程模型,3.5.2 ARM編程模型,cpsr,31,

8、0,n z c v,圖ARM編程模型,cpsr (spsr)位:n(負(fù)),z(零),c(進(jìn)位),v,MOV A,#20,20,從代碼中獲取數(shù)據(jù),在立即尋址指令中操作碼字段后面的地址代碼部分是操作數(shù)本身,即數(shù)據(jù)包含在指令中,提取指令取出由中央處理器執(zhí)行的任何操作都涉及尋址,即如何獲取數(shù)據(jù)。尋址操作數(shù)的不同方法稱為尋址方法。尋址方式的不同在于操作數(shù)地址信息的不同解釋。3.5.3尋址方式(續(xù)),直接尋址MOV A,20;在直接尋址模式下,指令給出操作數(shù)所在存儲單元的地址。0 x99,直接寄存器地址mov a和r0;圖存儲器直接尋址,3.5.3尋址模式(續(xù)),在寄存器直接尋址中,操作數(shù)存儲在寄存器中,

9、寄存器的名稱在指令中給出。mov a,r0,0xaa,4,寄存器間接尋址MOV A,R0,3.5.3尋址模式(續(xù)),在寄存器間接尋址中,操作數(shù)的地址存儲在寄存器中,指令給出存儲操作數(shù)地址的寄存器名稱。間接尋址的優(yōu)勢在于它使對數(shù)據(jù)的訪問成為動態(tài)的。MOVA,R0,0 xAA,5。基本索引尋址,MOVC A,data,3.5.3尋址模式(續(xù)),使用16位程序計(jì)數(shù)器PC或數(shù)據(jù)指針DPTR作為基本地址寄存器,8位累加器A作為索引寄存器。基本寄存器和索引寄存器的內(nèi)容相加形成一個(gè)16位地址,即操作數(shù)的地址。0xc、A、dptr、0x4000、0xaa、0x400c、movca、A DPTR、0 xAA、以

10、A DPTR為地址加載數(shù)據(jù),3.5.4指令類型,按操作數(shù)(1)三地址指令操作地址1、地址2、地址3分類;(2)雙地址指令操作地址1、地址2;(3)單地址指令操作地址1;(1)數(shù)據(jù)移動指令數(shù)據(jù)移動指令可用于在機(jī)器的不同部分移動數(shù)據(jù)。(2)算術(shù)和邏輯指令算術(shù)和邏輯指令用于對寄存器和存儲器的內(nèi)容進(jìn)行算術(shù)和邏輯處理。(3)控制指令控制指令用于改變指令的執(zhí)行順序。(4)輸入/輸出命令輸入/輸出命令用于在計(jì)算機(jī)和外圍組件之間傳輸數(shù)據(jù)。3.5.4指令類型(續(xù)),3.5.5堆棧操作和函數(shù)調(diào)用,堆棧是函數(shù)調(diào)用機(jī)制的基礎(chǔ),這是程序員的一個(gè)重要概念。從數(shù)據(jù)結(jié)構(gòu)來看,棧具有“后進(jìn)先出”的特點(diǎn)。從數(shù)據(jù)存儲的角度來看,堆

11、棧是一個(gè)連續(xù)的內(nèi)存區(qū)域,通常用于在調(diào)用函數(shù)時(shí)保存程序的返回地址。在處理器內(nèi)部有一個(gè)特殊的寄存器,用來保存堆棧的頂部地址,稱為堆棧指針。堆棧操作只能從堆棧的頂部訪問數(shù)據(jù)。處理器支持兩種堆疊操作,堆疊和堆疊。在嵌入式系統(tǒng)中,堆棧增長有四種情況(在堆棧時(shí)):在遞增之前(也稱為完全遞增),在遞減之前(也稱為完全遞減),然后遞增(也稱為空遞增),然后遞減(也稱為空遞減)?!霸隽俊币馕吨褩牡臀坏刂废蚋呶坏刂吩鲩L,因此堆棧底部的內(nèi)存標(biāo)簽低于堆棧頂部的標(biāo)簽?!八ヂ洹鼻∏∠喾础!爸啊北硎驹诙褩l目操作之前調(diào)整堆棧指針?!昂蟆笔紫确旁诙褩I希缓笤赟P后進(jìn)行調(diào)整。3.5.5堆棧操作和函數(shù)調(diào)用、3.5.5堆棧

12、操作和函數(shù)調(diào)用(續(xù))、堆棧指針SP、PUSH、RegA/堆棧,PUSH RegA,堆棧指針sp,1000,999,998,1002,1001,1000,999,998,1002,1001,在增量(空增量)增長模式下的堆棧操作繪制后,堆棧內(nèi)存,地址,地址,堆棧內(nèi)存在圖中,堆棧指針SP始終指向堆棧的頂部。接下來是存儲數(shù)據(jù)的存儲單元的地址。數(shù)據(jù)推送后,服務(wù)點(diǎn)增加1(根據(jù)推送數(shù)據(jù)的字節(jié)數(shù))。這種模式被稱為“后增量增長模式”。還有另一種模式,稱為“增量前增長模式”。在這兩種模式中,SP的操作是不同的,一種是“先壓后增”,另一種是“先增后壓”。英特爾x86處理器是“預(yù)遞減增長模式”,8051微控制器是“預(yù)

13、遞增增長模式”,RegB=23,POP RegB/堆棧,RegB=7F,POP RegB,繪圖后增量(空增量)增長模式下的堆棧操作,堆棧指針SP,堆棧指針SP,3.5.5堆棧操作和函數(shù)調(diào)用(續(xù)),int func1 (void)返回100;void main(void)func 1();mov a,# 100,ret,mov,a call 3000,3000,5000,4999,5001,3001,3002,func1(),main(),call func1(),7000,7002 3.5.5堆棧操作和函數(shù)調(diào)用(續(xù)),5000,7002,3000,5000,7000,堆棧,簡化的計(jì)算機(jī)系統(tǒng),計(jì)

14、算機(jī)系統(tǒng)可以執(zhí)行的指令有:POP RegX(其中RegX是三個(gè)數(shù)據(jù)寄存器RegA、RegB和RegC之一)PUSH RegX -將寄存器RegX中的數(shù)據(jù)推入堆棧;add-regc=reg regbdec-regc=regb-reg mult-regc=rega * regb考慮公式b2-4ac: 1的計(jì)算。參數(shù)a、b、c和4應(yīng)該按什么順序放在堆棧上?2.用給定的說明寫出公式的計(jì)算過程。3.可以添加什么指令來使計(jì)算過程更簡單、更有效?練習(xí):練習(xí)答案:彈出c-ReGa POP RegB;彈出一個(gè)-RegB MULT;a * c-RegC POP RegA;彈出4-ReGa PUSH RegC;A*c堆疊持久性有機(jī)污染物RegB彈出一個(gè)* c-RegB MUL

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論