第03章(簡化)剖析_第1頁
第03章(簡化)剖析_第2頁
第03章(簡化)剖析_第3頁
第03章(簡化)剖析_第4頁
第03章(簡化)剖析_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2022-4-221第第3章微型計(jì)算機(jī)的基本工作原理章微型計(jì)算機(jī)的基本工作原理2022-4-222 一個(gè)實(shí)際的微型計(jì)算機(jī)的電路結(jié)構(gòu)是相當(dāng)復(fù)雜的。要了解其工一個(gè)實(shí)際的微型計(jì)算機(jī)的電路結(jié)構(gòu)是相當(dāng)復(fù)雜的。要了解其工作原理就必須將其分解為若干電路環(huán)節(jié),或若干大塊;每大塊又由作原理就必須將其分解為若干電路環(huán)節(jié),或若干大塊;每大塊又由若干電路部件組成;每個(gè)電路部件又由若干微電子元器件組成若干電路部件組成;每個(gè)電路部件又由若干微電子元器件組成對初次接觸微型計(jì)算機(jī)的讀者,如果從一個(gè)實(shí)際微型計(jì)算機(jī)出發(fā)來對初次接觸微型計(jì)算機(jī)的讀者,如果從一個(gè)實(shí)際微型計(jì)算機(jī)出發(fā)來講解其工作原理,則會事倍功半。講解其工作原理,則會事

2、倍功半。 因此,本書擬從微型計(jì)算機(jī)的最基本功能出發(fā)講解其電路工作因此,本書擬從微型計(jì)算機(jī)的最基本功能出發(fā)講解其電路工作原理,以在有限的學(xué)時(shí)內(nèi)給讀者一個(gè)較完整的概念,然后在以下各原理,以在有限的學(xué)時(shí)內(nèi)給讀者一個(gè)較完整的概念,然后在以下各章中逐步完善實(shí)際微型計(jì)算機(jī)的全貌。章中逐步完善實(shí)際微型計(jì)算機(jī)的全貌。2022-4-223 微型計(jì)算機(jī)的基本功能可概括為微型計(jì)算機(jī)的基本功能可概括為“三能一快三能一快”:能運(yùn)算:能運(yùn)算(加、減、加、減、乘、除乘、除)、能判別、能判別(大于、小于、等于、真、假大于、小于、等于、真、假)及能決策及能決策(根據(jù)判別來根據(jù)判別來決定下一步的工作決定下一步的工作)。但所有這些

3、。但所有這些“能能”的過程都必須建立在的過程都必須建立在“快快”的基礎(chǔ)上才能有實(shí)際意義。的基礎(chǔ)上才能有實(shí)際意義。 微型計(jì)算機(jī)這種基本功能從電路原理來理解就是信息在各個(gè)部微型計(jì)算機(jī)這種基本功能從電路原理來理解就是信息在各個(gè)部件間的流通問題。在第件間的流通問題。在第2章中已講到總線結(jié)構(gòu)及信息流通的過程,章中已講到總線結(jié)構(gòu)及信息流通的過程,在整個(gè)微型計(jì)算機(jī)中、信息量是很大的,部件數(shù)也是很多的,如何在整個(gè)微型計(jì)算機(jī)中、信息量是很大的,部件數(shù)也是很多的,如何做到各個(gè)信息和部件之間能夠做到各個(gè)信息和部件之間能夠“循序漸進(jìn)、各得其所、有條不紊、循序漸進(jìn)、各得其所、有條不紊、快而不亂快而不亂”呢呢?這就是微型

4、計(jì)算機(jī)基本工作原理所要解答的問題。這就是微型計(jì)算機(jī)基本工作原理所要解答的問題。2022-4-224 本章將以一個(gè)簡化了的微型計(jì)算機(jī)作為分析對象,逐步講述一般本章將以一個(gè)簡化了的微型計(jì)算機(jī)作為分析對象,逐步講述一般計(jì)算機(jī)的各種基本功能,從而概括出微型計(jì)算機(jī)的基本工作原理。在計(jì)算機(jī)的各種基本功能,從而概括出微型計(jì)算機(jī)的基本工作原理。在分析過程中,陸續(xù)介紹各個(gè)基本電路和部件之間的信息流通過程,指分析過程中,陸續(xù)介紹各個(gè)基本電路和部件之間的信息流通過程,指令系統(tǒng)的意義,程序設(shè)計(jì)的步驟,控制部件的功能及其結(jié)構(gòu),還有控令系統(tǒng)的意義,程序設(shè)計(jì)的步驟,控制部件的功能及其結(jié)構(gòu),還有控制矩陣產(chǎn)生控制字的過程等等,

5、同時(shí)對例行程序作較詳細(xì)的闡述。這制矩陣產(chǎn)生控制字的過程等等,同時(shí)對例行程序作較詳細(xì)的闡述。這樣就可以對微型計(jì)算機(jī)的基本工作原理有一個(gè)比較完整的概念。樣就可以對微型計(jì)算機(jī)的基本工作原理有一個(gè)比較完整的概念。2022-4-2253.1 微型計(jì)算機(jī)結(jié)構(gòu)的簡化形式微型計(jì)算機(jī)結(jié)構(gòu)的簡化形式 為了易于分析和理解,首先為了易于分析和理解,首先介紹一個(gè)簡化的微機(jī)硬件結(jié)構(gòu),介紹一個(gè)簡化的微機(jī)硬件結(jié)構(gòu),如圖如圖3.1(a) ,其特點(diǎn):,其特點(diǎn): (1) 功能簡單功能簡單:只能做兩個(gè)數(shù)的:只能做兩個(gè)數(shù)的加減法。加減法。(2) 內(nèi)存量?。褐挥幸粌?nèi)存量小:只有一個(gè)個(gè)168PROM(可編程序只讀可編程序只讀存儲器存儲器)

6、。(3) 字長字長8位:二進(jìn)制位:二進(jìn)制8位顯示。位顯示。(4) 手動輸入:用撥動手動輸入:用撥動開關(guān)輸入程序和數(shù)據(jù)。開關(guān)輸入程序和數(shù)據(jù)。2022-4-226 雖然如此簡單,但已具備了一個(gè)可編程序計(jì)算機(jī)的雛型。雖然如此簡單,但已具備了一個(gè)可編程序計(jì)算機(jī)的雛型。尤其是有關(guān)控制矩陣和控制部件的控制過程和電路原理的分尤其是有關(guān)控制矩陣和控制部件的控制過程和電路原理的分析,更有助于初學(xué)者領(lǐng)會計(jì)算機(jī)的原理。析,更有助于初學(xué)者領(lǐng)會計(jì)算機(jī)的原理。 本節(jié)先對各個(gè)部件略作解釋,本節(jié)先對各個(gè)部件略作解釋, 以后各節(jié)再逐步深入分析其以后各節(jié)再逐步深入分析其工作過程。工作過程。圖圖3.1 微機(jī)簡化結(jié)構(gòu)功能分解圖微機(jī)簡

7、化結(jié)構(gòu)功能分解圖2022-4-2271. 程序計(jì)數(shù)器程序計(jì)數(shù)器PC 計(jì)數(shù)范圍由計(jì)數(shù)范圍由00001111(用十六進(jìn)制可記作由用十六進(jìn)制可記作由00FH)。 每次運(yùn)行之前,先復(fù)位至每次運(yùn)行之前,先復(fù)位至0000。當(dāng)取出一條指。當(dāng)取出一條指令后,令后,PC應(yīng)加應(yīng)加1。2. 存儲地址寄存器存儲地址寄存器MAR 接收來自接收來自PC的二進(jìn)制程序號,作為地址碼送至的二進(jìn)制程序號,作為地址碼送至PROM去。去。2022-4-228 其原理如圖其原理如圖3.2所示。這是一個(gè)所示。這是一個(gè)44PROM,它和圖,它和圖2.30的的ROM之不同點(diǎn)是:每條橫線與豎線都有之不同點(diǎn)是:每條橫線與豎線都有一條由開關(guān)和二極

