第3章 微型計(jì)算機(jī)的基本工作原理-鄭學(xué)堅(jiān)、周斌《微型計(jì)算機(jī)原理及應(yīng)用》教材_第1頁
第3章 微型計(jì)算機(jī)的基本工作原理-鄭學(xué)堅(jiān)、周斌《微型計(jì)算機(jī)原理及應(yīng)用》教材_第2頁
第3章 微型計(jì)算機(jī)的基本工作原理-鄭學(xué)堅(jiān)、周斌《微型計(jì)算機(jī)原理及應(yīng)用》教材_第3頁
第3章 微型計(jì)算機(jī)的基本工作原理-鄭學(xué)堅(jiān)、周斌《微型計(jì)算機(jī)原理及應(yīng)用》教材_第4頁
第3章 微型計(jì)算機(jī)的基本工作原理-鄭學(xué)堅(jiān)、周斌《微型計(jì)算機(jī)原理及應(yīng)用》教材_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

電子信息類專業(yè)學(xué)科基礎(chǔ)課程物理與電子信息學(xué)院1授課教師:侯俊欽微機(jī)原理第三章微型計(jì)算機(jī)的基本工作原理第3章微型計(jì)算機(jī)的基本工作原理章節(jié)目錄微型計(jì)算機(jī)結(jié)構(gòu)的簡化形式指令系統(tǒng)123程序設(shè)計(jì)4執(zhí)行指令的例行程序5控制部件6微型計(jì)算機(jī)功能的擴(kuò)展7初級(jí)程序設(shè)計(jì)舉例8控制部件的擴(kuò)展9現(xiàn)代技術(shù)在微型計(jì)算機(jī)中的應(yīng)用1微型計(jì)算機(jī)結(jié)構(gòu)的簡化形式簡化了的微型計(jì)算機(jī)(1)功能簡單:只能做兩個(gè)數(shù)的加減法。(2)內(nèi)存量?。褐挥幸粋€(gè)16×8PROM(可編程序只讀存儲(chǔ)器)。(3)字長8位:二進(jìn)制8位顯示。(4)手動(dòng)輸入:用撥動(dòng)開關(guān)輸入程序和數(shù)據(jù)。1微型計(jì)算機(jī)結(jié)構(gòu)的簡化形式1.程序計(jì)數(shù)器PC計(jì)數(shù)范圍由0000~1111(用十六進(jìn)制可記作由0~F)。每次運(yùn)行之前,先復(fù)位至0000。當(dāng)取出一條指令后,PC應(yīng)加1。2.存儲(chǔ)地址寄存器MAR接收來自PC的二進(jìn)制程序號(hào),作為地址碼送至PROM去。簡化了的微型計(jì)算機(jī)PC4CPCLKCLREPPCMAR4LMCLKMAR16×8PROM8ER16×8PROM1微型計(jì)算機(jī)結(jié)構(gòu)的簡化形式結(jié)構(gòu):每條橫線與豎線都有一條由開關(guān)和二極管串聯(lián)的電路將它們連接起來。操作:撥動(dòng)開關(guān),即可使該數(shù)據(jù)位置1或置0,從而達(dá)到使每個(gè)存儲(chǔ)單元“寫入”數(shù)據(jù)的目的。功能:實(shí)際上同時(shí)具有RAM和ROM的功能。簡化了的微型計(jì)算機(jī)3.可編程序只讀存儲(chǔ)器PROM1微型計(jì)算機(jī)結(jié)構(gòu)的簡化形式作用:從PROM接收到指令字(當(dāng)LI=1,ER=1),同時(shí)將指令字分送到控制部件CON和W總線上去。指令字是8位的:

××××

××××

MSB

LSB最高有效位

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

IR=0000

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

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

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

