微型計算機的基本工作原理-鄭學堅周斌《微型計算機原理及應用》-課件_第1頁
微型計算機的基本工作原理-鄭學堅周斌《微型計算機原理及應用》-課件_第2頁
微型計算機的基本工作原理-鄭學堅周斌《微型計算機原理及應用》-課件_第3頁
微型計算機的基本工作原理-鄭學堅周斌《微型計算機原理及應用》-課件_第4頁
微型計算機的基本工作原理-鄭學堅周斌《微型計算機原理及應用》-課件_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

電子信息類專業(yè)學科基礎課程授課教師:侯俊欽第三章微型計算機的基本工作原理1電子信息類專業(yè)學科基礎課程授課教師:侯俊欽第三章微型計算機第3章微型計算機的基本工作原理章節(jié)目錄微型計算機結(jié)構(gòu)的簡化形式指令系統(tǒng)123程序設計4執(zhí)行指令的例行程序5控制部件6微型計算機功能的擴展7初級程序設計舉例8控制部件的擴展9現(xiàn)代技術(shù)在微型計算機中的應用2第3章微型計算機的基本工作原理章節(jié)目錄微型計算機結(jié)構(gòu)的簡化精品資料3精品資料3你怎么稱呼老師?如果老師最后沒有總結(jié)一節(jié)課的重點的難點,你是否會認為老師的教學方法需要改進?你所經(jīng)歷的課堂,是講座式還是討論式?教師的教鞭“不怕太陽曬,也不怕那風雨狂,只怕先生罵我笨,沒有學問無顏見爹娘……”“太陽當空照,花兒對我笑,小鳥說早早早……”441微型計算機結(jié)構(gòu)的簡化形式簡化了的微型計算機(1)功能簡單:只能做兩個數(shù)的加減法。(2)內(nèi)存量?。褐挥幸粋€16×8PROM(可編程序只讀存儲器)。(3)字長8位:二進制8位顯示。(4)手動輸入:用撥動開關輸入程序和數(shù)據(jù)。51微型計算機結(jié)構(gòu)的簡化形式簡化了的微型計算機(1)功能簡1微型計算機結(jié)構(gòu)的簡化形式1.程序計數(shù)器PC計數(shù)范圍由0000~1111(用十六進制可記作由0~F)。每次運行之前,先復位至0000。當取出一條指令后,PC應加1。2.存儲地址寄存器MAR接收來自PC的二進制程序號,作為地址碼送至PROM去。簡化了的微型計算機PC4CPCLKCLREPPCMAR4LMCLKMAR16×8PROM8ER16×8PROM61微型計算機結(jié)構(gòu)的簡化形式1.程序計數(shù)器PC簡化了的微1微型計算機結(jié)構(gòu)的簡化形式結(jié)構(gòu):每條橫線與豎線都有一條由開關和二極管串聯(lián)的電路將它們連接起來。操作:撥動開關,即可使該數(shù)據(jù)位置1或置0,從而達到使每個存儲單元“寫入”數(shù)據(jù)的目的。功能:實際上同時具有RAM和ROM的功能。簡化了的微型計算機3.可編程序只讀存儲器PROM71微型計算機結(jié)構(gòu)的簡化形式結(jié)構(gòu):每條橫線與豎線都有一條由開1微型計算機結(jié)構(gòu)的簡化形式作用:從PROM接收到指令字(當LI=1,ER=1),同時將指令字分送到控制部件CON和W總線上去。指令字是8位的:

××××

××××

MSB

LSB最高有效位