8、管串聯(lián)的電路將一條由開關(guān)和二極管串聯(lián)的電路將它們連接起來。因此,只要撥動開它們連接起來。因此,只要撥動開關(guān),即可使該數(shù)據(jù)位置關(guān),即可使該數(shù)據(jù)位置1或置或置0,從,從而達(dá)到使每個(gè)存儲單元而達(dá)到使每個(gè)存儲單元“寫入寫入”數(shù)數(shù)據(jù)的目的。因而稱這種據(jù)的目的。因而稱這種ROM為為可可編程序編程序ROM。PROM實(shí)際上同時(shí)實(shí)際上同時(shí)具有具有RAM和和ROM的功能。的功能。3. 可編程序只讀存儲器可編程序只讀存儲器PROM圖圖3.2 44PROM原理圖原理圖 這里為了簡化作圖而只用這里為了簡化作圖而只用4 4 P R O M 的 圖 , 如 是的 圖 , 如 是168PROM,則其橫線應(yīng)為,則其橫線應(yīng)為16

9、條條(R0R15),豎線為,豎線為8條條(D7D6D0),地址碼線則相應(yīng),地址碼線則相應(yīng)地應(yīng)為地應(yīng)為4條條(A3A2A1A0)。2022-4-2294. 指令寄存器指令寄存器IR IR從從PROM接收到指令字接收到指令字(當(dāng)當(dāng)LI=1,ER=1),同時(shí)將指令字分送,同時(shí)將指令字分送到控制部件到控制部件CON和和W總線上去??偩€上去。 指令字是指令字是8位的:位的:MSBLSB 最高有效位最高有效位 最低有效位最低有效位 左左4位為最高有效位位為最高有效位(高高4位位),稱為指令字段,稱為指令字段; 右右4位為最低有效位位為最低有效位(低低4位位),稱為地址字段,稱為地址字段。2022-4-22

10、105. 控制部件控制部件CON 其功能如下:其功能如下:(1) 每次運(yùn)行之前,每次運(yùn)行之前,CON先發(fā)出先發(fā)出CLR=1,使有關(guān)的部件清,使有關(guān)的部件清0。此時(shí):。此時(shí):PC=0000,IR=00000000(2) CON有一個(gè)同步時(shí)鐘,能發(fā)出脈沖有一個(gè)同步時(shí)鐘,能發(fā)出脈沖CLK到各個(gè)部件去,使各個(gè)部到各個(gè)部件去,使各個(gè)部件能夠同步運(yùn)行。件能夠同步運(yùn)行。(3) 在在CON中有一個(gè)控制矩陣中有一個(gè)控制矩陣CM,能根據(jù),能根據(jù)IR送來的指令發(fā)出送來的指令發(fā)出12位的位的控制字:控制字:CON=CPEPLMERLIEILAEASUEULBLO 根據(jù)控制字中各位的置根據(jù)控制字中各位的置1或置或置0情

11、況,計(jì)算機(jī)就能自動地按指令程序情況,計(jì)算機(jī)就能自動地按指令程序而有秩序地運(yùn)行。而有秩序地運(yùn)行。2022-4-22116. 累加器累加器A 用以儲存計(jì)算機(jī)運(yùn)行期間的中間結(jié)果。它能接收用以儲存計(jì)算機(jī)運(yùn)行期間的中間結(jié)果。它能接收W總線送來的數(shù)據(jù)總線送來的數(shù)據(jù)(LA=1),也能將數(shù)據(jù)送到,也能將數(shù)據(jù)送到W總線上去總線上去(EA=1)。它還有一個(gè)數(shù)據(jù)輸出端,。它還有一個(gè)數(shù)據(jù)輸出端,將數(shù)據(jù)送至將數(shù)據(jù)送至ALU去進(jìn)行算術(shù)運(yùn)算。這個(gè)輸出是雙態(tài)的,即是立即地送去進(jìn)行算術(shù)運(yùn)算。這個(gè)輸出是雙態(tài)的,即是立即地送去,而不受去,而不受E門的控制。門的控制。7. 算術(shù)邏輯部件算術(shù)邏輯部件ALU 它只是一個(gè)二進(jìn)制補(bǔ)碼加法器它

12、只是一個(gè)二進(jìn)制補(bǔ)碼加法器/減法器減法器. 當(dāng)當(dāng)SU=0,ALU,進(jìn)行加法,進(jìn)行加法A+B; 當(dāng)當(dāng)SU=1,ALU,進(jìn)行減法,進(jìn)行減法A-B, 即即(A+B)。 (參見圖參見圖1.9)。圖圖1.9 二進(jìn)制補(bǔ)碼加法器減法器二進(jìn)制補(bǔ)碼加法器減法器2022-4-22128. 寄存器寄存器B 將要與將要與A相加減的數(shù)據(jù)暫存于此寄存器。它到相加減的數(shù)據(jù)暫存于此寄存器。它到ALU的輸出也是雙態(tài)的,即無的輸出也是雙態(tài)的,即無E門控制。門控制。9. 輸出寄存器輸出寄存器O 計(jì)算機(jī)運(yùn)行結(jié)束時(shí),累加器計(jì)算機(jī)運(yùn)行結(jié)束時(shí),累加器A中存有答案。如中存有答案。如要輸出此答案,就得送入要輸出此答案,就得送入O。此時(shí)。此時(shí)EA

13、=1,LO=1,則則O=A。 典型的計(jì)算機(jī)具有若干個(gè)輸出寄存器,稱為輸?shù)湫偷挠?jì)算機(jī)具有若干個(gè)輸出寄存器,稱為輸出接口電路。這樣就可以驅(qū)動不同的外圍設(shè)備,出接口電路。這樣就可以驅(qū)動不同的外圍設(shè)備,如打印機(jī)、顯示器等。如打印機(jī)、顯示器等。2022-4-221310. 二進(jìn)制顯示器二進(jìn)制顯示器D 這是用發(fā)光二極管這是用發(fā)光二極管(LED)組成的顯示器。每一個(gè)組成的顯示器。每一個(gè)LED接到寄存器接到寄存器O的一位上去。當(dāng)某位為高電位時(shí),則該的一位上去。當(dāng)某位為高電位時(shí),則該LED發(fā)光。因?yàn)榧拇嫫靼l(fā)光。因?yàn)榧拇嫫鱋是是8位位的,所以這里也由的,所以這里也由8個(gè)個(gè)LED組成顯示器。組成顯示器。 這種結(jié)構(gòu),

14、一般可分成這種結(jié)構(gòu),一般可分成3大部分,如圖大部分,如圖3.1(b)的功能分解圖:的功能分解圖:(1) 中央處理器中央處理器CPU(包括包括PC,IR, CON,ALU,A及及B);(2) 記憶裝置記憶裝置M(MAR及及PROM);(3) 輸入輸入/輸出輸出I/O(包括包括O及及D, D也可稱為其外圍設(shè)備也可稱為其外圍設(shè)備)。2022-4-2214 中央處理器中央處理器(central processing unit,縮寫為縮寫為CPU):是將程序計(jì):是將程序計(jì)數(shù)功能數(shù)功能(PC)、指令寄存功能、指令寄存功能(IR)、控制功能、控制功能(CON)、算術(shù)邏輯功能、算術(shù)邏輯功能(ALU)以及暫存中

15、間數(shù)據(jù)功能以及暫存中間數(shù)據(jù)功能(A及及B)集成在一塊電路器件上的集成集成在一塊電路器件上的集成電路電路(IC)。 實(shí)用上的實(shí)用上的CPU要比這里的圖例更為復(fù)雜些,但其主要功能是基要比這里的圖例更為復(fù)雜些,但其主要功能是基本一樣的。本一樣的。2022-4-2215 存儲器存儲器M(memory)在此圖例中只包括存儲地址寄存器在此圖例中只包括存儲地址寄存器(MAR)及可及可編程存儲器編程存儲器(實(shí)際還包括了地址譯碼功能實(shí)際還包括了地址譯碼功能),這就是微型計(jì)算機(jī)的,這就是微型計(jì)算機(jī)的“內(nèi)內(nèi)存存”.實(shí)際的實(shí)際的“內(nèi)存內(nèi)存”要包括更多的內(nèi)容要包括更多的內(nèi)容(如如ROM,RAM及及EPROM等等)和更大

