第三章 微機(jī)的基本工作原理.ppt_第1頁
第三章 微機(jī)的基本工作原理.ppt_第2頁
第三章 微機(jī)的基本工作原理.ppt_第3頁
第三章 微機(jī)的基本工作原理.ppt_第4頁
第三章 微機(jī)的基本工作原理.ppt_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章 微機(jī)的基本工作原理,一個(gè)實(shí)際的微機(jī)的電路結(jié)構(gòu)是相當(dāng)復(fù)雜的。本章內(nèi)容將從微機(jī)的最基本功能出發(fā)來講解其電路原理,在有限的時(shí)間內(nèi)讓同學(xué)們建立一個(gè)較完整的基本概念。 微機(jī)的基本功能可概括為“三能一快”;能運(yùn)算、能判別、能決策。但所有這些“能”的過程都是建立在“快”的基礎(chǔ)上才能有實(shí)際意義。,返回,在整個(gè)計(jì)算機(jī)中,信息量是很大的,部件數(shù)很多,如何做到各個(gè)信息和部件能夠“循序漸進(jìn)、各得其所、有條不紊、快而不亂”?這就是計(jì)算機(jī)基本工作原理所要解答的問題。,下面將以一個(gè)簡化了的微機(jī)作為分析對象,逐步講解一般計(jì)算機(jī)的各個(gè)基本功能,從而概括出微機(jī)的基本工作原理。,3.1 微機(jī)結(jié)構(gòu)的簡化形式,簡化的微機(jī)結(jié)構(gòu)如

2、圖3-1所示,其硬件結(jié)構(gòu)特點(diǎn)是:功能簡單、內(nèi)存量小、字長8位、手動(dòng)輸入。 (1)PC (2)MAR (3)PROM(圖3-2) (4)IR指令字格式: 高4位為指令字段,低4位為地址字段。,返回,返回,(5)控制器 其功能: (PC、IR)清零;發(fā)出同步脈沖CLK;發(fā)出12位控制字CON。,(6)累加器A (7)算術(shù)邏輯單元 (8)寄存器B (9)輸出寄存器O (10)二進(jìn)制顯示器D 可見結(jié)構(gòu)簡單,但為一個(gè)可編程計(jì)算機(jī)的雛形,麻雀雖小,五臟具全。其功能分解為三大部分見圖所示。,3.2指令系統(tǒng)指令系統(tǒng)就是用來編制程序的一個(gè)指令集合。,這臺微型機(jī)有五條指令,即其控制部件能完成一系列例行程序以執(zhí)行五

3、種命令: LDA將數(shù)據(jù)裝入累加器A ADD進(jìn)行加法運(yùn)算 SUB進(jìn)行減法運(yùn)算 OUT輸出結(jié)果 HLT停機(jī) 這五條指令在一起就稱為這臺計(jì)算機(jī)的指令系統(tǒng)。,不同型號的微處理機(jī)的指令系統(tǒng)是不同的,指令的條數(shù)也不相同,如Z80型的指令系統(tǒng)可達(dá)58條,M6800型有72條,6502型則有56條指令,而Intel 80386則為152條。,例如一個(gè)計(jì)算程序的格式如下: LDA R9 ;把 R9中的數(shù)據(jù)存入A ADD RA ;把 RA中的數(shù)據(jù)與A的相加 ADD RB ;把 RB中的數(shù)據(jù)與A的相加 ADD RC ;把 RC中的數(shù)據(jù)與A的相加 SUB RD ;把 A中的數(shù)據(jù)與RD的相減 OUT ;輸出A中的數(shù)據(jù),