操作碼LDA0000ADD0001SUB0010OUT1110HLT1111助記符與操作碼程序設(shè)計(jì)存儲(chǔ)器分配PROM中的16個(gè)存儲(chǔ)單元分配成兩個(gè)區(qū):程序存放區(qū)(指令區(qū))和數(shù)據(jù)存放區(qū)(數(shù)據(jù)區(qū))。問題:如何根據(jù)助記符與二進(jìn)制的對(duì)照表(操作碼表)將上節(jié)例題中的每條指令的助記符譯成二進(jìn)制碼,并將存儲(chǔ)單元符號(hào)寫成地址碼(即R0→0000,R1→0001,…,R9→1001)

?

01H00H0FH0EH0DH0CH0BH0AH09H08H07H06H05H04H03H02HRFRERDRCRBRAR9R8R7R6R5R4R3R2R1R0數(shù)據(jù)區(qū)指令區(qū)程序設(shè)計(jì)將源程序翻譯成目的程序助記符

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

16+20+24-28指令區(qū)存儲(chǔ)單元R0~R7二進(jìn)制地址0000~0111程序設(shè)計(jì)程序及數(shù)據(jù)的輸入方法執(zhí)行指令的例行程序計(jì)算機(jī)從開機(jī)到關(guān)機(jī)的全過程可概括為:取指令——執(zhí)行指令——取指令——執(zhí)行指令……計(jì)算機(jī)中的時(shí)間單位(由小到大)振蕩周期——主頻的倒數(shù)狀態(tài)周期(節(jié)拍)——若干個(gè)振蕩周期CPU周期——若干個(gè)狀態(tài)周期指令周期——若干個(gè)CPU周期

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

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

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

1000

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

0000

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

0100

0000執(zhí)行周期(LDA指令)執(zhí)行指令的例行程序(5)T4=1應(yīng)將PROM的數(shù)據(jù)區(qū)的存儲(chǔ)單元(如R9,即1001)的內(nèi)容送入累加器A,即:ER=1,PROM準(zhǔn)備放出數(shù)據(jù);LA=1,A準(zhǔn)備接收數(shù)據(jù);即CON=0001

0010

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

0000

0000執(zhí)行周期(LDA指令)執(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在實(shí)行相加時(shí),要求SU=0,所以沒出現(xiàn)SU。執(zhí)行周期(ADD指令)執(zhí)行指令的例行程序第5條是要求減法運(yùn)算所以最后一個(gè)節(jié)拍中出現(xiàn)SU=1,因而控制字變成:CON=0000

0010

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

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

LM

ERLI

EI

LA

EA

SU

EU

LB

LOLDAADDSUBOUT控制部件啟動(dòng)和清除按鈕運(yùn)行/停止觸發(fā)器時(shí)鐘震蕩器射極跟隨器環(huán)形計(jì)數(shù)器指令譯碼器控制矩陣

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

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

這就是馮.諾伊曼模型計(jì)算機(jī)的工作原理其他控制電路微型計(jì)算機(jī)功能的擴(kuò)展CPU的本質(zhì)特征自動(dòng)機(jī)高速CPU功能強(qiáng)=運(yùn)行效率高+指令豐富增強(qiáng)CPU功能

=改進(jìn)控制器、ALU、寄存器等核心部件子程序計(jì)數(shù)器SC88PC88MAR8256×12RAM12MDR1212IR128CON812輸入寄存器1212A12ALU12B變址寄存器12輸出寄存器12121212121228

LSCLKCSES

LPCLKEPLICLRCLKEI

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

LSCLKCSES擴(kuò)展的功能1.子程序計(jì)數(shù)器SC微型計(jì)算機(jī)功能的擴(kuò)展用RAM作為主存儲(chǔ)器。RAM的存儲(chǔ)單元為256個(gè),字長為12位??梢噪S機(jī)存取,除MAR(存儲(chǔ)地址寄存器)外,還有一個(gè)MDR(存儲(chǔ)數(shù)據(jù)寄存器)。擴(kuò)展的功能PC88

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

LMCLKWEMELDEDCLK微型計(jì)算機(jī)功能的擴(kuò)展控制端改為S=S3S2S1S0。4位16種組合,只用其中的10種,以得到3種算術(shù)運(yùn)算和7種邏輯運(yùn)算。4.控制部件CON擴(kuò)展的功能此CON將要產(chǎn)生一個(gè)28位的控制字:LSCSESLP

CPEPLMWE

MELDEDLI

EILNENLA

EAS3S2S1

S0EULBLX

INXDEXEXLO5.算術(shù)邏輯部件ALU全加/減器ABSCiCi+1函數(shù)發(fā)生器XYS0SnCON28CLKCLRAzeroXzero微型計(jì)算機(jī)功能的擴(kuò)展新增加的一種寄存器,它可以用指令使其加1或減1:INX——加1指令助記符,其控制端符號(hào)為INX;DEX——減1指令助記符,其控制端符號(hào)為DEX。擴(kuò)展的功能變址寄存器1212LXCLKEXINXDEXXminusXzero6.變址寄存器X微型計(jì)算機(jī)功能的擴(kuò)展在訪問存儲(chǔ)器指令(MRI)和轉(zhuǎn)移指令的執(zhí)行期間,高4位代表指令字段,低8位代表地址字段。××××

××××

××××(MSB4位)

(LSB8位)↓↓

CON

W總線在運(yùn)算指令執(zhí)行期間,高8位代表指令字段,而低4位可為任意數(shù),因?yàn)樗淮砣魏我饬x:××××