16、的存儲容量。和更大的存儲容量。 輸入及輸出接口輸入及輸出接口(I/O)是計(jì)算機(jī)實(shí)行人機(jī)對話的重要部件。本簡例是計(jì)算機(jī)實(shí)行人機(jī)對話的重要部件。本簡例中的輸入將是人工設(shè)定中的輸入將是人工設(shè)定PROM(見見3.3節(jié)的闡述節(jié)的闡述)而沒有輸入電路接口而沒有輸入電路接口只有輸出有接口只有輸出有接口(O)。實(shí)際微型計(jì)算機(jī)的輸入設(shè)備多為鍵盤,輸出則。實(shí)際微型計(jì)算機(jī)的輸入設(shè)備多為鍵盤,輸出則為監(jiān)視器為監(jiān)視器(即電視屏顯示器即電視屏顯示器),因而必須有專用的輸出接口電路。,因而必須有專用的輸出接口電路。2022-4-22163.2 指令系統(tǒng)指令系統(tǒng) 指令系統(tǒng)就是用來編制計(jì)算程序的一個(gè)指令集合。在未編制出計(jì)算指令

17、系統(tǒng)就是用來編制計(jì)算程序的一個(gè)指令集合。在未編制出計(jì)算程序之前,計(jì)算機(jī)是一堆無價(jià)值的電路硬件。程序之前,計(jì)算機(jī)是一堆無價(jià)值的電路硬件。 這臺微型機(jī)有這臺微型機(jī)有5條指令,即其控制部件能完成一系列例行程序以執(zhí)條指令,即其控制部件能完成一系列例行程序以執(zhí)行行5種命令:種命令: LDA將數(shù)據(jù)裝入累加器將數(shù)據(jù)裝入累加器A; ADD進(jìn)行加法運(yùn)算;進(jìn)行加法運(yùn)算; SUB進(jìn)行減法運(yùn)算;進(jìn)行減法運(yùn)算; OUT輸出結(jié)果;輸出結(jié)果; HLT停機(jī)。停機(jī)。 這這5條指令在一起就稱為這臺計(jì)算機(jī)的指令系統(tǒng)。條指令在一起就稱為這臺計(jì)算機(jī)的指令系統(tǒng)。2022-4-2217 不同型號的微處理機(jī)的指令系統(tǒng)是不同的,指令的條數(shù)也不

18、同型號的微處理機(jī)的指令系統(tǒng)是不同的,指令的條數(shù)也不相同。例如,不相同。例如,Z80型的指令系統(tǒng)可達(dá)型的指令系統(tǒng)可達(dá)158條,條,M6800型有型有72條,條,6502型則有型則有56條指令,而條指令,而Intel 80386則為則為152條。條。 下面用一個(gè)計(jì)算程序的指令清單來解釋這幾條指令的用法,下面用一個(gè)計(jì)算程序的指令清單來解釋這幾條指令的用法,以便初學(xué)者更易于體會其意義。以便初學(xué)者更易于體會其意義。2022-4-2218例如一個(gè)計(jì)算程序的格式如下:例如一個(gè)計(jì)算程序的格式如下:助記符操作數(shù)助記符操作數(shù) 注釋注釋 執(zhí)行指令的結(jié)果執(zhí)行指令的結(jié)果LDAR9 ;把;把R9中的數(shù)據(jù)存入累加器中的數(shù)據(jù)

19、存入累加器A (A)=(R9)ADDRA;把;把RA中的數(shù)據(jù)與中的數(shù)據(jù)與A的相加的相加 (A)=(R9)+(RA)ADDRB;把;把RB中的數(shù)據(jù)與中的數(shù)據(jù)與A的相加的相加 (A)=(R9)+(RA)+(RB)ADDRC;把;把RC中的數(shù)據(jù)與中的數(shù)據(jù)與A的相加的相加 (A)=(R9)+(RA)+(RB)+(RC)SUB RD ;把;把A中的數(shù)據(jù)與中的數(shù)據(jù)與RD的相減的相減 (A)=(R9)+(RA)+(RB)+(RC)-(RD)OUT ;輸出;輸出A中的數(shù)據(jù)到輸出寄存器或顯示裝置,即結(jié)果中的數(shù)據(jù)到輸出寄存器或顯示裝置,即結(jié)果 (D)=(A)HLT ;停機(jī);停機(jī) CLK停止發(fā)脈沖停止發(fā)脈沖這樣的格

20、式稱為用匯編語言寫的匯編語言程序,每一行是一條指令。這樣的格式稱為用匯編語言寫的匯編語言程序,每一行是一條指令。 上面加括號的意義是指被括上的寄存器或存儲單元的內(nèi)容。如上面加括號的意義是指被括上的寄存器或存儲單元的內(nèi)容。如(A)是指累是指累加器加器A中的內(nèi)容,中的內(nèi)容,(D)是指顯示器顯示出的數(shù)據(jù),是指顯示器顯示出的數(shù)據(jù),(R9)是存儲單元是存儲單元R9中的數(shù)據(jù),中的數(shù)據(jù),等等。等等。 最后一條指令HLT 停機(jī),使時(shí)鐘脈沖停發(fā),則計(jì)算機(jī)停止運(yùn)行,但電源未切斷,所以顯示器中仍繼續(xù)顯示計(jì)算的結(jié)果。 臨時(shí)寄存器臨時(shí)寄存器隨時(shí)被更新隨時(shí)被更新2022-4-22193.3 程序設(shè)程序設(shè)計(jì)計(jì) 上節(jié)所列的是

21、求幾個(gè)數(shù)加減過程的指令清單。寫出這個(gè)清單,上節(jié)所列的是求幾個(gè)數(shù)加減過程的指令清單。寫出這個(gè)清單,只能說明你已把要計(jì)算的題目的計(jì)算步驟列出來了。如果這臺只能說明你已把要計(jì)算的題目的計(jì)算步驟列出來了。如果這臺計(jì)算機(jī)能計(jì)算機(jī)能“認(rèn)識認(rèn)識”用匯編語言寫出來的匯編程序,就可以直接用匯編語言寫出來的匯編程序,就可以直接輸入上面這個(gè)指令清單,計(jì)算機(jī)內(nèi)部有編譯程序自動將這個(gè)清輸入上面這個(gè)指令清單,計(jì)算機(jī)內(nèi)部有編譯程序自動將這個(gè)清單上的每一條指令翻譯成機(jī)器碼而使計(jì)算機(jī)工作起來。單上的每一條指令翻譯成機(jī)器碼而使計(jì)算機(jī)工作起來。 但本章介紹的是最簡單的微型計(jì)算機(jī),它不但本章介紹的是最簡單的微型計(jì)算機(jī),它不“認(rèn)識認(rèn)識

22、” 匯編程匯編程序。因此寫完這個(gè)清單,不能說程序已設(shè)計(jì)完畢,這一節(jié)就是序。因此寫完這個(gè)清單,不能說程序已設(shè)計(jì)完畢,這一節(jié)就是針對微型計(jì)算機(jī)介紹一個(gè)程序設(shè)計(jì)的步驟和內(nèi)容。針對微型計(jì)算機(jī)介紹一個(gè)程序設(shè)計(jì)的步驟和內(nèi)容。2022-4-22203.3 程序設(shè)計(jì)程序設(shè)計(jì) 指令清單也是程序設(shè)計(jì)的一部分,而且是首先要做的重指令清單也是程序設(shè)計(jì)的一部分,而且是首先要做的重要一步。上面講的指令清單可以說是將求要一步。上面講的指令清單可以說是將求4個(gè)數(shù)相加再減去個(gè)數(shù)相加再減去一個(gè)數(shù)的公式而寫成的計(jì)算程序:一個(gè)數(shù)的公式而寫成的計(jì)算程序: D=(R9)+(RA)+(RB)+(RC)-(RD) 這幾個(gè)參與運(yùn)算的數(shù)當(dāng)然可以