4、即結(jié)果 HLT ;停機(jī) 助記符 操作數(shù) 注釋,這樣的格式稱為用匯編語言寫的匯編語言程序。最左邊的符號稱為助記符,中間的符號R9、RA等稱為操作數(shù),在“;”之后的稱為注釋,每一行就是一條指令。,運(yùn)行結(jié)果(A)=(R9) 運(yùn)行結(jié)果(A)=(R9)(RA) 運(yùn)行結(jié)果(A)=(R9)+(RA)+(RB) 運(yùn)行結(jié)果(A)=(R9)+(RA)+(RB)+(RC) 運(yùn)行結(jié)果(A)=(R9)+(RA)+(RB)+(RC)-(RD) 運(yùn)行結(jié)果(D)=(A) 運(yùn)行結(jié)果:CLK停止發(fā)脈沖 最后一條指令,使時(shí)鐘脈沖停發(fā),則計(jì)算機(jī)停止運(yùn)行,但電源未切斷,所以顯示器中仍繼續(xù)顯示計(jì)算的結(jié)果。,3.3 程序設(shè)計(jì)1、先要有一個(gè)

5、操作碼表:,2、存儲器分配,助記符 操作碼 LDA 0000 ADD 0001 SUB 0010 OUT 1110 HLT 1111,3、將源程序翻譯成目的程序,源程序 目的程序存儲單元 指LDAR9 0 0 0 0 1 0 0 1 0 0 0 0 (R0) ADDRA 0 0 0 1 1 0 1 0 0 0 0 1 (R1) 令A(yù)DDRB 0 0 0 1 1 0 1 1 0 0 1 0 (R2) ADDRC 0 0 0 1 1 1 0 0 0 0 1 1 (R3) 區(qū)SUBRD 0 0 1 0 1 1 0 1 0 1 0 0 (R4) OUT 1 1 1 0 0 1 0 1 (R5) HLT

6、 1 1 1 1 0 1 1 0 (R6) 數(shù)1610 0 0 0 1 0 0 0 0 1 0 0 1 (R9) 2010 0 0 0 1 0 1 0 0 1 0 1 0 (RA) 據(jù)2410 0 0 0 1 1 0 0 0 1 0 1 1 (RB) 2810 0 0 0 1 1 1 0 0 1 1 0 0 (RC) 區(qū)3210 0 0 1 0 0 0 0 0 1 1 0 1 (RD),4、程序及數(shù)據(jù)的輸入方法,將上例執(zhí)行過程中間結(jié)果表列出來。這樣可以看到每執(zhí)行一條指令后累加器A中存放的數(shù)據(jù):,執(zhí)行LDA 9H后A=0001000016(10) 執(zhí)行ADD AH后A=0010010036(10

7、) 執(zhí)行ADD BH后A=0011110060(10) 執(zhí)行ADD CH后A=0101100088(10) 執(zhí)行SUB DH后A=0011100056(10) 執(zhí)行OUT 后 D=0011 100056(10) 執(zhí)行HLT 后D=00111000(不變),3.4 執(zhí)行指令的例行程序,執(zhí)行一條指令的時(shí)間為一個(gè)機(jī)器周期。機(jī)器周期又可分為取指周期和執(zhí)行周期。取指過程和執(zhí)行過程都得通過不同的機(jī)器節(jié)拍。,2、取指周期及執(zhí)行周期,取指周期需要三個(gè)機(jī)器節(jié)拍: (1)地址節(jié)拍(T0=1)PC內(nèi)容送MAR并到達(dá)PROM CON=CPEP LM ERLIEILAEA SUEU LBLO = 0 1 1 0 0 0

8、 0 0 0 0 0 0 (2)儲存節(jié)拍(T1=1)PROM指定單元內(nèi)容送到IR,高四位送控制部件 CON=0001 1000 0000 (3)增量節(jié)拍(T2=1)PC+1,指向下一條指令 CON=1000 0000 0000,執(zhí)行周期也需要三個(gè)節(jié)拍:這里以LDA例行程序?yàn)槔?(4) T3=1,IR已將高四位送至控制器進(jìn)行分析,IR低四位送總線,MAR接受此低四位并指向PROM的某個(gè)單元。(第一次訪問的是指令區(qū),第二次訪問的是數(shù)據(jù)區(qū)) CON= CPEP LMER LIEILAEA SUEU LBLO = 0 0 1 0 0 1 0 0 0 0 0 0 (5) T4=1,PROM中數(shù)據(jù)區(qū)的存

