微機原理第三章課件_第1頁
微機原理第三章課件_第2頁
微機原理第三章課件_第3頁
微機原理第三章課件_第4頁
微機原理第三章課件_第5頁
已閱讀5頁,還剩101頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章微型計算機的基本工作原理第3章微型計算機的基本工作原理本章教學(xué)目的本章以一個簡化了的計算機作為分析對象,逐步講述一般計算機的各種基本功能,從而概括出微型計算機的基本工作原理。本章教學(xué)目的本章以一個簡化了的計算機作為分析對象,逐步講述一本章學(xué)習(xí)要求1.掌握模型機的簡化形式;模型機各部件的功能與作用;基于模型機的編程過程。位(Bit)、字(Word)、字節(jié)(Byte)、中央處理單元(CPU)等名詞術(shù)語。

2.理解指令的意義;指令周期;控制字的含義。

3.了解程序設(shè)計步驟;控制部件的構(gòu)成及其工作原理,模型機的功能擴展,現(xiàn)代技術(shù)在微型集中的應(yīng)用。

本章學(xué)習(xí)要求1.掌握2.理解3.了解本章主要外語詞匯PROM:ProgrammableReadOnlyMemory,可編程只讀存儲器CM:ControlMatrix,控制矩陣Bit:位Byte:字節(jié)Word:字本章主要外語詞匯PROM:ProgrammableRea主要內(nèi)容微型計算機結(jié)構(gòu)的簡化形式指令系統(tǒng)控制部件程序設(shè)計及執(zhí)行指令的例行程序微機功能擴展初級程序設(shè)計舉例現(xiàn)代技術(shù)在微機中的應(yīng)用主要內(nèi)容微型計算機結(jié)構(gòu)的簡化形式3.1微型計算機結(jié)構(gòu)的簡化形式微型計算機的基本功能能運算、能判別及能決策;速度快模型機簡化了的微型計算機可以根據(jù)模型機理解各個基本電路和部件之間的信息流通過程,指令系統(tǒng)的意義,程序設(shè)計的步驟,控制部件的功能及其結(jié)構(gòu),還有控制矩陣產(chǎn)生控制字的過程等等3.1微型計算機結(jié)構(gòu)的簡化形式微型計算機的基本功能模型機的結(jié)構(gòu)特點

功能簡單:只能做兩個數(shù)的加減法。

內(nèi)存量?。褐挥幸粋€16×8PROM(可編程序只讀存儲器)。

字長8位:二進制8位顯示。

手動輸入:用撥動開關(guān)輸入程序和數(shù)據(jù)模型機的結(jié)構(gòu)特點功能簡單:只能做兩個數(shù)的加減法。模型機的硬件結(jié)構(gòu)1模型機的硬件結(jié)構(gòu)1模型機的硬件結(jié)構(gòu)21.程序計數(shù)器PC計數(shù)范圍由0000~1111(0~F)。每次運行之前,先復(fù)位至0000。當(dāng)取出一條指令后,PC應(yīng)加1。2.存儲地址寄存器MAR接收來自PC的二進制程序號,作為地址碼送至PROM去。模型機的硬件結(jié)構(gòu)21.程序計數(shù)器PC模型機的硬件結(jié)構(gòu)3可編程序只讀存儲器PROM可編程序ROM,每條橫線與豎線都有一條由開關(guān)和二極管串聯(lián)的電路將它們連接起來。因此,只要撥動開關(guān),即可使該數(shù)據(jù)位置1或置0PROM同時具有RAM和ROM功能。右圖是4×4PROM的電路圖16×8PROM的橫線應(yīng)為16條(R0~R15),豎線為8條(D7D6…D0),地址碼線應(yīng)為4條(A3A2A1A0)模型機的硬件結(jié)構(gòu)3可編程序只讀存儲器PROM模型機的硬件結(jié)構(gòu)44.指令寄存器IRIR從PROM接收指令字(當(dāng)LI=1,ER=1),同時將指令字分送到控制部件CON和W總線上去。指令字是8位的:××××

××××

MSB

LSB左4位為最高有效位(高4位),稱為指令字段;右4位為最低有效位(低4位),稱為地址字段。5.控制部件CON(1)每次運行前,CON先發(fā)出CLR=1,使有關(guān)的部件清0。此時:

PC=0000

IR=0000

0000(2)CON能發(fā)出同步脈沖CLK到各個部件去,使它們同步運行。(3)在CON中有控制矩陣CM,能根據(jù)IR送來的指令發(fā)出12位的控制字:

CON=CPEPLMERLIEILAEASUEULBLO根據(jù)控制字中各位的置1或置0情況,計算機就能自動地按指令程序運行模型機的硬件結(jié)構(gòu)44.指令寄存器IR模型機的硬件結(jié)構(gòu)56.累加器A用以儲存計算機運行期間的中間結(jié)果。它能接收W總線送來的數(shù)據(jù)(LA=1),也能將數(shù)據(jù)送到W總線上去(EA=1)。它還有一個數(shù)據(jù)輸出端,將數(shù)據(jù)送至ALU去進行算術(shù)運算。這個輸出是雙態(tài)的,即是立即地送去,而不受E門的控制。7.算術(shù)邏輯部件ALU它只是一個二進制補碼加法器/減法器(參見圖1.9)。當(dāng)SU=0,ALU,進行加法A+B;當(dāng)SU=1,ALU,進行減法A-B,即(A+B′)。8.寄存器B將要與A相加減的數(shù)據(jù)暫存于此寄存器。它到ALU的輸出也是雙態(tài)的,即無E門控制。模型機的硬件結(jié)構(gòu)56.累加器A模型機的硬件結(jié)構(gòu)69.輸出寄存器O計算機運行結(jié)束時,累加器A中存有答案。如要輸出此答案,就得送入O。此時EA=1,LO=1,則O=A。典型的計算機具有若干個輸出寄存器,稱為輸出接口電路。這樣就可以驅(qū)動不同的外圍設(shè)備,如打印機、顯示器等。10.二進制顯示器D這是用發(fā)光二極管(LED)組成的顯示器。每一個LED接到寄存器O的一位上去。當(dāng)某位為高電位時,則該LED發(fā)光。因為寄存器O是8位的,所以這里也由8個LED組成顯示器。模型機的硬件結(jié)構(gòu)69.輸出寄存器O模型機的硬件結(jié)構(gòu)7總體來說,模型機可以如下劃分中央處理器CPU(包括PC,IR,CON,ALU,A及B);記憶裝置M(MAR及PROM);輸入/輸出I/O接口(包括O及D)模型機的硬件結(jié)構(gòu)7總體來說,模型機可以如下劃分模型機的硬件結(jié)構(gòu)8中央處理器(centralprocessingunit,

CPU)將程序計數(shù)功能(PC)、指令寄存功能(IR)、控制功能(CON)、算術(shù)邏輯功能(ALU)以及暫存中間數(shù)據(jù)功能(A及B)集成在一塊電路器件上的集成電路(IC)。存儲器M(memory)