23、是任意的,所以公式是用代這幾個(gè)參與運(yùn)算的數(shù)當(dāng)然可以是任意的,所以公式是用代數(shù)符號寫的。這里所用的代數(shù)符號,故意與存儲單元的序列數(shù)符號寫的。這里所用的代數(shù)符號,故意與存儲單元的序列相一致。事實(shí)也是如此,因?yàn)橐獏⑴c運(yùn)算的數(shù)必須先輸入到相一致。事實(shí)也是如此,因?yàn)橐獏⑴c運(yùn)算的數(shù)必須先輸入到存儲器中去。存儲器中去。2022-4-2221 上面講的微型計(jì)算機(jī)并不認(rèn)識助記符的意義,因此必須將指令上面講的微型計(jì)算機(jī)并不認(rèn)識助記符的意義,因此必須將指令清單中每一條指令都翻譯成二進(jìn)制碼清單中每一條指令都翻譯成二進(jìn)制碼機(jī)器碼機(jī)器碼。另外,存儲器中既。另外,存儲器中既要寫入計(jì)算程序,也要存放參與運(yùn)算的數(shù)據(jù),因此,還得

24、決定存儲要寫入計(jì)算程序,也要存放參與運(yùn)算的數(shù)據(jù),因此,還得決定存儲器中的存儲單元應(yīng)如何分配,這稱為器中的存儲單元應(yīng)如何分配,這稱為存儲空間分配存儲空間分配。 總之,程序設(shè)計(jì)中要包括:總之,程序設(shè)計(jì)中要包括: (1) 編制匯編語言寫的程序;編制匯編語言寫的程序; (2) 助記符的翻譯;助記符的翻譯; (3) 存儲器的分配等幾部分。存儲器的分配等幾部分。 下面就來介紹一下程序設(shè)計(jì)的步驟。下面就來介紹一下程序設(shè)計(jì)的步驟。2022-4-22223.3.1 先要有一個(gè)操作碼表先要有一個(gè)操作碼表 操作碼表是由計(jì)算機(jī)制造廠提操作碼表是由計(jì)算機(jī)制造廠提供的翻譯表,它是每個(gè)助記符供的翻譯表,它是每個(gè)助記符與二進(jìn)

25、制碼的相應(yīng)對照表。由與二進(jìn)制碼的相應(yīng)對照表。由于我們的計(jì)算機(jī)很簡單,只有于我們的計(jì)算機(jī)很簡單,只有5個(gè)助記符,列成對照表,比較個(gè)助記符,列成對照表,比較簡單易記。但如果指令系統(tǒng)很簡單易記。但如果指令系統(tǒng)很龐大的話,此表也就很大而不龐大的話,此表也就很大而不易記憶,因而就必須有特殊的易記憶,因而就必須有特殊的方法才能迅速可靠地使用它。方法才能迅速可靠地使用它。助助 記記 符符操操 作作 碼碼LDA0000ADD0001SUB0010OUT1110HLT1111表表3-1 助記符與操作碼對照助記符與操作碼對照2022-4-22233.3.2 存儲器分配存儲器分配 在本微型機(jī)中就是要把在本微型機(jī)中就

26、是要把PROM中的中的16個(gè)存儲單元個(gè)存儲單元分配成兩個(gè)區(qū):分配成兩個(gè)區(qū): 程序存放區(qū)程序存放區(qū)(指令區(qū)指令區(qū)) 數(shù)據(jù)存放區(qū)數(shù)據(jù)存放區(qū)(數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)) 區(qū)域區(qū)域作用作用指令區(qū)指令區(qū)數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)存儲單元存儲單元R0 - R7R8 - RF二進(jìn)制地址二進(jìn)制地1111十六進(jìn)制地址十六進(jìn)制地址0H - 7H8H - FH表表3-2 存儲器分配存儲器分配2022-4-22243.3.3 將源程序翻譯成目的程序?qū)⒃闯绦蚍g成目的程序 方法是方法是: 根據(jù)助記符與二進(jìn)制的對照表根據(jù)助記符與二進(jìn)制的對照表(操作碼表操作碼表)將上節(jié)例題中的將上節(jié)例題中的每條指令的助記符譯成二進(jìn)制碼

27、,并將存儲單元符號寫成地址碼每條指令的助記符譯成二進(jìn)制碼,并將存儲單元符號寫成地址碼(即即R00000,R10001,R91001),就成為下面的樣子,就成為下面的樣子源程序源程序 目的程序存儲單元目的程序存儲單元指指LDAR9 0 0 0 0 1 0 0 10 0 0 0 (R0)ADDRA0 0 0 1 1 0 1 00 0 0 1 (R1)令令A(yù)DDRB0 0 0 1 1 0 1 10 0 1 0 (R2)ADDRC0 0 0 1 1 1 0 00 0 1 1 (R3)區(qū)區(qū)SUB RD0 0 1 0 1 1 0 10 1 0 0 (R4)OUT 1 1 1 0 0 1 0 1 (R5)H

28、LT 1 1 1 1 0 1 1 0 (R6)2022-4-2225源程序源程序 目的程序目的程序 存儲單元存儲單元數(shù)數(shù)16100 0 0 1 0 0 0 01 0 0 1 (R9)20100 0 0 1 0 1 0 01 0 1 0 (RA)據(jù)據(jù)24100 0 0 1 1 0 0 01 0 1 1 (RB)28100 0 0 1 1 1 0 01 1 0 0 (RC)區(qū)區(qū)32100 0 1 0 0 0 0 01 1 0 1 (RD) 程序設(shè)計(jì)到這一步可以算完成了,下一步就可以將此程序按存儲程序設(shè)計(jì)到這一步可以算完成了,下一步就可以將此程序按存儲單元的地址順序存入計(jì)算機(jī)中。下面就以此為例介紹輸

29、入的方法。單元的地址順序存入計(jì)算機(jī)中。下面就以此為例介紹輸入的方法。2022-4-22263.3.4 程序及數(shù)據(jù)的輸入方法程序及數(shù)據(jù)的輸入方法 PROM既有既有ROM的特點(diǎn)的特點(diǎn)(即可以存入但以后不許再改寫而只即可以存入但以后不許再改寫而只許讀出許讀出)也有也有RAM的特點(diǎn)的特點(diǎn)(即可隨時(shí)寫入數(shù)據(jù),也可讀出數(shù)據(jù)即可隨時(shí)寫入數(shù)據(jù),也可讀出數(shù)據(jù))。 PROM分成兩區(qū),指令區(qū)一旦存入指令,就不許再改分成兩區(qū),指令區(qū)一旦存入指令,就不許再改(除非要除非要計(jì)算的公式改變了計(jì)算的公式改變了)。數(shù)據(jù)區(qū)是可以隨時(shí)存入要參與運(yùn)算的數(shù)據(jù),。數(shù)據(jù)區(qū)是可以隨時(shí)存入要參與運(yùn)算的數(shù)據(jù),并在計(jì)算過程中可以取出來。但無論如何

30、,在第一次安排程序并在計(jì)算過程中可以取出來。但無論如何,在第一次安排程序時(shí),都得把程序和數(shù)據(jù)存入。其方法就是將時(shí),都得把程序和數(shù)據(jù)存入。其方法就是將PROM的每個(gè)數(shù)據(jù)的每個(gè)數(shù)據(jù)位的開關(guān)撥向置位的開關(guān)撥向置0或置或置1的位置即可。的位置即可。2022-4-22273.3.4 程序及數(shù)據(jù)的輸入方法程序及數(shù)據(jù)的輸入方法 下圖就是這樣一個(gè)下圖就是這樣一個(gè)PROM的輸入裝置,其左邊是控制板上安裝的開關(guān),的輸入裝置,其左邊是控制板上安裝的開關(guān),每個(gè)存儲單元有每個(gè)存儲單元有8個(gè)開關(guān)。所以個(gè)開關(guān)。所以16個(gè)存儲單元個(gè)存儲單元(R0RF),就共有,就共有816=128個(gè)開關(guān)。右邊是根據(jù)例題而撥動的開關(guān)狀態(tài):個(gè)開