最低有效位左4位為最高有效位(高4位),稱為指令字段;右4位為最低有效位(低4位),稱為地址字段。4.指令寄存器IRIRCON48412LICLKCLREICLKCLRCPEPLMERLIEILAEASUEULBLOIRCON81微型計算機結(jié)構(gòu)的簡化形式作用:從PROM接收到指令字(當1微型計算機結(jié)構(gòu)的簡化形式(2)CON有一個同步時鐘,能發(fā)出脈沖CLK到各個部件去,使它們同步運行。(3)在CON中有一個控制矩陣CM,能根據(jù)IR送來的指令發(fā)出12位的控制字:CON=CPEPLMERLIEILAEASUEULBLO根據(jù)控制字中各位的置1或置0情況,計算機就能自動地按指令程序而有秩序地運行。5.控制部件CON(1)每次運行之前,CON先發(fā)出CLR=1,使有關的部件清0。此時:PC=0000

IR=0000

0000IRCON48412LICLKCLREICLKCLRCPEPLMERLIEILAEASUEULBLOIRCON91微型計算機結(jié)構(gòu)的簡化形式(2)CON有一個同步時鐘,能1微型計算機結(jié)構(gòu)的簡化形式作用:儲存計算機運行期間的中間結(jié)果。它能接收W總線送來的數(shù)據(jù)(LA=1),也能將數(shù)據(jù)送到W總線上去(EA=1)。它還有一個數(shù)據(jù)輸出端,將數(shù)據(jù)送至ALU去進行算術(shù)運算。注意:這個輸出是雙態(tài)的,即是立即地送去,而不受E門的控制。6.累加器AA888LACLKEAA88101微型計算機結(jié)構(gòu)的簡化形式作用:儲存計算機運行期間的中間結(jié)1微型計算機結(jié)構(gòu)的簡化形式7.算術(shù)邏輯部件ALU它只是一個二進制補碼加法器/減法器。當SU=0,ALU,進行加法A+B;當SU=1,ALU,進行減法A-B,即(A+B′)。8.寄存器B將要與A相加減的數(shù)據(jù)暫存于此寄存器。它到ALU的輸出也是雙態(tài)的,即無E門控制。AALUB88888LACLKEASUEULBCLK8A88ALUB111微型計算機結(jié)構(gòu)的簡化形式7.算術(shù)邏輯部件ALU8.1微型計算機結(jié)構(gòu)的簡化形式作用:計算機運行結(jié)束時,累加器A中存有答案。如要輸出此答案,就得送入O。此時EA=1,LO=1,則O=A。典型的計算機具有若干個輸出寄存器,稱為輸出接口電路。這樣就可以驅(qū)動不同的外圍設備,如打印機、顯示器等。9.輸出寄存器OOD88LOCLKOD這是用發(fā)光二極管(LED)組成的顯示器。每一個LED接到寄存器O的一位上去。當某位為高電位時,則該LED發(fā)光。因為寄存器O是8位的,所以這里也由8個LED組成顯示器。10.二進制顯示器D121微型計算機結(jié)構(gòu)的簡化形式作用:計算機運行結(jié)束時,累加器A中央處理器CPU(包括PC,IR,CON,ALU,A及B);記憶裝置M(MAR及PROM);

輸入/輸出I/O(包括O及D,D也可稱為其外圍設備)。簡化了的微型計算機分成3大部分:13中央處理器CPU(包括PC,IR,CON,ALU,A及B);1微型計算機結(jié)構(gòu)的簡化形式中央處理器(centralprocessingunit,縮寫為CPU)是將程序計數(shù)功能(PC)、指令寄存功能(IR)、控制功能(CON)、算術(shù)邏輯功能(ALU)以及暫存中間數(shù)據(jù)功能(A及B)集成在一塊電路器件上的集成電路(IC)。實用上的CPU要比這里的圖例更為復雜些,但其主要功能是基本一樣的。存儲器M(memory)在此圖例中只包括存儲地址寄存器(MAR)及可編程存儲器(實際還包括了地址譯碼功能),這就是微型計算機的“內(nèi)存”。實際的“內(nèi)存”要包括更多的內(nèi)容(如ROM,RAM及EPROM等)和更大的存儲容量。輸入及輸出接口(I/O)是計算機實行人機對話的重要部件。本簡例中的輸入將是人工設定PROM而沒有輸入電路接口只有輸出有接口(O)。實際微型計算機的輸入設備多為鍵盤,輸出則為監(jiān)視器(即電視屏顯示器),因而必須有專用的輸出接口電路。3大部分功能:141微型計算機結(jié)構(gòu)的簡化形式中央處理器(centralpr指令系統(tǒng)LDA——將數(shù)據(jù)裝入累加器A;ADD——進行加法運算;SUB——進行減法運算;OUT——輸出結(jié)果;HLT——停機。簡化微機的指令5條指令:控制部件能完成一系列例行程序15指令系統(tǒng)LDA——將數(shù)據(jù)裝入累加器A;簡化微機的指令5條指令指令系統(tǒng)助記符操作數(shù)注釋LDA

R9 ;把R9中的數(shù)據(jù)存入AADD

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ù),即結(jié)果HLT

;停機例如一個計算程序的格式如下:16指令系統(tǒng)助記符操作數(shù)注釋例如一個計算程序的格式如下:程序設計(1)編制匯編語言寫的程序;(2)助記符的翻譯;(3)存儲器的分配。將指令清單中每一條指令都翻譯成二進制碼——機器碼,稱作操作碼表存儲器中既要寫入計算程序,也要存放參與運算的數(shù)據(jù),因此,還得決定存儲器中的存儲單元應如何分配,這稱為存儲空間分配。在本微型機中就是要把PROM中的16個存儲單元分配成兩個區(qū):程序存放區(qū)(指令區(qū))和數(shù)據(jù)存放區(qū)(數(shù)據(jù)區(qū))。程序設計的步驟17程序設計(1)編制匯編語言寫的程序;將指令清單中每一條指令都程序設計操作碼表由計算機制造廠提供的翻譯表,它是每個助記符與二進制碼的相應對照表。助記符

操作碼LDA0000ADD0001SUB0010OUT1110HLT1111助記符與操作碼18程序設計操作碼表由計算機制造廠提供的翻譯表,它是每個助記符與程序設計存儲器分配PROM中的16個存儲單元分配成兩個區(qū):程序存放區(qū)(指令區(qū))和數(shù)據(jù)存放區(qū)(數(shù)據(jù)區(qū))。問題:如何根據(jù)助記符與二進制的對照表(操作碼表)將上節(jié)例題中的每條指令的助記符譯成二進制碼,并將存儲單元符號寫成地址碼(即R0→0000,R1→0001,…,R9→1001)

?

01H00H0FH0EH0DH0CH0BH0AH09H08H07H06H05H04H03H02HRFRERDRCRBRAR9R8R7R6R5R4R3R2R1R0數(shù)據(jù)區(qū)指令區(qū)19程序設計存儲器分配PROM中的16個存儲單元分配成兩個區(qū):問程序設計將源程序翻譯成目的程序助記符

操作碼LDA 0000ADD 0001SUB 0010OUT 1110HLT 1111數(shù)據(jù)區(qū)存儲單元R8~RF二進制地址1000~1111LDAR9ADDRAADDRBSUBRCOUTHLT源程序000000010001001011101111操作碼1001101010111100××××××××操作數(shù)地址目的程序程序和數(shù)據(jù)都寫到了存儲器中01H00H0FH0EH0DH0CH0BH0AH09H08H07H06H05H04H03H02HRFRERDRCRBRAR9R8R7R6R5R4R3R2R1R01CH18H14H10HF0HE0H2CH1BH1AH09H該程序的功能是計算:

16+20+24-28指令區(qū)存儲單元R0~R7二進制地址0000~011120程序設計將源程序翻譯成目的程序助記符 操作碼數(shù)據(jù)區(qū)存儲單元R程序設計程序及數(shù)據(jù)的輸入方法21程序設計程序及數(shù)據(jù)的輸入方法21執(zhí)行指令的例行程序計算機從開機到關機的全過程可概括為:取指令——執(zhí)行指令——取指令——執(zhí)行指令……計算機中的時間單位(由小到大)振蕩周期——主頻的倒數(shù)狀態(tài)周期(節(jié)拍)——若干個振蕩周期CPU周期——若干個狀態(tài)周期指令周期——若干個CPU周期

(這里的指令周期對應課本上“機器周期”的概念,但一般的教科書上“機器周期”是和“CPU周期”為同一個概念)

(讀取并執(zhí)行完成一條指令的時間)

(一個CPU周期取指令,若干個CPU周期執(zhí)行指令)22執(zhí)行指令的例行程序計算機從開機到關機的全過程可概括為:22執(zhí)行指令的例行程序指令周期CPU周期狀態(tài)周期/節(jié)拍執(zhí)行一條指令的時間為一個機器周期。機器周期又可分為取指周期和執(zhí)行周期。取指過程和執(zhí)行過程機器都得通過不同的機器節(jié)拍。23執(zhí)行指令的例行程序指令周期CPU周期狀態(tài)周期/節(jié)拍執(zhí)行一條指執(zhí)行指令的例行程序如果把一段程序的運行比作做一套廣播體操每一節(jié)相當于一條指令,每一節(jié)的時間即為指令周期體操中每一節(jié)是等長的,而實際指令周期可以是不等長的,但均為CPU周期的整數(shù)倍每節(jié)的每一小節(jié)(一個1、2、3、4),相當與一個CPU周期一節(jié)體操通常分4小節(jié),取指令需要1個小節(jié)即1個CPU周期,執(zhí)行這條指令一般需要1至3個CPU周期每一小節(jié)的一個口令(1、2、3、4),相當于一個節(jié)拍每聽到一個數(shù)完成一個分解動作,計算機則在每個節(jié)拍完成一個CPU周期的任務的一個步驟24執(zhí)行指令的例行程序如果把一段程序的運行比作做一套廣播體操24執(zhí)行指令的例行程序各位輸出端Q0~Q5的電位就是機器節(jié)拍T0~T5的電位,各節(jié)拍之間的轉(zhuǎn)換是在時鐘脈沖的負邊緣開始的6位的環(huán)形字。它用以控制6條電路,使它們依次輪流為高電位,T0,T1,T2,T3,T4和T5稱為機器的節(jié)拍。環(huán)形計數(shù)器及機器節(jié)拍25執(zhí)行指令的例行程序各位輸出端Q0~Q5的電位就是機器節(jié)拍T0執(zhí)行指令的例行程序取出指令的過程需要3個機器節(jié)拍,在清零和啟動之后第1個節(jié)拍為T0。地址節(jié)拍(T0=1)在T0=1時,應將PC的內(nèi)容(即第1個地址碼)送入MAR(并通過MAR而達到PROM)所以,此時應有:EP=1,即PC準備放出數(shù)據(jù)LM=1,即MAR準備接收數(shù)據(jù)控制部件發(fā)出的控制字CON:=CPEPLMERLIEILAEASUEULBLO=011000000000取指周期26執(zhí)行指令的例行程序取出指令的過程需要3個機器節(jié)拍,在清零和啟執(zhí)行指令的例行程序(2)儲存節(jié)拍(T1=1)在T1=1時,應將PROM中由PC送來的地址碼所指定的存儲單元中的內(nèi)容送到IR,同時IR立即將其高4位送至控制部件。因此,在此節(jié)拍到來之前,即應準備好:ER=1即PROM準備放出數(shù)據(jù)LI=1即IR準備接收數(shù)據(jù)所以:CON=0001

1000

0000取指周期27執(zhí)行指令的例行程序(2)儲存節(jié)拍(T1=1)取指周期27執(zhí)行指令的例行程序(3)增量節(jié)拍(T2=1)在T2=1時,應使PC加1,做好下一條指令的取指準備。因此,CP=1,即命令PC計數(shù)。所以,此時:CON=1000

0000

0000這樣3節(jié)拍的取指周期,對任何一條指令都是一樣的。取指周期28執(zhí)行指令的例行程序(3)增量節(jié)拍(T2=1)這樣3節(jié)拍的取執(zhí)行指令的例行程序指令取出來,再將其高4位送入控制部件去進行分析,決定下面應如何執(zhí)行,下面的3節(jié)拍(T3,T4,T5)就稱為執(zhí)行周期。(4)T3=1時IR已將從PROM來的指令碼的高4位送至控制部件進行分析。此高4位是與LDA相應的二進制碼“0000”,控制部件經(jīng)過分析后就發(fā)出命令:EI=1,將IR的低4位送至W總線;LM=1,MAR接收此低4位數(shù)作為地址并立即送至PROM;所以CON=0010

0100

0000執(zhí)行周期(LDA指令)29執(zhí)行指令的例行程序指令取出來,再將其高4位送入控制部件去進行執(zhí)行指令的例行程序(5)T4=1應將PROM的數(shù)據(jù)區(qū)的存儲單元(如R9,即1001)的內(nèi)容送入累加器A,即:ER=1,PROM準備放出數(shù)據(jù);LA=1,A準備接收數(shù)據(jù);即CON=0001

0010

0000執(zhí)行周期(LDA指令)30執(zhí)行指令的例行程序(5)T4=1執(zhí)行周期(LDA指令)30執(zhí)行指令的例行程序(6)T5=1因為T4=1時,已將數(shù)據(jù)存放入A中,所以,LDA的例行程序就已完成,T5節(jié)拍就變成空拍,即有:CON=0000

0000

0000執(zhí)行周期(LDA指令)31執(zhí)行指令的例行程序(6)T5=1執(zhí)行周期(LDA指令)31執(zhí)行指令的例行程序第2、3、4的ADD的指令,其取指周期仍和LDA9H是一樣的,但PC中的內(nèi)容已不是0000而是PC+1,即0001了;T4節(jié)拍從PROM中來的數(shù)據(jù)不再送入累加器A,而是送入寄存器B,這樣A和B的數(shù)據(jù)就能直接被送入ALU相加;在T5節(jié)拍,將A和B的內(nèi)容相加的結(jié)果還要送回到A去。所以要求LA=1,EU=1。由于ALU在實行相加時,要求SU=0,所以沒出現(xiàn)SU。執(zhí)行周期(ADD指令)32執(zhí)行指令的例行程序第2、3、4的ADD的指令,其取指周期仍和執(zhí)行指令的例行程序第5條是要求減法運算所以最后一個節(jié)拍中出現(xiàn)SU=1,因而控制字變成:CON=0000

0010

1100第6條指令要求將累加器的內(nèi)容送入輸出寄存器,而與存儲器PROM無關,所以只在T3節(jié)拍要求LO=1,EA=1,而T4及T5節(jié)拍為空拍。第7條指令只要求不再運行下去,即要求CLK時鐘停發(fā)脈沖。這便是由控制器直接發(fā)出停止信號。所以在T3節(jié)拍發(fā)出HLT(停機信號)后T4及T5節(jié)拍也是空拍。執(zhí)行周期(減法及HLT)33執(zhí)行指令的例行程序第5條是要求減法運算所以最后一個節(jié)拍中出現(xiàn)執(zhí)行指令的例行程序4PCIRCONMAR16×8PROMAALUBOD48888488888412CPCLKCLREPLICLKCLREILACLKEASUEULBCLKLOCLKCLKCLRLMCLKER8CPEPLMERLIEILAEASUEULBLO011000000000T0=10H440執(zhí)行下面程序LDAR9ADDRA……注意觀察取指周期和執(zhí)行周期34執(zhí)行指令的例行程序4PCIRCONMAR16×8AALUBO執(zhí)行指令的例行程序809H4PCIRCONMAR16×8PROMAALUBOD48888488888412CPCLKCLREPLICLKCLREILACLKEASUEULBCLKLOCLKCLKCLRLMCLKER8CPEPLMERLIEILAEASUEULBLO000110000000T1=1809H8409HLDAR9的指令碼35執(zhí)行指令的例行程序809H4PCIRCONMAR16×8AA執(zhí)行指令的例行程序4PCIRCONMAR16×8PROMAALUBOD48888488888412CPCLKCLREPLICLKCLREILACLKEASUEULBCLKLOCLKCLKCLRLMCLKER8CPEPLMERLIEILAEASUEULBLO001001000000T3=19449100000000000T2=101H完成了取指周期36執(zhí)行指令的例行程序4PCIRCONMAR16×8AALUBO執(zhí)行指令的例行程序4PCIRCONMAR16×8PROMAALUBOD48888488888412CPCLKCLREPLICLKCLREILACLKEASUEULBCLKLOCLKCLKCLRLMCLKER8CPEPLMERLIEILAEASUEULBLO000100100000T4=110H8810H37執(zhí)行指令的例行程序4PCIRCONMAR16×8AALUBO執(zhí)行指令的例行程序4PCIRCONMAR16×8PROMAALUBOD48888488888412CPCLKCLREPLICLKCLREILACLKEASUEULBCLKLOCLKCLKCLRLMCLKER810H000000000000T5=1空節(jié)拍CPEPLMERLIEILAEASUEULBLO執(zhí)行完了LDAR9指令將數(shù)據(jù)裝入了累加器A38執(zhí)行指令的例行程序4PCIRCONMAR16×8AALUBO執(zhí)行指令的例行程序4PCIRCONMAR16×8PROMAALUBOD48888488888412CPCLKCLREPLICLKCLREILACLKEASUEULBCLKLOCLKCLKCLRLMCLKER8CPEPLMERLIEILAEASUEULBLO011000000000T0=11H441進入第二條指令的取指周期10H39執(zhí)行指令的例行程序4PCIRCONMAR16×8AALUBO執(zhí)行指令的例行程序4PCIRCONMAR16×8PROMAALUBOD48888488888412CPCLKCLREPLICLKCLREILACLKEASUEULBCLKLOCLKCLKCLRLMCLKER8CPEPLMERLIEILAEASUEULBLO000110000000T1=181AH841AH10HADDRA的指令碼40執(zhí)行指令的例行程序4PCIRCONMAR16×8AALUBO執(zhí)行指令的例行程序4PCIRCONMAR16×8PROMAALUBOD48888488888412CPCLKCLREPLICLKCLREILACLKEASUEULBCLKLOCLKCLKCLRLMCLKER8CPEPLMERLIEILAEASUEULBLO001001000000T3=1A44A100000000000T2=102H完成了

取指周期10H41執(zhí)行指令的例行程序4PCIRCONMAR16×8AALUBO執(zhí)行指令的例行程序4PCIRCONMAR16×8PROMAALUBOD48888488888412CPCLKCLREPLICLKCLREILACLKEASUEULBCLKLOCLKCLKCLRLMCLKER8CPEPLMERLIEILAEASUEULBLO000100000010T4=1810H814H24H42執(zhí)行指令的例行程序4PCIRCONMAR16×8AALUBO執(zhí)行指令的例行程序4PCIRCONMAR16×8PROMAALUBOD48888488888412CPCLKCLREPLICLKCLREILACLKEASUEULBCLKLOCLKCLKCLRLMCLKER8CPEPLMERLIEILAEASUEULBLO000000100100T5=124H8824H完成了ADDRA指令的執(zhí)行相加的結(jié)果裝入了累加器A43執(zhí)行指令的例行程序4PCIRCONMAR16×8AALUBO控制部件它包括下列主要部件:(1)環(huán)形計數(shù)器(RC);(2)指令譯碼器(ID);(3)控制矩陣(CM);(4)其他控制電路。其中,環(huán)形計數(shù)器、指令譯碼器、控制矩陣稱為控制器??刂撇考臉?gòu)成使計算機能夠成為自動機的關鍵部件。44控制部件它包括下列主要部件:控制部件的構(gòu)成使計算機能夠成為自控制部件指令譯碼器IR高4位就是各種控制動作的代碼I7I6I5I4LDAADDSUBOUTHLT0000110001100101111011111來自指令寄存器的操作碼45控制部件指令譯碼器IR高4位就是各種控制動作的代碼I7控制部件控制矩陣+++++T0T1T2T3T4T5+T5T4T3T2T1T0CPEP