此圖例中只包括存儲地址寄存器(MAR)及可編程存儲器(實際還包括了地址譯碼功能),這就是微型計算機的“內(nèi)存”。實際的“內(nèi)存”要包括更多的內(nèi)容(如ROM,RAM及EPROM等)和更大的存儲容量。輸入及輸出接口(I/O)

是計算機實行人機對話的重要部件。實際微型計算機的輸入設(shè)備多為鍵盤,輸出則為監(jiān)視器(即電視屏顯示器),因而必須有專用的輸出接口電路。模型機的硬件結(jié)構(gòu)8中央處理器(centralprocess3.2指令系統(tǒng)指令系統(tǒng)就是用來編制計算程序的一個指令集合微型機有5條指令LDA——將數(shù)據(jù)裝入累加器A;ADD——進行加法運算;SUB——進行減法運算;OUT——輸出結(jié)果;HLT——停機。不同型號的微處理機的指令系統(tǒng)是不同的,指令的條數(shù)也不相同。例如,Z80型的指令系統(tǒng)可達158條,M6800型有72條,6502型則有56條指令,而Intel80386則為152條。3.2指令系統(tǒng)指令系統(tǒng)就是用來編制計算程序的一個指令集合指令系統(tǒng)2例如一個計算程序的格式如下:助記符操作數(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;停機指令系統(tǒng)2例如一個計算程序的格式如下:指令系統(tǒng)3指令執(zhí)行結(jié)果(A)=(R9)+(RA)+(RB)+(RC)-(RD)(D)=(A)加括號的意義是指被括上的寄存器或存儲單元的內(nèi)容。如(A)是指累加器A中的內(nèi)容,(D)是指顯示器顯示出的數(shù)據(jù),(R9)是存儲單元R9中的數(shù)據(jù),等等。((MAR))呢?HLT指令,使時鐘脈沖停發(fā),計算機停止運行,但電源未切斷,顯示器仍繼續(xù)顯示計算結(jié)果指令系統(tǒng)3指令執(zhí)行結(jié)果(A)=(R9)+(RA)+(RB)+3.3程序設(shè)計程序設(shè)計中要包括:(1)編制匯編語言寫的程序;(2)助記符的翻譯;(3)存儲器的分配。指令清單是程序設(shè)計的重要步驟上面講的微型計算機并不認識助記符的意義,因此必須將指令清單中每一條指令都翻譯成二進制碼——機器碼。存儲器中既要寫入計算程序,也要存放參與運算的數(shù)據(jù),因此,需要決定存儲器中的存儲單元應(yīng)如何分配,這稱為存儲空間分配。3.3程序設(shè)計程序設(shè)計中要包括:程序設(shè)計23.3.1操作碼表

這是由計算機制造廠提供的翻譯表,它是每個助記符與二進制碼的相應(yīng)對照表。由于我們的計算機很簡單,只有5個助記符,列成對照表助記符操作碼LDA0000ADD0001SUB0010OUT1110HLT11113.3.2存儲器分配在本微型機中就是要把PROM中的16個存儲單元分配成兩個區(qū):程序存放區(qū)(指令區(qū))和數(shù)據(jù)存放區(qū)(數(shù)據(jù)區(qū))。指令區(qū)數(shù)據(jù)區(qū)存儲單元R0~R7R8~RF二進制地址0000~01111000~1111程序設(shè)計23.3.1操作碼表

這是由計算機制造廠提供的源程序目的程序存儲單元指LDA

R9

→00001001

0000(R0)

ADD

RA

→00011010

0001(R1)令A(yù)DD

RB

→00011011

0010(R2)

ADD

RC

→00011100

0011(R3)區(qū)SUB

RD

→00101101

0100(R4)

OUT

→1110××××

0101(R5)

HLT

→1111××××

0110(R6)

數(shù)1610→00010000

1001(R9)

2010→00010100

1010(RA)據(jù)2410→00011000

1011(RB)

2810→00011100

1100(RC)區(qū)3210→00100000

1101(RD)3.3.3將源程序翻譯成目的程序根據(jù)助記符與二進制的對照表(操作碼表)將上節(jié)例題中的每條指令的助記符譯成二進制碼,并將存儲單元符號寫成地址碼(即R0→0000,R1→0001,…,R9→1001)源程序目的程序存儲單元3.33.3.4程序及數(shù)據(jù)的輸入方法3.3.4程序及數(shù)據(jù)的輸入方法程序及數(shù)據(jù)的輸入方法2PROM分成兩區(qū),指令區(qū)一旦存入指令,就不許再改(除非要計算的公式改變了)。數(shù)據(jù)區(qū)是可以隨時存入要參與運算的數(shù)據(jù),并在計算過程中可以取出來將PROM的每個數(shù)據(jù)位的開關(guān)撥向置0或置1的位置輸入在前面例題的計算程序設(shè)計好,并輸入至PROM之后,就可以開始執(zhí)行程序了。程序執(zhí)行的第一步必須先使計算機復(fù)位,此時控制器先發(fā)出一個CLR為高電位的脈沖,同時時鐘脈沖開始工作,即發(fā)出脈沖電壓系列到各個部件去。 執(zhí)行LDA

9H后A=0001

0000[16(10)]執(zhí)行ADD

AH后A=0010

0100[36(10)]執(zhí)行ADD

BH后A=0011

1100[60(10)]執(zhí)行ADD

CH后A=0101

1000[88(10)]執(zhí)行SUB

DH后A=0011

1000[56(10)]執(zhí)行OUT后D=00111000[56(10)]執(zhí)行HLT后D=0011

1000(不變)程序及數(shù)據(jù)的輸入方法2PROM分成兩區(qū),指令區(qū)一旦存入指令,3.4執(zhí)行指令的例行程序在程序和數(shù)據(jù)裝入之后,啟動按鈕將啟動信號傳給控制部件CON,然后控制部件產(chǎn)生控制字,以便取出和執(zhí)行每條指令。一個機器周期為執(zhí)行一條指令的時間。機器周期又可分為取指周期和執(zhí)行周期。取指過程和執(zhí)行過程機器都得通過不同的機器節(jié)拍。在這些節(jié)拍內(nèi),每個寄存器(PC,MAR,IR,A,B,O等)的內(nèi)容可能發(fā)生變化。3.4執(zhí)行指令的例行程序在程序和數(shù)據(jù)裝入之后,啟動按鈕將執(zhí)行指令的例行程序2環(huán)形計數(shù)器及機器節(jié)拍各位輸出端Q0~Q5的電位就是機器節(jié)拍T0~T5的電位,由于時鐘脈沖是經(jīng)過反相器再接到環(huán)形計數(shù)器(圖中的“汽泡”表示非門)的CLK端的,所以各節(jié)拍之間的轉(zhuǎn)換是在時鐘脈沖的負邊緣開始的。環(huán)形計數(shù)器的輸出看做是一個字T,則:T=T5T4T3T2T1T0下圖是一個6位的環(huán)形字,用以控制6條電路,使它們依次輪流為高電位,T0,T1,T2,T3,T4和T5稱為機器節(jié)拍。執(zhí)行指令的例行程序2環(huán)形計數(shù)器及機器節(jié)拍執(zhí)行指令的例行程序3取指周期取出指令的過程需要3個機器節(jié)拍,在清零和啟動之后第1個節(jié)拍為T0。取指周期,對任何一條指令都是一樣的。因為任何一條指令都是沿著這個程式而將指令取出來,再將其高4位送入控制部件去進行分析,決定下面應(yīng)如何執(zhí)行(1)地址節(jié)拍(T0=1)在T0=1時,應(yīng)將PC的內(nèi)容(即第1個地址碼)送入MAR(并通過MAR而達到PROM),所以,此時應(yīng)有:

EP=1,即PC準備放出數(shù)據(jù)

LM=1,即MAR準備接收數(shù)據(jù)(2)儲存節(jié)拍(T1=1)在T1=1時,應(yīng)將PROM中由PC送來的地址碼所指定的存儲單元中的內(nèi)容送到IR,同時IR立即將其高4位送至控制部件。因此,在此節(jié)拍到來之前,即應(yīng)準備好:

ER=1即PROM準備放出數(shù)據(jù)

LI=1即IR準備接收數(shù)據(jù)(3)增量節(jié)拍(T2=1)在T2=1時,應(yīng)使PC加1,做好下一條指令的取指準備。因此,CP=1,即命令PC計數(shù)。執(zhí)行指令的例行程序3取指周期取出指令的過程需要3個機器節(jié)拍,執(zhí)行指令的例行程序4執(zhí)行周期也需要3拍(T3,T4,T5),這種程序是由廠家編好了的,所以稱為例行程序。以LDA例行程序為例,考查一下在此3節(jié)拍中,各個寄存器的內(nèi)容應(yīng)有何變化(4)T3=1時,IR已將從PROM來的指令碼的高4位送至控制部件進行分析。此高4位是與LDA相應(yīng)的二進制碼“0000”,控制部件經(jīng)過分析后就發(fā)出命令:EI=1,將IR的低4位送至W總線;LM=1,MAR接收此低4位數(shù)作為地址并立即送至PROM;例題中,送至PROM的地址就是R9的二進制碼地址(1001)。也就是說,第1次訪問PROM的是其指令區(qū),第2次訪問的是其數(shù)據(jù)區(qū)。(5)T4=1應(yīng)將PROM的數(shù)據(jù)區(qū)的存儲單元(如R9,即1001)的內(nèi)容送入累加器A,即:ER=1,PROM準備放出數(shù)據(jù);LA=1,A準備接收數(shù)據(jù);(6)T5=1因為T4=1時,已將數(shù)據(jù)存放入A中,所以,LDA的例行程序就已完成,T5節(jié)拍就變成空拍執(zhí)行指令的例行程序4執(zhí)行周期也需要3拍(T3,T4,T5),3.5控制部件

控制部件是使計算機能夠成為自動機的關(guān)鍵部件。它包括下列主要部件:環(huán)形計數(shù)器(RC);指令譯碼器(ID);控制矩陣(CM);其他控制電路。環(huán)形計數(shù)器、指令譯碼器、控制矩陣稱為控制器。3.5控制部件

3.5.1指令譯碼器指令寄存器IR高4位被送入控制部件這高4位就是各種控制動作的代碼,比如:0000代表LDA的控制動作;0001代表ADD的控制動作;0010代表SUB的控制動作;1110代表OUT的控制動作;1111代表HLT的控制動作。一個控制動作相當(dāng)于一條控制線,就要使該控制線為高電位。這個由4個位組成的編碼,必須被譯成一個信號,即譯為某一控制線為高電位,這就是譯碼器的任務(wù)。譯碼器可以由與門和非門組成,下圖就是一個4位譯碼器。4位應(yīng)該可以有16種編碼的可能,由于我們的模擬機功能簡單,只有5條指令,所以只要5個與門就夠了。3.5.1指令譯碼器指令寄存器IR高4位被送入控制部件微機原理第三章課件3.5.2控制矩陣控制矩陣就是要決定控制字的輸出電平高低一般每一節(jié)拍大都要求兩個控制字位為高電位,有的可能只有一位為高電位的(如

CP=1),也可能是3位為高電位。控制矩陣是控制部件的核心部件下圖是一個控制矩陣(CM)電路圖控制字有12位,每一指令要執(zhí)行6拍,每拍均有不同的位為高電位,下圖是本模型機中控制矩陣的電路圖:3.5.2控制矩陣控制矩陣就是要決定控制字的輸出電平高低控制矩陣控制矩陣控制矩陣2電路組成環(huán)形計數(shù)器,使T0至T5的6根橫線輪流為高電位;指令控制信號線為中間4根橫線,它們的電位高低由指令譯碼器決定控制字輸出CON,最下面部分是由19個與門和6個或門組成一個邏輯電路。這個電路共有12個輸出端,就是控制字CON:CON=CPEPIMERLIEILAEASUEULBLO

控制矩陣的初始化開機前使CLR為高電位,則此時環(huán)形計數(shù)器復(fù)位至T0=1,其他各位為0。這就是說,每一節(jié)拍都是從T0開始的??刂凭仃?電路組成3.5.3其他控制電路時鐘脈沖發(fā)生器,包括時鐘振蕩器及射極跟隨器,輸出CLK運行/停車觸發(fā)器,其輸出去啟動時鐘振蕩器“啟動”和“清除”按鈕,由人直接操作的主令電器,命令都是由此開始的3.5.3其他控制電路時鐘脈沖發(fā)生器,包括時鐘振蕩器及射

3.6微型計算機功能的擴展模型機的不足硬件過于簡單,尤其是控制部件只能接受5條指令而產(chǎn)生相應(yīng)的例行程序。軟件開發(fā)問題,即如何利用現(xiàn)有的指令系統(tǒng),經(jīng)過靈活的編程以解決更多更復(fù)雜的問題。擴展模型機的功能中央處理器控制器算術(shù)邏輯部件(ALU)寄存器的個數(shù)、性能等

3.6微型計算機功能的擴展模型機的不足算術(shù)邏輯部件及控制器的功能有相當(dāng)?shù)臄U展,這樣,就既可能進行邏輯運算,也有跳轉(zhuǎn)和循環(huán)運算的功能??刂破鞯脑鰪姡噶钕到y(tǒng)已擴大到28條指令增加的部件子程序計數(shù)器SC變址寄存器X隨機存取存儲器RAMMDR輸入寄存器算術(shù)邏輯部件及控制器的功能有相當(dāng)?shù)臄U展,這樣,就既可能進行邏微型計算機功能的擴展5本機共有28條指令,可分為3類:1.訪問存儲器指令(memoryreferenceinstruction,

MRI)與存儲器的讀/寫有關(guān),其地址字段必須為8位(256個地址)。特點:由指令寄存器分出來的地址字段(8位的地址字段)必定進入MAR(存儲器地址寄存器),這就能夠識別出MRI這類指令。助記符操作碼操作數(shù)意義LDA0000nn將地址nn的內(nèi)容裝入AADD0001nn將地址nn的內(nèi)容與A相加SUB0010nn將地址nn的內(nèi)容與A相減STA0011nn將A中內(nèi)容存入地址nn中LDB0100nn將地址nn的內(nèi)容裝入BLDX0101nn將地址nn的內(nèi)容裝入X微型計算機功能的擴展5本機共有28條指令,可分為3類:助記符微型計算機功能的擴展62.轉(zhuǎn)移指令 可用以改變程序的順序,可以在規(guī)定的某種條件下將程序進程向前轉(zhuǎn)移或向后轉(zhuǎn)移,也可跳過若干條指令語句或去執(zhí)行某個子程序之后再回至下一條指令語句。特點:由指令寄存器IR分出來的地址段(8位)將進入程序計數(shù)器PC(即LP=1),或子程序計數(shù)器(LS=1)。助記符操作碼操作數(shù)意義JMP0110nn無條件轉(zhuǎn)移至程序nnJAM0111nn(A)=負則轉(zhuǎn)移至程序nnJAZ1000nn(A)=0則轉(zhuǎn)移至程序nnJIM1001nn(X)=負則轉(zhuǎn)移至程序nnJIZ1010nn(X)=0則轉(zhuǎn)移至程序nnJMS1011起始地址轉(zhuǎn)至子程序的起始地址微型計算機功能的擴展62.轉(zhuǎn)移指令助記符操作碼操作數(shù)意義微型計算機功能的擴展73.邏輯運算指令 控制器只要接到1111的高4位,即知為運算指令,然后控制器再辨認選擇碼以確定進行什么樣的運算。這類指令的特點是與存儲器及程序計數(shù)器都無關(guān),而是與ALU、A及B寄存器有關(guān)。由于這些運算都是在ALU和A,B之間進行的,所以不需地址碼。低4位可以不置數(shù),由其隨機存在,并不產(chǎn)生任何影響。微型計算機功能的擴展73.邏輯運算指令微型計算機功能的擴展8助記符操作碼選擇碼低4位意義NOP11110000隨意空操作CLA11110001累加器A清零XCH11110010累加器A與變址器X內(nèi)容交換DEX11110011變址器X內(nèi)容減1INX11110100變址器X內(nèi)容加1CMA11110101累加器A內(nèi)容取反CMB11110110累加器B內(nèi)容取反LOR11110111A和B各位進行或運算AND11111000A和B各位進行與運算NOR11111001A和B各位進行或非運算NAN11111010A和B各位進行與非運算XOR11111011A和B各位進行異或運算BRB11111100由子程序返回主程序INP11111101輸入:外部數(shù)據(jù)裝入I再裝入AOUT11111110輸出:A的內(nèi)容裝入OHLT11111111停機:CLK停發(fā)微型計算機功能的擴展8助記符操作碼選擇碼低4位意義NOP113.7初級程序設(shè)計舉例利用上節(jié)提供的指令系統(tǒng),可以據(jù)此進行程序設(shè)計。初級程序主要包括下列的程序模式:簡單程序——程序一統(tǒng)到底,中間沒有任何分支和跳轉(zhuǎn)。分支程序——程序進行中,根據(jù)判斷程序執(zhí)行的不同結(jié)果而分別跳轉(zhuǎn)至其他子程序去。循環(huán)程序——程序進行過程中,在某一循環(huán)體進行若干次循環(huán)運行,然后再繼續(xù)前進。調(diào)用子程序——程序進行至某一階段,調(diào)用存儲于某存儲區(qū)中的某個子程序,然后返回至主程序繼續(xù)運行下去。3.7初級程序設(shè)計舉例利用上節(jié)提供的指令系統(tǒng),可以據(jù)此初級程序設(shè)計舉例2【例3.1】分支程序指R0