31、關(guān)。右邊是根據(jù)例題而撥動的開關(guān)狀態(tài):圖圖3.3 置置0開關(guān)撥開關(guān)撥向向斷開斷開的方向的方向 置置1開關(guān)撥開關(guān)撥向向接通接通的方向的方向2022-4-2228 括弧內(nèi)語句代表每一條指令,數(shù)字是參與運(yùn)算的十進(jìn)制數(shù)據(jù)。括弧內(nèi)語句代表每一條指令,數(shù)字是參與運(yùn)算的十進(jìn)制數(shù)據(jù)。 將目的碼輸入到將目的碼輸入到PROM中去,即撥動控制板上的開關(guān),使其成圖中去,即撥動控制板上的開關(guān),使其成圖3.3右邊右邊的狀態(tài)。的狀態(tài)。 其中打其中打的開關(guān)是隨意狀態(tài),因?yàn)榈拈_關(guān)是隨意狀態(tài),因?yàn)橛貌恢?,例如在用不著,例如?OUT1110 HLT1111 中,就是因?yàn)檫@兩條指令并不訪問中,就是因?yàn)檫@兩條指令并不訪問任何存儲單元,

32、所以任何存儲單元,所以R5及及R6的高的高4位位(將將要送至控制部件的要送至控制部件的)有二進(jìn)制碼指令,有二進(jìn)制碼指令,而低而低4位位(代表數(shù)據(jù)存放的存儲地址代表數(shù)據(jù)存放的存儲地址)可可以隨意。以隨意。2022-4-2229 這個(gè)例題在輸入這些數(shù)據(jù)之后就是要求演算這樣一個(gè)具體算術(shù)這個(gè)例題在輸入這些數(shù)據(jù)之后就是要求演算這樣一個(gè)具體算術(shù)題:題: D=16+20+24+28-32=? 在前面例題的計(jì)算程序設(shè)計(jì)好,并輸入至在前面例題的計(jì)算程序設(shè)計(jì)好,并輸入至PROM之后,就可以之后,就可以開始執(zhí)行程序了。程序執(zhí)行的第一步必須先使計(jì)算機(jī)復(fù)位,此時(shí)控開始執(zhí)行程序了。程序執(zhí)行的第一步必須先使計(jì)算機(jī)復(fù)位,此時(shí)

33、控制器先發(fā)出一個(gè)制器先發(fā)出一個(gè)CLR為高電位的脈沖,同時(shí)時(shí)鐘脈沖開始工作,即為高電位的脈沖,同時(shí)時(shí)鐘脈沖開始工作,即發(fā)出脈沖電壓系列到各個(gè)部件去。每一個(gè)發(fā)出脈沖電壓系列到各個(gè)部件去。每一個(gè)CLK脈沖都起到指揮各部脈沖都起到指揮各部件的同步運(yùn)行的作用。但究竟每個(gè)脈沖發(fā)出后,哪些部件應(yīng)起響應(yīng)件的同步運(yùn)行的作用。但究竟每個(gè)脈沖發(fā)出后,哪些部件應(yīng)起響應(yīng)作用,這就得由控制部件的控制字來決定了。作用,這就得由控制部件的控制字來決定了。2022-4-2230 關(guān)于控制字的產(chǎn)生和每一指令的執(zhí)行過程,將在下兩節(jié)詳加介紹。這關(guān)于控制字的產(chǎn)生和每一指令的執(zhí)行過程,將在下兩節(jié)詳加介紹。這里只是將上例執(zhí)行過程中間結(jié)果表

34、列出來。這樣可以看到每執(zhí)行一條指里只是將上例執(zhí)行過程中間結(jié)果表列出來。這樣可以看到每執(zhí)行一條指令后,累加器令后,累加器A中存放的數(shù)據(jù):中存放的數(shù)據(jù): 執(zhí)行執(zhí)行LDA 9H后后A=0001000016(10) 執(zhí)行執(zhí)行ADDAH后后A=0010010036(10) 執(zhí)行執(zhí)行ADDBH后后A=0011110060(10) 執(zhí)行執(zhí)行ADDCH后后A=0101100088(10) 執(zhí)行執(zhí)行SUB DH后后A=0011100056(10) 執(zhí)行執(zhí)行OUT 后后 D=0011 100056(10) 執(zhí)行執(zhí)行HLT 后后D=00111000(不變不變) 執(zhí)行執(zhí)行HLT(停機(jī)停機(jī))指令后,電源并不指令后,電源

35、并不切斷,只是切斷,只是CLK停停發(fā)脈沖,所以顯示發(fā)脈沖,所以顯示器器D上仍舊顯示出上仍舊顯示出計(jì)算結(jié)果。計(jì)算結(jié)果。2022-4-22313.4 執(zhí)行指令的例行程序執(zhí)行指令的例行程序 在程序和數(shù)據(jù)裝入之后,啟動按鈕將啟動信號傳給控制部件在程序和數(shù)據(jù)裝入之后,啟動按鈕將啟動信號傳給控制部件CON,然后控制部件產(chǎn)生控制字,以便取出和執(zhí)行每條指令。,然后控制部件產(chǎn)生控制字,以便取出和執(zhí)行每條指令。 執(zhí)行一條指令的時(shí)間為一個(gè)機(jī)器周期。機(jī)器周期又可分為取執(zhí)行一條指令的時(shí)間為一個(gè)機(jī)器周期。機(jī)器周期又可分為取指周期和執(zhí)行周期。取指過程和執(zhí)行過程機(jī)器都得通過不同的指周期和執(zhí)行周期。取指過程和執(zhí)行過程機(jī)器都得通

36、過不同的機(jī)器節(jié)拍。在這些節(jié)拍內(nèi),每個(gè)寄存器機(jī)器節(jié)拍。在這些節(jié)拍內(nèi),每個(gè)寄存器(PC,MAR,IR,A,B,O等等)的內(nèi)容可能發(fā)生變化。的內(nèi)容可能發(fā)生變化。 2022-4-22323.5 控制部件控制部件 控制部件是使計(jì)算機(jī)能夠成為自動機(jī)的關(guān)鍵部件。它包括下列控制部件是使計(jì)算機(jī)能夠成為自動機(jī)的關(guān)鍵部件。它包括下列主要部件:主要部件: (1) 環(huán)形計(jì)數(shù)器環(huán)形計(jì)數(shù)器(RC); (2) 指令譯碼器指令譯碼器(ID); (3) 控制矩陣控制矩陣(CM); (4) 其他控制電路。其他控制電路。 其中,環(huán)形計(jì)數(shù)器、指令譯碼器、控制矩陣稱為控制器。環(huán)形其中,環(huán)形計(jì)數(shù)器、指令譯碼器、控制矩陣稱為控制器。環(huán)形計(jì)數(shù)

37、器用以發(fā)出環(huán)形字,從而產(chǎn)生機(jī)器節(jié)拍。計(jì)數(shù)器用以發(fā)出環(huán)形字,從而產(chǎn)生機(jī)器節(jié)拍。2022-4-22333.5.1 指令譯碼器指令譯碼器 上面在介紹指令寄存器上面在介紹指令寄存器IR時(shí),曾指出進(jìn)入時(shí),曾指出進(jìn)入IR的數(shù)據(jù)的高的數(shù)據(jù)的高4位立即被送入控制部件。這高位立即被送入控制部件。這高4位就是各種控制動作的代位就是各種控制動作的代碼,比如:碼,比如:0000代表代表LDA的控制動作;的控制動作;0001代表代表ADD的控制動作;的控制動作;0010代表代表SUB的控制動作;的控制動作;1110代表代表OUT的控制動作;的控制動作;1111代表代表HLT的控制動作。的控制動作。2022-4-2234