××××

××××(MSB8位)

(LSB4位)↓↓

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

R0

LDA

6H把(R6)裝入A去

R1

SUB

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

JAM

5H

(A)=負(fù),則轉(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)初級(jí)程序設(shè)計(jì)舉例【例】循環(huán)程序利用變址寄存器可以設(shè)計(jì)一個(gè)循環(huán)程序:R0

LDX

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

DEX命(X)減1R2

JIZ

4H

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

JMP

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

HLT停機(jī)R5

3(10)

(R5)=3(10)(數(shù)據(jù))初級(jí)程序設(shè)計(jì)舉例【例3.3】乘法計(jì)算的程序

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)程序可作乘法計(jì)算,例如要求12(10)×8(10),就是要求將12(10)連加8次。這就可以利用循環(huán)程序,讓它進(jìn)行8次循環(huán)。

R0

INP

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

R1

XCH

;將(A)和(X)互換初級(jí)程序設(shè)計(jì)舉例程序清單如下:R0

INP;將I0裝入累加器A

R1

LDB

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

R2

AND;將(B)與(A)進(jìn)行“與”運(yùn)算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;停機(jī)R9

0000

0000

0001

(掩碼)

RA

1111

1111

1111奇數(shù)標(biāo)志RB

0000

0000

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

1111

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

0000

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

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個(gè)x相加的過程

RF7

JIZ

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

RF8

JMP

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

RF9

BRB;返回主程序

RC6

x

RC7

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

RC8

z

RC9

RCA;運(yùn)算過程暫存地址將此子程序存于以RF2為起始地址(其地址為F2H,即11110010的存儲(chǔ)單元)的一個(gè)區(qū)域中,則可設(shè)計(jì)其程序如下:初級(jí)程序設(shè)計(jì)舉例

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主程序的運(yùn)算:x2+y2+z2=42+62+82=?RC6

4(10)RC7

6(10)RC8

8(10)

控制部件的擴(kuò)展控制矩陣環(huán)形計(jì)數(shù)器T5T4T3T2T1T028CON(28位)指令

譯碼827HLTCLKCLR一個(gè)具有

27+6+4=37個(gè)輸入端

28個(gè)輸出端的極其復(fù)雜的

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

表示為若干小步驟(微操作)的序列每個(gè)微操作對(duì)應(yīng)的控制信號(hào)編碼為微指令

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

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

改為存儲(chǔ)控制器和存儲(chǔ)在其中的微指令實(shí)現(xiàn)微程序控制現(xiàn)代技術(shù)在微型計(jì)算機(jī)中的應(yīng)用一種具有存儲(chǔ)(記憶)功能的高速

自動(dòng)信息處理機(jī)增加地址線位數(shù)(增加尋址空間)虛擬存儲(chǔ)器技術(shù)(彌補(bǔ)物理內(nèi)存的不足)……增加寄存器數(shù)量更高的主頻

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論