LDA

6H

令R1

SUB

7H

區(qū)R2

JAM

5H

R3

JAZ

5H

R4

JMP

1H

R5

HLT數(shù)R6

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

9(10)根據(jù)程序清單,分析程序執(zhí)行的順序及結(jié)果A<--(6H)A<-(A)-(7H)(A)<0開始(A)=0HLTYYNN初級程序設(shè)計舉例2【例3.1】分支程序A<--(6H)A<-初級程序設(shè)計舉例4【例3.2】循環(huán)程序 利用變址寄存器可以設(shè)計一個循環(huán)程序:R0

LDX

5H

R1

DEX

R2

JIZ

4H

R3

JMP

1H

R4

HLT停機R5

3(10)

分析程序運行的過程X<--(R5)X<-(X)-1(X)=0開始HLTYN初級程序設(shè)計舉例4【例3.2】循環(huán)程序X<--(R5)X<-初級程序設(shè)計舉例6【例3.3】乘法計算的程序利用循環(huán)程序可作乘法計算,例如要求12(10)×8(10),就是要求將12(10)連加8次。這就可以利用循環(huán)程序,讓它進行8次循環(huán)。程序如下:

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)X<--(AH)A<-0X<-(X)-1(X)=0開始OUTYNA<-(A)+(9H)OUTOUTHLT初級程序設(shè)計舉例6【例3.3】乘法計算的程序X<--(AH)初級程序設(shè)計舉例7【例3.4】邏輯運算的例子設(shè)計一個程序,用以測試某個來自接口電路的輸入數(shù)I0(12位),以確定該數(shù)是否為奇數(shù)。如I0為奇數(shù)(即最后一位為1),則顯示一個11111111

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