38、 一個(gè)動作相當(dāng)于一條控制線,要一個(gè)動作相當(dāng)于一條控制線,要該動作實(shí)現(xiàn),就必須使該控制線為高該動作實(shí)現(xiàn),就必須使該控制線為高電位。因此,由電位。因此,由4個(gè)位組成的編碼,個(gè)位組成的編碼,必須被譯成一個(gè)信號,即譯為某一控必須被譯成一個(gè)信號,即譯為某一控制線為高電位,這就是譯碼器的任務(wù)。制線為高電位,這就是譯碼器的任務(wù)。譯碼器可以由與門和非門組成,圖譯碼器可以由與門和非門組成,圖3.5就是一個(gè)就是一個(gè)4位譯碼器。位譯碼器。4位應(yīng)該可以有位應(yīng)該可以有16種編碼的可能,由于我們的模擬機(jī)種編碼的可能,由于我們的模擬機(jī)功能簡單,只有功能簡單,只有5條指令,所以只需條指令,所以只需要要5個(gè)與門。個(gè)與門。圖圖3

39、.5 4位譯碼器電路位譯碼器電路2022-4-2235 由由PROM進(jìn)入到指令寄存器的進(jìn)入到指令寄存器的數(shù)據(jù)是數(shù)據(jù)是8位的,設(shè)為位的,設(shè)為I7I6I5I4I3I2I1I0,則其高則其高4位為:位為: I7I6I5I4 在指令為在指令為LDA時(shí),時(shí), I7I6I5I4=0000 此時(shí),加至指令譯碼器的輸入端的此時(shí),加至指令譯碼器的輸入端的 全是低電位,而各個(gè)非門的輸出則全是低電位,而各個(gè)非門的輸出則 全為高電位,所以與門全為高電位,所以與門1的四個(gè)輸入的四個(gè)輸入 端也全是高電位,故其輸出,即控制線端也全是高電位,故其輸出,即控制線LDA為高電位。為高電位。2022-4-2236 在指令為在指令為

40、ADD時(shí),時(shí),I7I6I5I4=0001 此時(shí),加于指令譯碼器的輸入端的此時(shí),加于指令譯碼器的輸入端的左三個(gè)左三個(gè)(I7I6I5)為低電位,而右一個(gè)為低電位,而右一個(gè)(I4)為高電位。而與門為高電位。而與門2的上邊一條輸入線的上邊一條輸入線不接至非門而直接與不接至非門而直接與I4相接,所以是相接,所以是高電位。與門高電位。與門2的其他的其他3條輸入線都接條輸入線都接至非門,所以也是高電位。因此,與至非門,所以也是高電位。因此,與門門2的的4個(gè)輸入端全為高電位,故其輸個(gè)輸入端全為高電位,故其輸出,即控制線出,即控制線ADD為高電位為高電位.2022-4-2237 其他各與門的接法,也是循此規(guī)律。

41、其他各與門的接法,也是循此規(guī)律。如在指令如在指令SUB時(shí),時(shí),I7I6I5I4=0010,則與,則與門門3應(yīng)有一個(gè)輸入線直接接至應(yīng)有一個(gè)輸入線直接接至I5,其他,其他各線則接至非門。各線則接至非門。 也就是說,哪一位為也就是說,哪一位為0(低電位低電位),則,則與門與該位相連的輸入線應(yīng)接至其非與門與該位相連的輸入線應(yīng)接至其非門;否則,直接接至該位。門;否則,直接接至該位。 輸出為輸出為OUT和和HLT的控制線與門輸?shù)目刂凭€與門輸入線的接法,就是按這個(gè)規(guī)律接的。入線的接法,就是按這個(gè)規(guī)律接的。2022-4-22383.5.2 控制矩陣控制矩陣 譯碼器能將編碼信息譯成某一控制線為高電位,試看一下上

42、面譯碼器能將編碼信息譯成某一控制線為高電位,試看一下上面的控制字。每一節(jié)拍大都要求兩個(gè)控制字位為高電位,雖然也有的控制字。每一節(jié)拍大都要求兩個(gè)控制字位為高電位,雖然也有一位為高電位的一位為高電位的(如如CP=1),但只要不是一位的就要求,但只要不是一位的就要求2位或位或3位為位為高電位。而控制字有高電位。而控制字有12位,每一指令要執(zhí)行位,每一指令要執(zhí)行6拍拍,每拍均有不同的每拍均有不同的位為高電位,這又如何實(shí)現(xiàn)呢位為高電位,這又如何實(shí)現(xiàn)呢? 控制矩陣就是為了解決這個(gè)問題的,所以控制矩陣是控制部件控制矩陣就是為了解決這個(gè)問題的,所以控制矩陣是控制部件的核心。圖的核心。圖3.6就是這樣一個(gè)控制矩

43、陣就是這樣一個(gè)控制矩陣(CM)。2022-4-2239 最上面部分是一個(gè)環(huán)形計(jì)數(shù)器,它使最上面部分是一個(gè)環(huán)形計(jì)數(shù)器,它使T0至至T5的的6根橫線輪流為高電位;中間根橫線輪流為高電位;中間4根橫線根橫線為指令控制信號線。它們的電位高低是由上面的譯碼器決定的最下面部分是由為指令控制信號線。它們的電位高低是由上面的譯碼器決定的最下面部分是由19個(gè)與個(gè)與門和門和6個(gè)或門組成一個(gè)邏輯電路。這個(gè)電路共有個(gè)或門組成一個(gè)邏輯電路。這個(gè)電路共有12個(gè)輸出端,就是控制字個(gè)輸出端,就是控制字CON圖圖3.6 控制控制矩陣矩陣CMCON= CPEPIMERLIEILAEASUEULBLO2022-4-2240 開機(jī)前

44、總是先使開機(jī)前總是先使CLR為高電位,則此時(shí)環(huán)形計(jì)數(shù)器復(fù)位至為高電位,則此時(shí)環(huán)形計(jì)數(shù)器復(fù)位至T0=1,其他各位為其他各位為0。這就是說,。這就是說,每一節(jié)拍都是從每一節(jié)拍都是從T0開始的開始的。2022-4-2241 如果從譯碼器來的譯碼結(jié)果是使如果從譯碼器來的譯碼結(jié)果是使LDA=1,看一下這條指令的,看一下這條指令的6個(gè)節(jié)個(gè)節(jié)拍中拍中6個(gè)控制字是怎樣實(shí)現(xiàn)的。個(gè)控制字是怎樣實(shí)現(xiàn)的。T0=1時(shí)時(shí),EP=1;LM=1。(因?yàn)橐驗(yàn)門0直接接至直接接至EP并通過或門并通過或門I接至接至LM)2022-4-2242T1=1時(shí)時(shí),LI=1(因?yàn)橐驗(yàn)長I端與端與T1直接相連直接相連); ER=1(因?yàn)橐驗(yàn)門

45、1通過或門通過或門至至ER端端)。2022-4-2243T2=1時(shí)時(shí),CP=1(因?yàn)橐驗(yàn)門2直接通至直接通至CP端端)。2022-4-2244T3=1時(shí)時(shí),LM=1(因?yàn)榕c門因?yàn)榕c門1的兩個(gè)輸入都是高電位,使或門的兩個(gè)輸入都是高電位,使或門導(dǎo)通導(dǎo)通) EI=1(因?yàn)榕c門因?yàn)榕c門7的兩個(gè)輸入都是高電位,使或門的兩個(gè)輸入都是高電位,使或門導(dǎo)通導(dǎo)通)2022-4-2245T4=1時(shí)時(shí),ER=1(因?yàn)榕c門因?yàn)榕c門4的兩個(gè)輸入都是高電位,使或門的兩個(gè)輸入都是高電位,使或門導(dǎo)通導(dǎo)通) LA=1(因?yàn)榕c門因?yàn)榕c門10的兩個(gè)輸入都是高電位,使或門的兩個(gè)輸入都是高電位,使或門導(dǎo)通導(dǎo)通)T5=1時(shí)時(shí),沒有任何位為