LM

ERLI

EI

LA

EA

SU

EU

LB

LOLDAADDSUBOUT46控制部件控制矩陣+++++T0T1T2T3T4T5+T5CP控制部件啟動和清除按鈕運行/停止觸發(fā)器時鐘震蕩器射極跟隨器環(huán)形計數(shù)器指令譯碼器控制矩陣

指令字段(高4位)HLTCONCLRCLK控制器

控制部件結(jié)構(gòu)圖CLRCLKCLRCLKCLRCLK時鐘震蕩器射極跟隨器啟動和清除按鈕運行/停止觸發(fā)器存儲程序,按地址順序執(zhí)行,

這就是馮.諾伊曼模型計算機的工作原理其他控制電路47控制部件啟動和運行/停止時鐘射極環(huán)形指令控制指令字段HLT微型計算機功能的擴展CPU的本質(zhì)特征自動機高速CPU功能強=運行效率高+指令豐富增強CPU功能

=改進控制器、ALU、寄存器等核心部件48微型計算機功能的擴展CPU的本質(zhì)特征48子程序計數(shù)器SC88PC88MAR8256×12RAM12MDR1212IR128CON812輸入寄存器1212A12ALU12B變址寄存器12輸出寄存器12121212121228

LSCLKCSES

LPCLKEPLICLRCLKEI