9、儲單元的內(nèi)容送累加器A CON= 0 0 0 1 0 0 1 0 0 0 0 0,(6) T5=1,因T4=1時(shí),已將數(shù)據(jù)存入A中,所以LDA的例行程序就已完成, T5為空拍: CON= 0 0 0 1 0 0 1 0 0 0 0 0,注意: (1)為什么需空拍,這是因?yàn)殡m然LDA的例行程序用不著這個(gè)節(jié)拍,但一些其它指令例行程序需要六拍,為了使每條指令的機(jī)器周期都是一樣長,所以在不需6個(gè)節(jié)拍的指令語句中都給加一個(gè)空拍以補(bǔ)足之。這樣的機(jī)器稱為固定周期的計(jì)算機(jī)。 (2)對任何一條指令取指周期都是三拍。 其它例行程序執(zhí)行情況見表3-3,表3-3 執(zhí)行指令的過程,3.5 控制部件,控制部件是使計(jì)算機(jī)能

10、夠成為自動(dòng)機(jī)的關(guān)鍵部件??刂撇考闹饕h(huán)節(jié): (1)環(huán)行計(jì)數(shù)器(RC) (2)指令譯碼器(ID) (3)控制矩陣(CM) (4)其它控制電路 1 指令譯碼器 指令譯碼器的任務(wù)是:將四位組成的編碼,譯成一個(gè)信號,即譯為某一控制線為高電位。其譯碼電路如圖3-5所示。,2 控制矩陣(CM)是控制部件的核心,其輸入為節(jié)拍信號和經(jīng)譯碼后的指令信號,輸出為12位控制字。其結(jié)構(gòu)見圖3-6所示。,3 其它控制電路(1)時(shí)鐘脈沖發(fā)生器 它一般由兩部分組成,即時(shí)鐘振蕩器及射極輸出器。,(2)運(yùn)行/停車觸發(fā)器 這個(gè)電路既接收來自按鈕的“運(yùn)行”脈沖信號,也接收來自指令譯碼器的“HLT”停車信號. (3)“啟動(dòng)”和“清

11、零”按鈕 圖3-7用方塊圖展示了控制部件各個(gè)電路 間的關(guān)系。,3.6 微機(jī)功能的擴(kuò)展,作為引導(dǎo)入門的模型機(jī)功能太簡單。其原因是:首先是硬件過于簡單,只能接受五條指令而產(chǎn)生相應(yīng)的例行程序。 為了擴(kuò)大計(jì)算機(jī)的功能,就應(yīng)該擴(kuò)大其指令系統(tǒng)。其次是軟件開發(fā)問題,即如何利用現(xiàn)有的指令系統(tǒng),經(jīng)過靈活的編程以解決更復(fù)雜的問題。 總之,計(jì)算機(jī)的功能在很大程度上取決于中央處理器部分,而中央處理器的功能又取決于控制器的功能。 圖3-8是功能擴(kuò)充的微機(jī)結(jié)構(gòu)簡圖。,圖3-8 功能擴(kuò)充后的微機(jī)的結(jié)構(gòu)圖,(1)子程序計(jì)數(shù)器SC(2)程序計(jì)數(shù)器PC,(3)RAM (4)CON (5)ALU(見表3-4) (6)變址寄存器X