0000

0000。程序清單如下: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è)計舉例7【例3.4】邏輯運算的例子初級程序設(shè)計舉例8【例3.5】子程序設(shè)計 設(shè)計一個計算x2+y2+z2=?的計算程序。由于x2,y2和z2在形式上都是一樣的,是求一個數(shù)的平方值,可將x2做成一個子程序而存于存儲器中一個固定的區(qū)域中,用到時,即可將其調(diào)出使用。將此子程序存于以RF2為起始地址(其地址為F2H,即11110010的存儲單元)的一個區(qū)域中,則可設(shè)計其程序如下:

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

RC6

x

RC7

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

RC8

z

RC9

RCA;運算過程暫存地址

初級程序設(shè)計舉例8【例3.5】子程序設(shè)計3.8控制部件的擴展3.8控制部件的擴展以LDA指令為例,該指令的操作碼(0000),如有一個操作數(shù)為nn(8位),則形成的指令為LDAnn。設(shè)此指令存于RAM的指令區(qū)的第一個存儲單元(其地址為00000000),nn是指參與運算的數(shù)據(jù)在RAM的數(shù)據(jù)區(qū)中所在的存儲單元的地址(n代表一個4位二進制數(shù)),如下圖所示:以LDA指令為例,該指令的操作碼(0000),如有一個操作數(shù)3.9現(xiàn)代技術(shù)在微型計算機中的應(yīng)用16微型計算機與8位微型機相比的優(yōu)點更多的寄存器存儲器尋址范圍增加更大的指令系統(tǒng)更高的速度新型體系結(jié)構(gòu)存儲器管理的改進3.9現(xiàn)代技術(shù)在微型計算機中的應(yīng)用16微型計算機與8位一般微計算機的組成、位(Bit)、字(Word)、字節(jié)(Byte)、中央處理單元(CPU)等名詞術(shù)語。模型機的簡化電路、指令系統(tǒng)和程序設(shè)計。微型機的控制部件的結(jié)構(gòu)。模型機的功能擴展?,F(xiàn)代技術(shù)在微型機中的應(yīng)用。本章小結(jié)本章小結(jié)課后作業(yè):