LMCLKWEMEAminusXminusLDEDCLKCLKCLRLNCLKENLACLKEAS3S1EUS2S0LBCLKLOCLRLXCLKEXINXDEX功能擴充后的微型計算機結(jié)構(gòu)圖XminusXzeroAnimusAzeroAzeroXzero49子程序88PC88MAR8256×1212MDR1212IR微型計算機功能的擴展它本身也相當于一個程序計數(shù)器,不過它不由CLR來清零,而可由LS門來置數(shù)。一旦置數(shù),即為其子程序的開始地址。SC的位數(shù)為8位。LS——“裝入”的可控門;ES——“輸出”的可控門,即3態(tài)門;CS——“計數(shù)”的控制端。子程序計數(shù)器SC88

LSCLKCSES擴展的功能1.子程序計數(shù)器SC50微型計算機功能的擴展它本身也相當于一個程序計數(shù)器,不過它不由微型計算機功能的擴展用RAM作為主存儲器。RAM的存儲單元為256個,字長為12位??梢噪S機存取,除MAR(存儲地址寄存器)外,還有一個MDR(存儲數(shù)據(jù)寄存器)。擴展的功能PC88

LPCLKEP2.程序計數(shù)器PCPC增加了一個LP門,這就使得PC可以接收跳轉(zhuǎn)地址。換句話說,PC可以不從00H開始。3.隨機存取存儲器RAMMAR8256×12RAM12MDR1212