12、(7)IR 對于訪問存儲器指令和轉(zhuǎn)移指令,高四位為指令字段,低八位為地址字段。 對于運(yùn)算指令,高八位為指令字段,而低四位為任意數(shù),不代表任何意義。,說明: (1)訪問存儲器指令-與存儲器的讀/寫有關(guān),所以其地址字段必須為8位(256)。 (2)轉(zhuǎn)移指令-可用以改變程序的順序。 (3)運(yùn)算指令-特點(diǎn)是與存儲器及PC無關(guān),而是與ALU、A及B寄存器有關(guān)。,3.7 初級程序設(shè)計(jì)舉例,上節(jié)提供的指令系統(tǒng),可以據(jù)以進(jìn)行程序設(shè)計(jì)。 所謂初級程序是包括下列的程序模式: 1 簡單程序程序一統(tǒng)到底,中間沒有任何分支和跳轉(zhuǎn)。 2 分支程序程序進(jìn)行中,根據(jù)判斷程序執(zhí)行的不同結(jié)果而分別跳轉(zhuǎn)至其他子程序。 3 循環(huán)程序

13、程序進(jìn)行過程中,在某一循環(huán)體進(jìn)行若干次循環(huán)運(yùn)行,然后再繼續(xù)前進(jìn)。 4 調(diào)用子程序程序進(jìn)行至某一階段,調(diào)用存儲于某存儲區(qū)中的某個(gè)子程序,然后返回至主程序繼續(xù)運(yùn)行下去。,【例1】程序清單(循環(huán)程序) R0 LDA 6H R1 SUB 7H 指 R2 JAM 5H 令 R3 JAZ 5H 區(qū) R4 JMP 1H R5 HLT 數(shù) 據(jù) R6 25(十進(jìn)制) 區(qū) R7 9 (十進(jìn)制),例2乘法計(jì)算的程序 12*8 (利用循環(huán)程序和加法運(yùn)算來實(shí)現(xiàn)),R0 NOP 空操作 R1 LDX AH R2 CLA 將A清零 R3 DEX R4 ADD 9H 七次返回 R5 JIZ 7H R6 JMP 3H R7 O

14、UT 轉(zhuǎn)出循環(huán) 96轉(zhuǎn)至O寄存器 R8 HLT R9 12 RA 8,例3設(shè)計(jì)一個(gè)用以測試某個(gè)來自接口電路的輸入數(shù)I0,以確定該數(shù)是否為奇數(shù)。如I0為奇數(shù),則顯示一個(gè) 1111 1111 1111;如I0是偶數(shù),則顯示一個(gè) 0000 0000 0000。程序清單如下:,R0 INP R1 LDB 9H R2 AND R3 JAZ 6H R4 LDA AH R5 JMP 7H R6 LDA BH R7 OUT R8 HLT,R9 0000 0000 0001(掩碼或屏蔽字)RA 1111 1111 1111 奇數(shù)標(biāo)志RB 0000 0000 0000 偶數(shù)標(biāo)志,3.9 現(xiàn)代技術(shù)在微機(jī)中的應(yīng)用,1

15、、流水線技術(shù) 以往的計(jì)算機(jī)都采用馮諾伊曼結(jié)構(gòu), 通常稱為存儲程序的運(yùn)行方式,即程序的指令順序地存儲在存儲器中,這些指令被逐條取出并執(zhí)行。這種串行運(yùn)行,重復(fù)取出和執(zhí)行順序指令是過去計(jì)算機(jī)的主要局限性。根本解決的方法是采用并行操作。 流水線技術(shù)是一種同時(shí)進(jìn)行若干操作的并行處理方式。它把取操作和執(zhí)行操作重疊進(jìn)行,在執(zhí)行一條指令的同時(shí),又取另一條指令。串行運(yùn)行的順序如圖3-12a 所示。流水線操作如圖3-12b所示。,流水線技術(shù)是要增加計(jì)算機(jī)硬件,例如上述中,需要采用預(yù)取指令操作就需增加硬件來取指令,并把它存放到寄存器隊(duì)列中 ,使微處理器能同時(shí)進(jìn)行取指令和執(zhí)行微指令重疊進(jìn)行。,在微處理器中有兩個(gè)運(yùn)算單