P70:3.23.33.63.83.12

思考題練習(xí):概念:命令字、例行程序、機器周期、取指周期、執(zhí)行周期在微型計算機的簡化形式中,環(huán)形計數(shù)器用于產(chǎn)生機器節(jié)拍,取出指令的過程需要T0、T1和T2三個節(jié)拍,T0稱為_____節(jié)拍,T1稱為儲存節(jié)拍,T2稱為_______節(jié)拍。舉例說明模型機中用到了那些寄存器,并說明每種寄存器的作用。課后作業(yè):思考題練習(xí):參考文獻鄭學(xué)堅,周斌.微型計算機原理及應(yīng)用(第三版).北京:清華大學(xué)出版社,2001姚燕南,薛鈞義.微型計算機原理.西安:西安電子科技大學(xué)出版社,1994鄒逢興.微型計算機接口原理與技術(shù).長沙:國防科技大學(xué)出版社,1993幸云輝.16位微型計算機原理與應(yīng)用.北京:北京郵電學(xué)院出版社,1991張鈞良.計算機組成原理.北京:清華大學(xué)出版社,2003JohnDCarpinelli.李仁發(fā),彭曼曼譯.計算機系統(tǒng)組成與體系結(jié)構(gòu).北京:人民郵電出版社,2003參考文獻鄭學(xué)堅,周斌.微型計算機原理及應(yīng)用(第三版).北本章結(jié)束

謝謝!本章結(jié)束

謝謝!第3章微型計算機的基本工作原理第3章微型計算機的基本工作原理本章教學(xué)目的本章以一個簡化了的計算機作為分析對象,逐步講述一般計算機的各種基本功能,從而概括出微型計算機的基本工作原理。本章教學(xué)目的本章以一個簡化了的計算機作為分析對象,逐步講述一本章學(xué)習(xí)要求1.掌握模型機的簡化形式;模型機各部件的功能與作用;基于模型機的編程過程。位(Bit)、字(Word)、字節(jié)(Byte)、中央處理單元(CPU)等名詞術(shù)語。

2.理解指令的意義;指令周期;控制字的含義。

3.了解程序設(shè)計步驟;控制部件的構(gòu)成及其工作原理,模型機的功能擴展,現(xiàn)代技術(shù)在微型集中的應(yīng)用。

本章學(xué)習(xí)要求1.掌握2.理解3.了解本章主要外語詞匯PROM:ProgrammableReadOnlyMemory,可編程只讀存儲器CM:ControlMatrix,控制矩陣Bit:位Byte:字節(jié)Word:字本章主要外語詞匯PROM:ProgrammableRea主要內(nèi)容微型計算機結(jié)構(gòu)的簡化形式指令系統(tǒng)控制部件程序設(shè)計及執(zhí)行指令的例行程序微機功能擴展初級程序設(shè)計舉例現(xiàn)代技術(shù)在微機中的應(yīng)用主要內(nèi)容微型計算機結(jié)構(gòu)的簡化形式3.1微型計算機結(jié)構(gòu)的簡化形式微型計算機的基本功能能運算、能判別及能決策;速度快模型機簡化了的微型計算機可以根據(jù)模型機理解各個基本電路和部件之間的信息流通過程,指令系統(tǒng)的意義,程序設(shè)計的步驟,控制部件的功能及其結(jié)構(gòu),還有控制矩陣產(chǎn)生控制字的過程等等3.1微型計算機結(jié)構(gòu)的簡化形式微型計算機的基本功能模型機的結(jié)構(gòu)特點

功能簡單:只能做兩個數(shù)的加減法。

內(nèi)存量小:只有一個16×8PROM(可編程序只讀存儲器)。

字長8位:二進制8位顯示。

手動輸入:用撥動開關(guān)輸入程序和數(shù)據(jù)模型機的結(jié)構(gòu)特點功能簡單:只能做兩個數(shù)的加減法。模型機的硬件結(jié)構(gòu)1模型機的硬件結(jié)構(gòu)1模型機的硬件結(jié)構(gòu)21.程序計數(shù)器PC計數(shù)范圍由0000~1111(0~F)。每次運行之前,先復(fù)位至0000。當(dāng)取出一條指令后,PC應(yīng)加1。2.存儲地址寄存器MAR接收來自PC的二進制程序號,作為地址碼送至PROM去。模型機的硬件結(jié)構(gòu)21.程序計數(shù)器PC模型機的硬件結(jié)構(gòu)3可編程序只讀存儲器PROM可編程序ROM,每條橫線與豎線都有一條由開關(guān)和二極管串聯(lián)的電路將它們連接起來。因此,只要撥動開關(guān),即可使該數(shù)據(jù)位置1或置0PROM同時具有RAM和ROM功能。右圖是4×4PROM的電路圖16×8PROM的橫線應(yīng)為16條(R0~R15),豎線為8條(D7D6…D0),地址碼線應(yīng)為4條(A3A2A1A0)模型機的硬件結(jié)構(gòu)3可編程序只讀存儲器PROM模型機的硬件結(jié)構(gòu)44.指令寄存器IRIR從PROM接收指令字(當(dāng)LI=1,ER=1),同時將指令字分送到控制部件CON和W總線上去。指令字是8位的:××××

××××

MSB

LSB左4位為最高有效位(高4位),稱為指令字段;右4位為最低有效位(低4位),稱為地址字段。5.控制部件CON(1)每次運行前,CON先發(fā)出CLR=1,使有關(guān)的部件清0。此時:

PC=0000

IR=0000

0000(2)CON能發(fā)出同步脈沖CLK到各個部件去,使它們同步運行。(3)在CON中有控制矩陣CM,能根據(jù)IR送來的指令發(fā)出12位的控制字:

CON=CPEPLMERLIEILAEASUEULBLO根據(jù)控制字中各位的置1或置0情況,計算機就能自動地按指令程序運行模型機的硬件結(jié)構(gòu)44.指令寄存器IR模型機的硬件結(jié)構(gòu)56.累加器A用以儲存計算機運行期間的中間結(jié)果。它能接收W總線送來的數(shù)據(jù)(LA=1),也能將數(shù)據(jù)送到W總線上去(EA=1)。它還有一個數(shù)據(jù)輸出端,將數(shù)據(jù)送至ALU去進行算術(shù)運算。這個輸出是雙態(tài)的,即是立即地送去,而不受E門的控制。7.算術(shù)邏輯部件ALU它只是一個二進制補碼加法器/減法器(參見圖1.9)。當(dāng)SU=0,ALU,進行加法A+B;當(dāng)SU=1,ALU,進行減法A-B,即(A+B′)。8.寄存器B將要與A相加減的數(shù)據(jù)暫存于此寄存器。它到ALU的輸出也是雙態(tài)的,即無E門控制。模型機的硬件結(jié)構(gòu)56.累加器A模型機的硬件結(jié)構(gòu)69.輸出寄存器O計算機運行結(jié)束時,累加器A中存有答案。如要輸出此答案,就得送入O。此時EA=1,LO=1,則O=A。典型的計算機具有若干個輸出寄存器,稱為輸出接口電路。這樣就可以驅(qū)動不同的外圍設(shè)備,如打印機、顯示器等。10.二進制顯示器D這是用發(fā)光二極管(LED)組成的顯示器。每一個LED接到寄存器O的一位上去。當(dāng)某位為高電位時,則該LED發(fā)光。因為寄存器O是8位的,所以這里也由8個LED組成顯示器。模型機的硬件結(jié)構(gòu)69.輸出寄存器O模型機的硬件結(jié)構(gòu)7總體來說,模型機可以如下劃分中央處理器CPU(包括PC,IR,CON,ALU,A及B);記憶裝置M(MAR及PROM);輸入/輸出I/O接口(包括O及D)模型機的硬件結(jié)構(gòu)7總體來說,模型機可以如下劃分模型機的硬件結(jié)構(gòu)8中央處理器(centralprocessingunit,

CPU)將程序計數(shù)功能(PC)、指令寄存功能(IR)、控制功能(CON)、算術(shù)邏輯功能(ALU)以及暫存中間數(shù)據(jù)功能(A及B)集成在一塊電路器件上的集成電路(IC)。存儲器M(memory)

此圖例中只包括存儲地址寄存器(MAR)及可編程存儲器(實際還包括了地址譯碼功能),這就是微型計算機的“內(nèi)存”。實際的“內(nèi)存”要包括更多的內(nèi)容(如ROM,RAM及EPROM等)和更大的存儲容量。輸入及輸出接口(I/O)