LMCLKWEMELDEDCLK51微型計算機功能的擴展用RAM作為主存儲器。RAM的存儲單元為微型計算機功能的擴展控制端改為S=S3S2S1S0。4位16種組合,只用其中的10種,以得到3種算術(shù)運算和7種邏輯運算。4.控制部件CON擴展的功能此CON將要產(chǎn)生一個28位的控制字:LSCSESLP

CPEPLMWE

MELDEDLI

EILNENLA

EAS3S2S1

S0EULBLX

INXDEXEXLO5.算術(shù)邏輯部件ALU全加/減器ABSCiCi+1函數(shù)發(fā)生器XYS0SnCON28CLKCLRAzeroXzero52微型計算機功能的擴展控制端改為S=S3S2S1S0。4位16微型計算機功能的擴展新增加的一種寄存器,它可以用指令使其加1或減1:INX——加1指令助記符,其控制端符號為INX;DEX——減1指令助記符,其控制端符號為DEX。擴展的功能變址寄存器1212LXCLKEXINXDEXXminusXzero6.變址寄存器X53微型計算機功能的擴展新增加的一種寄存器,它可以用指令使其加1微型計算機功能的擴展在訪問存儲器指令(MRI)和轉(zhuǎn)移指令的執(zhí)行期間,高4位代表指令字段,低8位代表地址字段?!痢痢痢?/p>