16、元,一個(gè)主運(yùn)算單元用于執(zhí)行指令,另一個(gè)專用于地址計(jì)算。,注意:雖然流水線技術(shù)已廣泛地應(yīng)用于1632位微處理機(jī),但由于不同的指令運(yùn)行時(shí)間不一樣長,流水線技術(shù)受到最長步驟所需時(shí)間的限制。,2、存儲體系的變革,隨著電子技術(shù)的發(fā)展,CPU和存儲器的速度都得到了明顯的改善,但存儲器速度的提高趕不上CPU運(yùn)算速度的提高,大容量存儲器的速度遠(yuǎn)遠(yuǎn)跟 不上CPU的運(yùn)算速度。 為了程序的需要,主存容量也從幾千字節(jié)發(fā)展到幾兆和幾十兆字節(jié)、幾百兆字節(jié)以上。盡管如此,受價(jià)格等方面的約束,主存容量仍不能滿足程序和數(shù)據(jù)的要求。因此需要將大量不常用的程序存放于大容量、低速的輔存中。,利用硬件控制將主存與輔存有機(jī)的組成一個(gè)整體

17、,構(gòu)成二級存儲體系,其結(jié)構(gòu)見圖所示,CPU與主存可以直接交換信息,輔存可以與主存交換信息但不能與CPU直接交換信息。,在二級存儲體系中,主存是與計(jì)算機(jī)各部件進(jìn)行數(shù)據(jù)交換的主要設(shè)備,輔存作為主存的后援系統(tǒng)來彌補(bǔ)主存容量不足的缺陷。輔存中存放的是暫時(shí)不用和主存中容納不下的程序和數(shù)據(jù)。,這里輔存中的信息不能被CPU直接訪問,必須通過調(diào)入主存中才能被計(jì)算機(jī)的其它部件使用。一般有兩種途徑允許CPU運(yùn)行輔存中存放的程序。 一種途徑是當(dāng)主存能夠容納下整個(gè)程序及所需數(shù)據(jù)時(shí),將要使用的程序從輔存調(diào)入到主存之中,然后由CPU控制運(yùn)行。 另一種途徑是當(dāng)主存容量不能容納整個(gè)程序時(shí),由程序員將程序分成與主存大小相匹配的

18、幾段,按需要控制各段程序間的運(yùn)行順序,在執(zhí)行時(shí)依次調(diào)入主存運(yùn)行。,二級存儲體系解決了主存容量不足、價(jià)格高的矛盾,但仍沒有解決主存與CPU之間速度不匹配的問題。 現(xiàn)代科技的發(fā)展使CPU的速度快于主存的存取速度,存儲器的相對低速影響了CPU性能的發(fā)揮。同時(shí),主存與輔存之間數(shù)據(jù)交換速度也影響了計(jì)算機(jī)存儲系統(tǒng)性能的發(fā)揮。 因此,存儲系統(tǒng)的設(shè)計(jì)突破了用主存和輔存組成單一的二級存儲結(jié)構(gòu),采用由多種性能不同、速度不同、價(jià)格不同的存儲設(shè)備按一定的層次結(jié)構(gòu)組成多級存儲體系,見圖所示。,多級存儲體系是由主存輔存二級存儲體系發(fā)展而來。在主存和輔存之間利用輔助的軟硬件將二者連為一體,構(gòu)成速度接近主存、容量接近輔存的存

19、儲體系。同時(shí)為解決主存與 CPU 之間的互相匹配問題,參照主存輔存結(jié)構(gòu),在 CPU與主存之間增加高速緩沖存儲器(Cache)。借助于輔助硬件,將 Cache與 主存構(gòu)成一整體,使得它具有接近Cache的速度、主存的容量和接近主存的平均價(jià)格。,在多級存儲體系中, Cache的出現(xiàn)基本解決了主存與CPU之間的速度匹配問題。 Cache的性能高于主存的性能,但由于它是采用價(jià)格昂貴的雙極性RAM線路,因此其價(jià)格高于主存。采用適量的Cache既可以增加存儲體系的性能,又可以將整個(gè)存儲體系的價(jià)格限制在一定范圍內(nèi)。,Cache的原理和特點(diǎn): 其工作原理是基于對大量典型程序運(yùn)行實(shí)例分析,在較短的時(shí)間間隔內(nèi),由