是計算機實行人機對話的重要部件。實際微型計算機的輸入設(shè)備多為鍵盤,輸出則為監(jiān)視器(即電視屏顯示器),因而必須有專用的輸出接口電路。模型機的硬件結(jié)構(gòu)8中央處理器(centralprocess3.2指令系統(tǒng)指令系統(tǒng)就是用來編制計算程序的一個指令集合微型機有5條指令LDA——將數(shù)據(jù)裝入累加器A;ADD——進行加法運算;SUB——進行減法運算;OUT——輸出結(jié)果;HLT——停機。不同型號的微處理機的指令系統(tǒng)是不同的,指令的條數(shù)也不相同。例如,Z80型的指令系統(tǒng)可達158條,M6800型有72條,6502型則有56條指令,而Intel80386則為152條。3.2指令系統(tǒng)指令系統(tǒng)就是用來編制計算程序的一個指令集合指令系統(tǒng)2例如一個計算程序的格式如下:助記符操作數(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;停機指令系統(tǒng)2例如一個計算程序的格式如下:指令系統(tǒng)3指令執(zhí)行結(jié)果(A)=(R9)+(RA)+(RB)+(RC)-(RD)(D)=(A)加括號的意義是指被括上的寄存器或存儲單元的內(nèi)容。如(A)是指累加器A中的內(nèi)容,(D)是指顯示器顯示出的數(shù)據(jù),(R9)是存儲單元R9中的數(shù)據(jù),等等。((MAR))呢?HLT指令,使時鐘脈沖停發(fā),計算機停止運行,但電源未切斷,顯示器仍繼續(xù)顯示計算結(jié)果指令系統(tǒng)3指令執(zhí)行結(jié)果(A)=(R9)+(RA)+(RB)+3.3程序設(shè)計程序設(shè)計中要包括:(1)編制匯編語言寫的程序;(2)助記符的翻譯;(3)存儲器的分配。指令清單是程序設(shè)計的重要步驟上面講的微型計算機并不認識助記符的意義,因此必須將指令清單中每一條指令都翻譯成二進制碼——機器碼。存儲器中既要寫入計算程序,也要存放參與運算的數(shù)據(jù),因此,需要決定存儲器中的存儲單元應(yīng)如何分配,這稱為存儲空間分配。3.3程序設(shè)計程序設(shè)計中要包括:程序設(shè)計23.3.1操作碼表

這是由計算機制造廠提供的翻譯表,它是每個助記符與二進制碼的相應(yīng)對照表。由于我們的計算機很簡單,只有5個助記符,列成對照表助記符操作碼LDA0000ADD0001SUB0010OUT1110HLT11113.3.2存儲器分配在本微型機中就是要把PROM中的16個存儲單元分配成兩個區(qū):程序存放區(qū)(指令區(qū))和數(shù)據(jù)存放區(qū)(數(shù)據(jù)區(qū))。指令區(qū)數(shù)據(jù)區(qū)存儲單元R0~R7R8~RF二進制地址0000~01111000~1111程序設(shè)計23.3.1操作碼表

這是由計算機制造廠提供的源程序目的程序存儲單元指LDA

R9

→00001001

0000(R0)

ADD

RA

→00011010

0001(R1)令A(yù)DD

RB

→00011011

0010(R2)

ADD

RC

→00011100

0011(R3)區(qū)SUB

RD

→00101101

0100(R4)

OUT

→1110××××

0101(R5)

HLT

→1111××××

0110(R6)

數(shù)1610→00010000

1001(R9)

2010→00010100

1010(RA)據(jù)2410→00011000

1011(RB)

2810→00011100

1100(RC)區(qū)3210→00100000

1101(RD)3.3.3將源程序翻譯成目的程序根據(jù)助記符與二進制的對照表(操作碼表)將上節(jié)例題中的每條指令的助記符譯成二進制碼,并將存儲單元符號寫成地址碼(即R0→0000,R1→0001,…,R9→1001)源程序目的程序存儲單元3.33.3.4程序及數(shù)據(jù)的輸入方法3.3.4程序及數(shù)據(jù)的輸入方法程序及數(shù)據(jù)的輸入方法2PROM分成兩區(qū),指令區(qū)一旦存入指令,就不許再改(除非要計算的公式改變了)。數(shù)據(jù)區(qū)是可以隨時存入要參與運算的數(shù)據(jù),并在計算過程中可以取出來將PROM的每個數(shù)據(jù)位的開關(guān)撥向置0或置1的位置輸入在前面例題的計算程序設(shè)計好,并輸入至PROM之后,就可以開始執(zhí)行程序了。程序執(zhí)行的第一步必須先使計算機復(fù)位,此時控制器先發(fā)出一個CLR為高電位的脈沖,同時時鐘脈沖開始工作,即發(fā)出脈沖電壓系列到各個部件去。 執(zhí)行LDA

9H后A=0001

0000[16(10)]執(zhí)行ADD

AH后A=0010

0100[36(10)]執(zhí)行ADD

BH后A=0011

1100[60(10)]執(zhí)行ADD

CH后A=0101

1000[88(10)]執(zhí)行SUB

DH后A=0011

1000[56(10)]執(zhí)行OUT后D=00111000[56(10)]執(zhí)行HLT后D=0011

1000(不變)程序及數(shù)據(jù)的輸入方法2PROM分成兩區(qū),指令區(qū)一旦存入指令,3.4執(zhí)行指令的例行程序在程序和數(shù)據(jù)裝入之后,啟動按鈕將啟動信號傳給控制部件CON,然后控制部件產(chǎn)生控制字,以便取出和執(zhí)行每條指令。一個機器周期為執(zhí)行一條指令的時間。機器周期又可分為取指周期和執(zhí)行周期。取指過程和執(zhí)行過程機器都得通過不同的機器節(jié)拍。在這些節(jié)拍內(nèi),每個寄存器(PC,MAR,IR,A,B,O等)的內(nèi)容可能發(fā)生變化。3.4執(zhí)行指令的例行程序在程序和數(shù)據(jù)裝入之后,啟動按鈕將執(zhí)行指令的例行程序2環(huán)形計數(shù)器及機器節(jié)拍各位輸出端Q0~Q5的電位就是機器節(jié)拍T0~T5的電位,由于時鐘脈沖是經(jīng)過反相器再接到環(huán)形計數(shù)器(圖中的“汽泡”表示非門)的CLK端的,所以各節(jié)拍之間的轉(zhuǎn)換是在時鐘脈沖的負邊緣開始的。環(huán)形計數(shù)器的輸出看做是一個字T,則:T=T5T4T3T2T1T0下圖是一個6位的環(huán)形字,用以控制6條電路,使它們依次輪流為高電位,T0,T1,T2,T3,T4和T5稱為機器節(jié)拍。執(zhí)行指令的例行程序2環(huán)形計數(shù)器及機器節(jié)拍執(zhí)行指令的例行程序3取指周期取出指令的過程需要3個機器節(jié)拍,在清零和啟動之后第1個節(jié)拍為T0。取指周期,對任何一條指令都是一樣的。因為任何一條指令都是沿著這個程式而將指令取出來,再將其高4位送入控制部件去進行分析,決定下面應(yīng)如何執(zhí)行(1)地址節(jié)拍(T0=1)在T0=1時,應(yīng)將PC的內(nèi)容(即第1個地址碼)送入MAR(并通過MAR而達到PROM),所以,此時應(yīng)有:

EP=1,即PC準備放出數(shù)據(jù)

LM=1,即MAR準備接收數(shù)據(jù)(2)儲存節(jié)拍(T1=1)在T1=1時,應(yīng)將PROM中由PC送來的地址碼所指定的存儲單元中的內(nèi)容送到IR,同時IR立即將其高4位送至控制部件。因此,在此節(jié)拍到來之前,即應(yīng)準備好:

ER=1即PROM準備放出數(shù)據(jù)

LI=1即IR準備接收數(shù)據(jù)(3)增量節(jié)拍(T2=1)在T2=1時,應(yīng)使PC加1,做好下一條指令的取指準備。因此,CP=1,即命令PC計數(shù)。執(zhí)行指令的例行程序3取指周期取出指令的過程需要3個機器節(jié)拍,執(zhí)行指令的例行程序4執(zhí)行周期也需要3拍(T3,T4,T5),這種程序是由廠家編好了的,所以稱為例行程序。以LDA例行程序為例,考查一下在此3節(jié)拍中,各個寄存器的內(nèi)容應(yīng)有何變化(4)T3=1時,IR已將從PROM來的指令碼的高4位送至控制部件進行分析。此高4位是與LDA相應(yīng)的二進制碼“0000”,控制部件經(jīng)過分析后就發(fā)出命令:EI=1,將IR的低4位送至W總線;LM=1,MAR接收此低4位數(shù)作為地址并立即送至PROM;例題中,送至PROM的地址就是R9的二進制碼地址(1001)。也就是說,第1次訪問PROM的是其指令區(qū),第2次訪問的是其數(shù)據(jù)區(qū)。(5)T4=1應(yīng)將PROM的數(shù)據(jù)區(qū)的存儲單元(如R9,即1001)的內(nèi)容送入累加器A,即:ER=1,PROM準備放出數(shù)據(jù);LA=1,A準備接收數(shù)據(jù);(6)T5=1因為T4=1時,已將數(shù)據(jù)存放入A中,所以,LDA的例行程序就已完成,T5節(jié)拍就變成空拍執(zhí)行指令的例行程序4執(zhí)行周期也需要3拍(T3,T4,T5),3.5控制部件

控制部件是使計算機能夠成為自動機的關(guān)鍵部件。它包括下列主要部件:環(huán)形計數(shù)器(RC);指令譯碼器(ID);控制矩陣(CM);其他控制電路。環(huán)形計數(shù)器、指令譯碼器、控制矩陣稱為控制器。3.5控制部件

3.5.1指令譯碼器指令寄存器IR高4位被送入控制部件這高4位就是各種控制動作的代碼,比如:0000代表LDA的控制動作;0001代表ADD的控制動作;0010代表SUB的控制動作;1110代表OUT的控制動作;1111代表HLT的控制動作。一個控制動作相當(dāng)于一條控制線,就要使該控制線為高電位。這個由4個位組成的編碼,必須被譯成一個信號,即譯為某一控制線為高電位,這就是譯碼器的任務(wù)。譯碼器可以由與門和非門組成,下圖就是一個4位譯碼器。4位應(yīng)該可以有16種編碼的可能,由于我們的模擬機功能簡單,只有5條指令,所以只要5個與門就夠了。3.5.1指令譯碼器指令寄存器IR高4位被送入控制部件微機原理第三章課件3.5.2控制矩陣控制矩陣就是要決定控制字的輸出電平高低一般每一節(jié)拍大都要求兩個控制字位為高電位,有的可能只有一位為高電位的(如

CP=1),也可能是3位為高電位??刂凭仃囀强刂撇考暮诵牟考聢D是一個控制矩陣(CM)電路圖控制字有12位,每一指令要執(zhí)行6拍,每拍均有不同的位為高電位,下圖是本模型機中控制矩陣的電路圖:3.5.2控制矩陣控制矩陣就是要決定控制字的輸出電平高低控制矩陣控制矩陣控制矩陣2電路組成環(huán)形計數(shù)器,使T0至T5的6根橫線輪流為高電位;指令控制信號線為中間4根橫線,它們的電位高低由指令譯碼器決定控制字輸出CON,最下面部分是由19個與門和6個或門組成一個邏輯電路。這個電路共有12個輸出端,就是控制字CON:CON=CPEPIMERLIEILAEASUEULBLO

控制矩陣的初始化開機前使CLR為高電位,則此時環(huán)形計數(shù)器復(fù)位至T0=1,其他各位為0。這就是說,每一節(jié)拍都是從T0開始的。控制矩陣2電路組成3.5.3其他控制電路時鐘脈沖發(fā)生器,包括時鐘振蕩器及射極跟隨器,輸出CLK運行/停車觸發(fā)器,其輸出去啟動時鐘振蕩器“啟動”和“清除”按鈕,由人直接操作的主令電器,命令都是由此開始的3.5.3其他控制電路時鐘脈沖發(fā)生器,包括時鐘振蕩器及射

3.6微型計算機功能的擴展模型機的不足硬件過于簡單,尤其是控制部件只能接受5條指令而產(chǎn)生相應(yīng)的例行程序。軟件開發(fā)問題,即如何利用現(xiàn)有的指令系統(tǒng),經(jīng)過靈活的編程以解決更多更復(fù)雜的問題。擴展模型機的功能中央處理器控制器算術(shù)邏輯部件(ALU)寄存器的個數(shù)、性能等

3.6微型計算機功能的擴展模型機的不足算術(shù)邏輯部件及控制器的功能有相當(dāng)?shù)臄U展,這樣,就既可能進行邏輯運算,也有跳轉(zhuǎn)和循環(huán)運算的功能??刂破鞯脑鰪?,指令系統(tǒng)已擴大到28條指令增加的部件子程序計數(shù)器SC變址寄存器X隨機存取存儲器RAMMDR輸入寄存器算術(shù)邏輯部件及控制器的功能有相當(dāng)?shù)臄U展,這樣,就既可能進行邏微型計算機功能的擴展5本機共有28條指令,可分為3類:1.訪問存儲器指令(memoryreferenceinstruction,

MRI)與存儲器的讀/寫有關(guān),其地址字段必須為8位(256個地址)。特點:由指令寄存器分出來的地址字段(8位的地址字段)必定進入MAR(存儲器地址寄存器),這就能夠識別出MRI這類指令。助記符操作碼操作數(shù)意義LDA0000nn將地址nn的內(nèi)容裝入AADD0001nn將地址nn的內(nèi)容與A相加SUB0010nn將地址nn的內(nèi)容與A相減STA0011nn將A中內(nèi)容存入地址nn中LDB0100nn將地址nn的內(nèi)容裝入BLDX0101nn將地址nn的內(nèi)容裝入X微型計算機功能的擴展5本機共有28條指令,可分為3類:助記符微型計算機功能的擴展62.轉(zhuǎn)移指令 可用以改變程序的順序,可以在規(guī)定的某種條件下將程序進程向前轉(zhuǎn)移或向后轉(zhuǎn)移,也可跳過若干條指令語句或去執(zhí)行某個子程序之后再回至下一條指令語句。特點:由指令寄存器IR分出來的地址段(8位)將進入程序計數(shù)器PC(即LP=1),或子程序計數(shù)器(LS=1)。助記符操作碼操作數(shù)意義JMP0110nn無條件轉(zhuǎn)移至程序nnJAM0111nn(A)=負則轉(zhuǎn)移至程序nnJAZ1000nn(A)=0則轉(zhuǎn)移至程序nnJIM1001nn(X)=負則轉(zhuǎn)移至程序nnJIZ1010nn(X)=0則轉(zhuǎn)移至程序nnJMS1011起始地址轉(zhuǎn)至子程序的起始地址微型計算機功能的擴展62.轉(zhuǎn)移指令助記符操作碼操作數(shù)意義微型計算機功能的擴展73.邏輯運算指令 控制器只要接到1111的高4位,即知為運算指令,然后控制器再辨認選擇碼以確定進行什么樣的運算。這類指令的特點是與存儲器及程序計數(shù)器都無關(guān),而是與ALU、A及B寄存器有關(guān)。由于這些運算都是在ALU和A,B之間進行的,所以不需地址碼。低4位可以不置數(shù),由其隨機存在,并不產(chǎn)生任何影響。微型計算機功能的擴展73.邏輯運算指令微型計算機功能的擴展8助記符操作碼選擇碼低4位意義NOP11110000隨意空操作CLA11110001累加器A清零XCH11110010累加器A與變址器X內(nèi)容交換DEX11110011變址器X內(nèi)容減1INX11110100變址器X內(nèi)容加1CMA11110101累加器A內(nèi)容取反CMB11110110累加器B內(nèi)容取反LOR11110111A和B各位進行或運算AND11111000A和B各位進行與運算NOR11111001A和B各位進行或非運算NAN11111010A和B各位進行與非運算XOR11111011A和B各位進行異或運算BRB11111100由子程序返回主程序INP11111101輸入:外部數(shù)據(jù)裝入I再裝入AOUT11111110輸出:A的內(nèi)容裝入OHLT11111111停機:CLK停發(fā)微型計算機功能的擴展8助記符操作碼選擇碼低4位意義NOP113.7初級程序設(shè)計舉例利用上節(jié)提供的指令系統(tǒng),可以據(jù)此進行程序設(shè)計。初級程序主要包括下列的程序模式:簡單程序——程序一統(tǒng)到底,中間沒有任何分支和跳轉(zhuǎn)。分支程序——程序進行中,根據(jù)判斷程序執(zhí)行的不同結(jié)果而分別跳轉(zhuǎn)至其他子程序去。循環(huán)程序——程序進行過程中,在某一循環(huán)體進行若干次循環(huán)運行,然后再繼續(xù)前進。調(diào)用子程序——程序進行至某一階段,調(diào)用存儲于某存儲區(qū)中的某個子程序,然后返回至主程序繼續(xù)運行下去。3.7初級程序設(shè)計舉例利用上節(jié)提供的指令系統(tǒng),可以據(jù)此初級程序設(shè)計舉例2【例3.1】分支程序指R0

LDA

6H

令R1

SUB

7H

區(qū)R2

JAM

5H

R3

JAZ

5H

R4

JMP

1H

R5

HLT數(shù)R6

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

9(10)根據(jù)程序清單,分析程序執(zhí)行的順序及結(jié)果A<--(6H)A<-(A)-(7H)(A)<0開始(A)=0HLTYYNN初級程序設(shè)計舉例2【例3.1】分支程序A<--(6H)A<-初級程序設(shè)計舉例4【例3.2】循環(huán)程序 利用變址寄存器可以設(shè)計一個循環(huán)程序:R0

LDX

5H

R1

DEX

R2

JIZ

4H

R3

JMP

1H

R4

HLT停機R5

3(10)

分析程序運行的過程X<--(R5)X<-(X)-1(X)=0開始HLTYN初級程序設(shè)計舉例4【例3.2】循環(huán)程序X<--(R5)X<-初級程序設(shè)計舉例6【例3.3】乘法計算的程序利用循環(huán)程序可作乘法計算,例如要求12(10)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論