××××

××××(MSB4位)

(LSB8位)↓↓

CON

W總線在運算指令執(zhí)行期間,高8位代表指令字段,而低4位可為任意數(shù),因為它不代表任何意義:××××

××××

××××(MSB8位)

(LSB4位)↓↓

CON不用擴展的功能IR1288LICLRCLKEI7.指令寄存器IR54微型計算機功能的擴展在訪問存儲器指令(MRI)和轉(zhuǎn)移指令的執(zhí)微型計算機功能的擴展指令的擴展(5種——28種)訪問存儲器類指令指令中的操作數(shù)之一在存儲器中轉(zhuǎn)移指令可根據(jù)條件決定程序流程的跳轉(zhuǎn)將指令地址段內(nèi)容有條件地裝入PC或SC邏輯運算指令作用對象僅限于ALU、A和B各類邏輯運算以及子程序返回、輸入輸出、停機等55微型計算機功能的擴展指令的擴展(5種——28種)55初級程序設計舉例初級程序是包括下列的程序模式:(1)簡單程序——程序一統(tǒng)到底,中間沒有任何分支和跳轉(zhuǎn)。(2)分支程序——程序進行中,根據(jù)判斷程序執(zhí)行的不同結(jié)果而分別跳轉(zhuǎn)至其他子程序去。(3)循環(huán)程序——程序進行過程中,在某一循環(huán)體進行若干次循環(huán)運行,然后再繼續(xù)前進。(4)調(diào)用子程序——程序進行至某一階段,調(diào)用存儲于某存儲區(qū)中的某個子程序,然后返回至主程序繼續(xù)運行下去。程序模式56初級程序設計舉例初級程序是包括下列的程序模式:程序模式56初級程序設計舉例【例】跳轉(zhuǎn)指令及其如何形成循環(huán)程序的簡例