20、程序產(chǎn)生的地址往往集中于存儲器邏輯地址空間很小的范圍內(nèi)。,指令地址的分布是連續(xù)的,加上循環(huán)程序和子程序段的重復(fù)執(zhí)行,對這些地址的訪問自然具有時(shí)間集中分布的傾向。這種對局部范圍的存儲器地址頻繁訪問,對此范圍外的地址訪問甚少的現(xiàn)象稱為程序訪問的局部性。程序訪問的局部性為 Cache的引入提供了理論依據(jù)。,Cache中存放著主存的一部分副本(主存中的部分內(nèi)容),當(dāng)存儲器接到有關(guān)讀取指令時(shí),先在Cache中查找此信息是否存在,若有則不經(jīng)主存從Cache中取出,否則直接從主存中取出,同時(shí)寫入Cache,以備再次使用。,需要向存儲器寫入內(nèi)容時(shí),由輔助硬件采用各種方法保證主存中的內(nèi)容同Cache中的內(nèi)容保持

21、一致。保證寫入時(shí)兩者內(nèi)容一致的方法有以下三種:(1) 將內(nèi)容同時(shí)寫入主存和Cache;(2) 數(shù)據(jù)僅寫入主存,放棄掉Cache中相應(yīng)內(nèi)容;(3)數(shù)據(jù)只寫入Cache,在規(guī)定的時(shí)間將修改過的Cache的內(nèi)容寫入主存.,Cache的特點(diǎn)是: (1)存取速度快; (2)存儲容量小,在P 3、P4系列微機(jī)中一般設(shè)置為128KB到512KB之間。而同期主存容量為32MB到512MB之間。,3、虛擬存儲的概念、作用,(1)虛擬存儲器的概念、作用 主存儲器的實(shí)際容量不一定與根據(jù)地址碼位所計(jì)算出的容量相同,其中原因有二: 一是在大,中型計(jì)算機(jī)中,由于指令系統(tǒng)中的地址碼位較長,實(shí)際內(nèi)存空間比地址碼形成的空間要小

22、得多。如某種計(jì)算機(jī),其指令系統(tǒng)中地址碼位的長度為32,依此可以計(jì)算出其可尋址空間為232=4294 967 296Byte,即4GB,但其主存的容量僅為16MB,兩者相差256倍。而程序員希望能夠使用整個(gè)32位地址碼位編程,利用整個(gè)地址空間裝載程序。,二是小型,微型計(jì)算機(jī)系統(tǒng)中指令系統(tǒng)的地址碼位短,由地址碼位形成的尋址空間比實(shí)際主存小。如一種微機(jī)的地址碼長為16,其尋址空間為21665536Byte,即64KB,而其存儲器的實(shí)際容量為1MB。程序設(shè)計(jì)人員希望能夠在程序中利用整個(gè)內(nèi)存的空間編程,以擺脫地址碼位的限制。,對于第二種情況,由操作系統(tǒng)的存儲管理部分控制,對內(nèi)存的有效部分進(jìn)行分段管理和重新定位,擴(kuò)大其地址碼位的長度,利于人們使用。,對于第一種情況,一般由操作系統(tǒng)將輔存的一部分當(dāng)做主存使用,從而擴(kuò)大程序可控制的空間。一般將這種由主存和部分輔存組成的存儲結(jié)構(gòu)稱為虛擬存儲器,其對應(yīng)的存儲地址稱為虛擬地址(邏輯地址),其對應(yīng)的存儲容量稱為虛擬容量,將實(shí)際主存地址稱為物理地址或?qū)嵉刂?,主存?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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

提交評論