46、高電位,沒有任何位為高電位(空拍空拍)。2022-4-2246 5條指令的控制器就已經(jīng)這么復(fù)雜,由此可知要擴(kuò)大指令系統(tǒng),條指令的控制器就已經(jīng)這么復(fù)雜,由此可知要擴(kuò)大指令系統(tǒng),其控制矩陣的結(jié)構(gòu)以及設(shè)計(jì)上的問題是相當(dāng)復(fù)雜的。這樣從結(jié)構(gòu)其控制矩陣的結(jié)構(gòu)以及設(shè)計(jì)上的問題是相當(dāng)復(fù)雜的。這樣從結(jié)構(gòu)上用邏輯電路的方法來實(shí)現(xiàn)控制字的方法稱為上用邏輯電路的方法來實(shí)現(xiàn)控制字的方法稱為硬件方法硬件方法。 也有用軟件來實(shí)現(xiàn)這個(gè)目標(biāo)的,尤其在指令系統(tǒng)較大,控制也有用軟件來實(shí)現(xiàn)這個(gè)目標(biāo)的,尤其在指令系統(tǒng)較大,控制字較長字較長(即位數(shù)很多即位數(shù)很多)的情況下,常用軟件方法來實(shí)現(xiàn)的情況下,常用軟件方法來實(shí)現(xiàn)這就是所這就是所謂

47、謂微程序法微程序法。2022-4-22473.5.3 其他控制電路其他控制電路 上面由環(huán)形計(jì)數(shù)器、控制矩陣及指令譯碼器組成的部分稱為控上面由環(huán)形計(jì)數(shù)器、控制矩陣及指令譯碼器組成的部分稱為控制器。為了實(shí)現(xiàn)控制動作,還需要下述幾個(gè)電路制器。為了實(shí)現(xiàn)控制動作,還需要下述幾個(gè)電路(見圖見圖3.7).圖圖3.7 控控 制制 部部 件件 的的 結(jié)結(jié) 構(gòu)構(gòu) 圖圖2022-4-2248 時(shí)鐘脈沖發(fā)生器時(shí)鐘脈沖發(fā)生器這一般可分成兩部分,即時(shí)鐘振蕩器及射極跟隨器。這一般可分成兩部分,即時(shí)鐘振蕩器及射極跟隨器。前者一般都是石英晶體振蕩器,后者則用以降低輸出電阻,因?yàn)闀r(shí)鐘脈沖前者一般都是石英晶體振蕩器,后者則用以降低

48、輸出電阻,因?yàn)闀r(shí)鐘脈沖發(fā)生器要同時(shí)推動很多的電路,這樣可以輸出更大的電流。發(fā)生器要同時(shí)推動很多的電路,這樣可以輸出更大的電流。2022-4-2249 運(yùn)行運(yùn)行/停車觸發(fā)器停車觸發(fā)器這個(gè)電路既接收來自按鈕的這個(gè)電路既接收來自按鈕的“運(yùn)行運(yùn)行”脈沖信號,脈沖信號,也接收來自指令譯碼器的也接收來自指令譯碼器的“HLT”停車信號,而其輸出就去啟動時(shí)鐘停車信號,而其輸出就去啟動時(shí)鐘振蕩器。振蕩器。 “啟動啟動”和和“清除清除”按鈕按鈕這是由人直接操作的主令電器,命令這是由人直接操作的主令電器,命令都是由此開始的。都是由此開始的。右圖只用方塊圖展示控制部件右圖只用方塊圖展示控制部件各個(gè)電路間的關(guān)系。每一個(gè)

49、方各個(gè)電路間的關(guān)系。每一個(gè)方塊圖較詳細(xì)的電路塊圖較詳細(xì)的電路在微電子學(xué)在微電子學(xué)及晶體管電路的書及晶體管電路的書都可見到,都可見到,這里就不細(xì)加介紹了。這里就不細(xì)加介紹了。2022-4-22503.6 微型計(jì)算機(jī)功能的擴(kuò)展微型計(jì)算機(jī)功能的擴(kuò)展 上面介紹的微機(jī)功能太少,實(shí)際上沒有什么用處,只能作為教學(xué)上面介紹的微機(jī)功能太少,實(shí)際上沒有什么用處,只能作為教學(xué)模型,引導(dǎo)入門。功能不足的原因,首先是硬件過于簡單,尤其是模型,引導(dǎo)入門。功能不足的原因,首先是硬件過于簡單,尤其是控制部件只能接受控制部件只能接受5條指令而產(chǎn)生相應(yīng)的例行程序。為了擴(kuò)大計(jì)算機(jī)條指令而產(chǎn)生相應(yīng)的例行程序。為了擴(kuò)大計(jì)算機(jī)的功能,應(yīng)

50、該擴(kuò)大指令系統(tǒng)。其次是軟件開發(fā)的功能,應(yīng)該擴(kuò)大指令系統(tǒng)。其次是軟件開發(fā), 利用現(xiàn)有的指令系統(tǒng),利用現(xiàn)有的指令系統(tǒng),經(jīng)過靈活的編程解決更多更復(fù)雜的問題。經(jīng)過靈活的編程解決更多更復(fù)雜的問題。 計(jì)算機(jī)的功能在很大程度上取決于中央處理器部分,而后者的功計(jì)算機(jī)的功能在很大程度上取決于中央處理器部分,而后者的功能又取決于其控制器的功能。此外,其他基本組成電路能又取決于其控制器的功能。此外,其他基本組成電路,如算術(shù)邏輯如算術(shù)邏輯部件部件(ALU)、寄存器的個(gè)數(shù)等,都必須作相應(yīng)的改進(jìn)、寄存器的個(gè)數(shù)等,都必須作相應(yīng)的改進(jìn),才能擴(kuò)展計(jì)算才能擴(kuò)展計(jì)算機(jī)的功能。下面幾節(jié)就是進(jìn)一步接近現(xiàn)代微型計(jì)算機(jī)的過渡章節(jié)。機(jī)的功能

51、。下面幾節(jié)就是進(jìn)一步接近現(xiàn)代微型計(jì)算機(jī)的過渡章節(jié)。2022-4-2251 右圖右圖3.8就是擴(kuò)充了功能的微機(jī)結(jié)構(gòu)圖,就是擴(kuò)充了功能的微機(jī)結(jié)構(gòu)圖,其基本結(jié)構(gòu)和圖其基本結(jié)構(gòu)和圖3.1的簡易機(jī)是相似的?,F(xiàn)的簡易機(jī)是相似的。現(xiàn)在只介紹有區(qū)別的組件。在只介紹有區(qū)別的組件。 這個(gè)功能更大的微型計(jì)算機(jī),在硬件這個(gè)功能更大的微型計(jì)算機(jī),在硬件上增加不多,只是擴(kuò)展了算術(shù)邏輯部件和上增加不多,只是擴(kuò)展了算術(shù)邏輯部件和控制器的功能。這樣,就既可能進(jìn)行邏輯控制器的功能。這樣,就既可能進(jìn)行邏輯運(yùn)算,也有跳轉(zhuǎn)和循環(huán)運(yùn)算的功能。由于運(yùn)算,也有跳轉(zhuǎn)和循環(huán)運(yùn)算的功能。由于控制器的增強(qiáng),指令系統(tǒng)已擴(kuò)大到控制器的增強(qiáng),指令系統(tǒng)已擴(kuò)

52、大到28條指條指令,這樣的計(jì)算機(jī)更接近于現(xiàn)代的微機(jī)。令,這樣的計(jì)算機(jī)更接近于現(xiàn)代的微機(jī)。 2022-4-22521. 子程序計(jì)數(shù)器子程序計(jì)數(shù)器SC 它本身也相當(dāng)于一個(gè)程序計(jì)數(shù)器,不過它不由它本身也相當(dāng)于一個(gè)程序計(jì)數(shù)器,不過它不由CLR來清零,而來清零,而可由可由LS門來置數(shù)門來置數(shù).一旦置數(shù),即為其子程序的開始地址。一旦置數(shù),即為其子程序的開始地址。 SC的位數(shù)為的位數(shù)為8位。位。 LS“裝入裝入”的可控門;的可控門; ES“輸出輸出”的可控門,即的可控門,即3態(tài)門;態(tài)門; CS“計(jì)數(shù)計(jì)數(shù)”的控制端。的控制端。2022-4-2253 2. 程序計(jì)數(shù)器程序計(jì)數(shù)器PC PC增加了一個(gè)增加了一個(gè)LP