R0

LDA

6H把(R6)裝入A去

R1

SUB

7H從(A)減去(R7)指R2

JAM

5H

(A)=負,則轉(zhuǎn)移至R5令R3

JAZ

5H

(A)=0,則轉(zhuǎn)移至R5區(qū)R4

JMP

1H無條件轉(zhuǎn)移至R1

R5

HLT數(shù)R6

25(10)據(jù)區(qū)R7

9(10)57初級程序設計舉例【例】跳轉(zhuǎn)指令及其如何形成循環(huán)程序的簡例初級程序設計舉例【例】循環(huán)程序利用變址寄存器可以設計一個循環(huán)程序:R0

LDX

5H將(R5)裝入變址器XR1

DEX命(X)減1R2

JIZ

4H

(X)=0,則轉(zhuǎn)移至R4R3

JMP

1H無條件轉(zhuǎn)移至R1R4

HLT停機R5

3(10)

(R5)=3(10)(數(shù)據(jù))58初級程序設計舉例【例】循環(huán)程序R0LDX5H將(R5)初級程序設計舉例【例3.3】乘法計算的程序

R0

NOP

R1

LDX

AH

R2

CLA

R3

DEX

R4

ADD

9H

7次返回

R5

JIZ

7H

R6

JMP

3H

R7

OUT轉(zhuǎn)出循環(huán)R8

HLT

R9

12(10)

RA

8(10)利用循環(huán)程序可作乘法計算,例如要求12(10)×8(10),就是要求將12(10)連加8次。這就可以利用循環(huán)程序,讓它進行8次循環(huán)。