53、門,這就使得門,這就使得PC可以接收跳轉(zhuǎn)地址。這樣擴(kuò)可以接收跳轉(zhuǎn)地址。這樣擴(kuò)大了計(jì)算機(jī)的功能,換句話說,大了計(jì)算機(jī)的功能,換句話說, PC可以不從可以不從00H開始。開始。2022-4-22543. 隨機(jī)存取存儲器隨機(jī)存取存儲器RAM 采 用采 用 RAM 作 為 主 存 儲 器 。作 為 主 存 儲 器 。RAM的存儲單元為的存儲單元為256個(gè),字長為個(gè),字長為12位。因?yàn)榭梢噪S機(jī)存取,故除位。因?yàn)榭梢噪S機(jī)存取,故除MAR(存儲地址寄存器存儲地址寄存器)外,還得有外,還得有一個(gè)一個(gè)MDR(存儲數(shù)據(jù)寄存器存儲數(shù)據(jù)寄存器)。2022-4-22554. 控制部件控制部件CON 此此CON將要產(chǎn)生一

54、個(gè)將要產(chǎn)生一個(gè)28位的控制字:位的控制字: LSCSESLPCPEPLMWEMELDEDLIEILNENLAEAS3S2S1S0EULBLXINXDEXEXLO2022-4-22565. 算術(shù)邏輯部件算術(shù)邏輯部件ALU簡化的簡化的ALU是一個(gè)二進(jìn)制補(bǔ)碼加法是一個(gè)二進(jìn)制補(bǔ)碼加法器器/減法器。只有算術(shù)加法及減法兩減法器。只有算術(shù)加法及減法兩種運(yùn)算。其控制端為種運(yùn)算。其控制端為Su,即只有一位。,即只有一位??刂贫烁臑榭刂贫烁臑镾=S3S2S1S0,即有,即有4位。位。4位就有位就有16種可能的組合,本機(jī)只用種可能的組合,本機(jī)只用其中的其中的10種,以得到種,以得到3種算術(shù)運(yùn)算種算術(shù)運(yùn)算和和7種邏輯

55、運(yùn)算種邏輯運(yùn)算。運(yùn)運(yùn) 算算助助 記記 符符S=S3S2S1S0空操作空操作NOP0000加法運(yùn)算加法運(yùn)算ADD0001減法運(yùn)算減法運(yùn)算SUB0010累加器求反累加器求反CMA0011B寄存器求反寄存器求反CMB0100或運(yùn)算或運(yùn)算LOR0101與運(yùn)算與運(yùn)算AND0110或非運(yùn)算或非運(yùn)算NOR0111與非運(yùn)算與非運(yùn)算NAN1000異或運(yùn)算異或運(yùn)算XOR1001表表3-4 ALU的運(yùn)算功能的運(yùn)算功能2022-4-22576. 變址寄存器變址寄存器X這是新增加的一種寄存器,它可以用指令使其加這是新增加的一種寄存器,它可以用指令使其加1或減或減1: INX加加1指令助記符,其控制端符號為指令助記符,其

56、控制端符號為INX; DEX減減1指令助記符,其控制端符號為指令助記符,其控制端符號為DEX。2022-4-22587. 指令寄存器指令寄存器IR 這是一個(gè)這是一個(gè)12位的寄存器,其指令字段和地址字段的位數(shù)位的寄存器,其指令字段和地址字段的位數(shù)不是不是固定固定不變的。不變的。 在在訪問存儲器指令訪問存儲器指令(MRI)和轉(zhuǎn)移指令的執(zhí)行期間和轉(zhuǎn)移指令的執(zhí)行期間,高,高4位代表指位代表指令字段,低令字段,低8位代表地址字段。所以高位代表地址字段。所以高4位要被送到位要被送到CON去分析,而去分析,而低低8位被送到位被送到W總線上去:總線上去:2022-4-2259(MSB4位位)(LSB8位位)C

57、ONW總線總線 在在運(yùn)算指令執(zhí)行期間運(yùn)算指令執(zhí)行期間,高,高8位代表指令字段;因?yàn)榈臀淮碇噶钭侄?;因?yàn)榈?位不代表任何位不代表任何意義,所以它可以是任意數(shù):意義,所以它可以是任意數(shù):(MSB8位位)(LSB4位位) CON 不用不用 關(guān)于訪問存儲器的指令、轉(zhuǎn)移和運(yùn)算指令的定義,下面討論關(guān)于訪問存儲器的指令、轉(zhuǎn)移和運(yùn)算指令的定義,下面討論.2022-4-2260 本機(jī)共有本機(jī)共有28條指令,可分為條指令,可分為3類類1. 訪問存儲器指令訪問存儲器指令(memory reference instruction,縮寫為縮寫為MRI) 這些指令都與存儲器的讀這些指令都與存儲器的讀/寫有關(guān),所以其地址

58、字段必須為寫有關(guān),所以其地址字段必須為8位位(256個(gè)地個(gè)地址址)。訪問存儲器指令的特點(diǎn)是:由指令寄存器分出來的地址字段。訪問存儲器指令的特點(diǎn)是:由指令寄存器分出來的地址字段(8位的位的地址字段地址字段)必定進(jìn)入必定進(jìn)入MAR(存儲器地址寄存器存儲器地址寄存器),這就能夠識別出這就能夠識別出MRI這類這類指令。指令。助記符助記符操作碼操作碼操作數(shù)操作數(shù)意意 義義LDA0000nn將地址將地址nn的內(nèi)容裝入的內(nèi)容裝入AADD0001nn將地址將地址nn的內(nèi)容與的內(nèi)容與A相加相加SUB0010nn將地址將地址nn的內(nèi)容與的內(nèi)容與A相減相減STA0011nn將將A中內(nèi)容存入地址中內(nèi)容存入地址nn中去

59、中去LDB0100nn將地址將地址nn的內(nèi)容裝入的內(nèi)容裝入BLDX0101nn將地址將地址nn的內(nèi)容裝入的內(nèi)容裝入X表表3-5 訪問存儲器指令訪問存儲器指令 ( 指令共六條,一個(gè)指令共六條,一個(gè)n表表示一個(gè)示一個(gè)4位二進(jìn)制數(shù)位二進(jìn)制數(shù), nn 代表存儲器單元的地址代表存儲器單元的地址 )2022-4-2261 2. 轉(zhuǎn)移指令轉(zhuǎn)移指令 可改變程序的順序。有了這類指令,就可以在規(guī)定的某種條件下將程可改變程序的順序。有了這類指令,就可以在規(guī)定的某種條件下將程序進(jìn)程向前轉(zhuǎn)移或向后轉(zhuǎn)移,也可跳過若干條指令語句或者執(zhí)行完某個(gè)序進(jìn)程向前轉(zhuǎn)移或向后轉(zhuǎn)移,也可跳過若干條指令語句或者執(zhí)行完某個(gè)子程序之后再回至下一

60、條指令語句。子程序之后再回至下一條指令語句。 轉(zhuǎn)移指令也有六條,其特點(diǎn)是由指令寄存器轉(zhuǎn)移指令也有六條,其特點(diǎn)是由指令寄存器IR分出來的地址段分出來的地址段(8位位)將將進(jìn)入程序計(jì)數(shù)器進(jìn)入程序計(jì)數(shù)器PC(即即LP=1),或子程序計(jì)數(shù)器,或子程序計(jì)數(shù)器(LS=1)。助記符助記符操作碼操作碼操作數(shù)操作數(shù)意意 義義JMP0110nn無條件轉(zhuǎn)移至程序無條件轉(zhuǎn)移至程序nnJAM0111nn(A)=負(fù)則轉(zhuǎn)移至程序負(fù)則轉(zhuǎn)移至程序nnJAZ1000nn(A)=0則轉(zhuǎn)移至程序則轉(zhuǎn)移至程序nnJIM1001nn(X)=負(fù)則轉(zhuǎn)移至程序負(fù)則轉(zhuǎn)移至程序nnJIZ1010nn(X)=0則轉(zhuǎn)移至程序則轉(zhuǎn)移至程序nnJMS10

溫馨提示

  • 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

提交評論