R0

INP

;將外部數(shù)據(jù)裝入A

R1

XCH

;將(A)和(X)互換59初級程序設計舉例【例3.3】乘法計算的程序利用循環(huán)程序可作乘初級程序設計舉例程序清單如下:R0

INP;將I0裝入累加器A

R1

LDB

9H;將(R9)裝入寄存器B

R2

AND;將(B)與(A)進行“與”運算R3

JAZ

6H;(A)=0,則轉(zhuǎn)移至R6

R4

LDA

AH;將(RA)裝入累加器A

R5

JMP

7H;無條件轉(zhuǎn)至R7

R6

LDA

BH;將(RB)裝入累加器A

R7

OUT;輸出(A)至顯示器R8

HLT;停機R9

0000

0000

0001

(掩碼)

RA

1111

1111

1111奇數(shù)標志RB

0000

0000

0000偶數(shù)標志【例】邏輯運算的例子設計一個程序,用以測試某個來自接口電路的輸入數(shù)I0(12位),以確定該數(shù)是否為奇數(shù)。如I0為奇數(shù)(即最后一位為1),則顯示一個1111

1111

1111;如I0是偶數(shù)(最后一位為0),則顯示一個0000

0000

0000。60初級程序設計舉例程序清單如下:【例】邏輯運算的例子60初級程序設計舉例【例】子程序設計設計一個計算x2+y2+z2=?的計算程序。由于x2,y2和z2在形式上都是一樣的,是求一個數(shù)的平方值,這不但本題用得著,在做其他數(shù)學運算時也常用得著,因此可將x2做成一個子程序而存于存儲器中一個固定的區(qū)域中,用到時,即可將其調(diào)出使用。61初級程序設計舉例【例】子程序設計61初級程序設計舉例

RF2

STA

CAH;將(A)暫存于RCA RF3

LDX

CAH;將(RCA)裝入X

RF4

CLA;累加器A清零循環(huán)程序

RF5

DEX;(X)減1循環(huán)體

RF6

ADD

CAH;將(RCA)與(A)相加x個x相加的過程

RF7

JIZ

F9H;(X)=0,則轉(zhuǎn)移到RF9

RF8

JMP

F5H;無條件轉(zhuǎn)移至RF5

RF9

BRB;返回主程序

RC6

x

RC7

y;被運算的數(shù)據(jù)

RC8

z

RC9

RCA;運算過程暫存地址將此子程序存于以RF2為起始地址(其地址為F2H,即11110010的存儲單元)的一個區(qū)域中,則可設計其程序如下:62初級程序設計舉例RF2STACAH初級程序設計舉例

R00

LDA

C6H

R01

JMS

F2H

R02

STA

C9H

R03

LDAC7H

R04

JMS

F2H

R05

ADD

C9H

R06

STA

C9H

R07

LDAC8H

R08JMS

F2H

R09

ADDC9H

R0A

OUT

R0BHLT主程序的運算:x2+y2+z2=42+62+82=?RC6

4(10)RC7

6(10)RC8

8(10)

63初級程序設計舉例R00LDAC6H主程序的運控制部件的擴展控制矩陣環(huán)形計數(shù)器T5T4T3T2T1T028CON(28位)指令

譯碼827HLTCLKCLR一個具有

27+6+4=37個輸入端

28個輸出端的極其復雜的

組合邏輯電路AminusAzeroXminusXzero控制器的結(jié)構(gòu)64控制部件的擴展控制矩陣環(huán)形計數(shù)器T5T4T3T控制部件的擴展組合邏輯電路的缺點不靈活、不規(guī)整、布線復雜微程序控制1951《設計計算機的最好方法》M.V.Wilkes核心思想:用程序(軟件方式)產(chǎn)生控制字控制部件實現(xiàn)技術(shù)的發(fā)展65控制部件的擴展組合邏輯電路的缺點控制部件實現(xiàn)技術(shù)的發(fā)展65控制部件的擴展將每條指令從取指令到執(zhí)行指令的過程,

表示為若干小步驟(微操作)的序列每個微操作對應的控制信號編碼為微指令

微指令存儲在控制存儲器中取出對應的微指令就產(chǎn)生該微操作對應的控制信號因此,一條指令的執(zhí)行過程就轉(zhuǎn)化為

一系列的微指令的執(zhí)行過程控制邏輯擺脫了復雜的組合邏輯電路

改為存儲控制器和存儲在其中的

溫馨提示

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

評論

0/150

提交評論