久久无码高潮喷水抽搐,极品馒头泬19p,久久人人爽精品玩人妻av,精品国产成人国产在线视,精品视频一区二区三区在线观看

最新更新最新專題

您的位置:首頁 > ppt下載 > PPT課件 > 學(xué)校PPT > 機(jī)械工程制圖PPT課件

機(jī)械工程制圖PPT課件下載

素材大。
1007.00 MB
素材授權(quán):
免費(fèi)下載
素材格式:
.ppt
素材上傳:
ppt
上傳時(shí)間:
2018-05-10
素材編號:
116493
素材類別:
學(xué)校PPT

素材預(yù)覽

機(jī)械工程制圖PPT課件

這是一個(gè)關(guān)于機(jī)械工程制圖PPT課件,主要介紹微型計(jì)算機(jī)結(jié)構(gòu)的簡化形式、指令系統(tǒng)、程序設(shè)計(jì)、執(zhí)行指令的例行程序。微型計(jì)算機(jī)這種基本功能從電路原理來理解就是信息在各個(gè)部件間的流通問題。在第2章中已講到總線結(jié)構(gòu)及信息流通的過程,在整個(gè)微型計(jì)算機(jī)中、信息量是很大的,部件數(shù)也是很多的,如何做到各個(gè)信息和部件之間能夠“循序漸進(jìn)、各得其所、有條不紊、快而不亂”呢?這就是微型計(jì)算機(jī)基本工作原理所要解答的問題。本章將以一個(gè)簡化了的微型計(jì)算機(jī)作為分析對象,逐步講述一般計(jì)算機(jī)的各種基本功能,從而概括出微型計(jì)算機(jī)的基本工作原理。在分析過程中,陸續(xù)介紹各個(gè)基本電路和部件之間的信息流通過程,指令系統(tǒng)的意義,程序設(shè)計(jì)的步驟,控制部件的功能及其結(jié)構(gòu),還有控制矩陣產(chǎn)生控制字的過程等等,同時(shí)對例行程序作較詳細(xì)的闡述。這樣就可以對微型計(jì)算機(jī)的基本工作原理有一個(gè)比較完整的概念,歡迎點(diǎn)擊下載機(jī)械工程制圖PPT課件哦。

機(jī)械工程制圖PPT課件是由紅軟PPT免費(fèi)下載網(wǎng)推薦的一款學(xué)校PPT類型的PowerPoint.

第3章 微型計(jì)算機(jī)的基本工作原理 3.1 微型計(jì)算機(jī)結(jié)構(gòu)的簡化形式 3.2 指令系統(tǒng) 3.3 程序設(shè)計(jì) 3.4 執(zhí)行指令的例行程序 3.5 控制部件 3.6 微型計(jì)算機(jī)功能的擴(kuò)展 3.7 初級程序設(shè)計(jì)舉例 3.8 控制部件的擴(kuò)展 3.9 現(xiàn)代技術(shù)在微型計(jì)算機(jī)中的應(yīng)用習(xí)題 一個(gè)實(shí)際的微型計(jì)算機(jī)的電路結(jié)構(gòu)是相當(dāng)復(fù)雜的。要了解其工作原理就必須將其分解為若干電路環(huán)節(jié),或若干大塊;每大塊又由若干電路部件組成;每個(gè)電路部件又由若干微電子元器件組成……對初次接觸微型計(jì)算機(jī)的讀者,如果從一個(gè)實(shí)際微型計(jì)算機(jī)出發(fā)來講解其工作原理,則會事倍功半。因此,本書擬從微型計(jì)算機(jī)的最基本功能出發(fā)講解其電路工作原理,以在有限的學(xué)時(shí)內(nèi)給讀者一個(gè)較完整的概念,然后在以下各章中逐步完善實(shí)際微型計(jì)算機(jī)的全貌。微型計(jì)算機(jī)的基本功能可概括為“三能一快”:能運(yùn)算(加、減、乘、除)、能判別(大于、小于、等于、真、假)及能決策(根據(jù)判別來決定下一步的工作)。但所有這些“能”的過程都必須建立在“快”的基礎(chǔ)上才能有實(shí)際意義。 微型計(jì)算機(jī)這種基本功能從電路原理來理解就是信息在各個(gè)部件間的流通問題。在第2章中已講到總線結(jié)構(gòu)及信息流通的過程,在整個(gè)微型計(jì)算機(jī)中、信息量是很大的,部件數(shù)也是很多的,如何做到各個(gè)信息和部件之間能夠“循序漸進(jìn)、各得其所、有條不紊、快而不亂”呢?這就是微型計(jì)算機(jī)基本工作原理所要解答的問題。本章將以一個(gè)簡化了的微型計(jì)算機(jī)作為分析對象,逐步講述一般計(jì)算機(jī)的各種基本功能,從而概括出微型計(jì)算機(jī)的基本工作原理。在分析過程中,陸續(xù)介紹各個(gè)基本電路和部件之間的信息流通過程,指令系統(tǒng)的意義,程序設(shè)計(jì)的步驟,控制部件的功能及其結(jié)構(gòu),還有控制矩陣產(chǎn)生控制字的過程等等,同時(shí)對例行程序作較詳細(xì)的闡述。這樣就可以對微型計(jì)算機(jī)的基本工作原理有一個(gè)比較完整的概念。 3.1 微型計(jì)算機(jī)結(jié)構(gòu)的簡化形式 為了易于分析和理解,我們先來介紹一個(gè)簡化了的微型計(jì)算機(jī)。如圖3.1(a)所示,其硬件結(jié)構(gòu)特點(diǎn)如下: (1) 功能簡單:只能做兩個(gè)數(shù)的加減法。 (2) 內(nèi)存量。褐挥幸粋(gè)16×8PROM(可編程序只讀存儲器)。 (3) 字長8位:二進(jìn)制8位顯示。 (4) 手動輸入:用撥動開關(guān)輸入程序和數(shù)據(jù)。 雖然如此簡單,但已具備了一個(gè)可編程序計(jì)算機(jī)的雛型,麻雀雖小,五臟俱全。尤其是有關(guān)控制矩陣和控制部件的控制過程和電路原理的分析,更有助于初學(xué)者領(lǐng)會計(jì)算機(jī)的原理。本節(jié)先對各個(gè)部件略作解釋,以后各節(jié)再逐步深入分析其工作過程。 1. 程序計(jì)數(shù)器PC 計(jì)數(shù)范圍由0000~1111(用十六進(jìn)制可記作由0~F)。每次運(yùn)行之前,先復(fù)位至0000。當(dāng)取出一條指令后,PC應(yīng)加1。 2. 存儲地址寄存器MAR 接收來自PC的二進(jìn)制程序號,作為地址碼送至PROM去。 3. 可編程序只讀存儲器PROM 其原理如圖3.2所示。這是一個(gè)4×4PROM,它和圖2.30的ROM之不同點(diǎn)是:每條橫線與豎線都有一條由開關(guān)和二極管串聯(lián)的電路將它們連接起來。因此,只要撥動開關(guān),即可使該數(shù)據(jù)位置1或置0,從而達(dá)到使每個(gè)存儲單元“寫入”數(shù)據(jù)的目的。因而稱這種ROM為可編程序ROM。PROM實(shí)際上同時(shí)具有RAM和ROM的功能。這里為了簡化作圖而只用4×4PROM的圖,如是16×8PROM,則其橫線應(yīng)為16條(R0~R15),豎線為8條(D7D6…D0),地址碼線則相應(yīng)地應(yīng)為4條(A3A2A1A0)。 4. 指令寄存器IR IR從PROM接收到指令字(當(dāng)LI=1,ER=1),同時(shí)將指令字分送到控制部件CON和W總線上去。指令字是8位的:   ××××  ××××     MSB    LSB 最高有效位最低有效位左4位為最高有效位(高4位),稱為指令字段;右4位為最低有效位(低4位),稱為地址字段。 5. 控制部件CON 其功能如下: (1) 每次運(yùn)行之前,CON先發(fā)出CLR=1,使有關(guān)的部件清0。此時(shí):       PC=0000        IR=0000 0000 (2) CON有一個(gè)同步時(shí)鐘,能發(fā)出脈沖CLK到各個(gè)部件去,使它們同步運(yùn)行。 (3) 在CON中有一個(gè)控制矩陣CM,能根據(jù)IR送來的指令發(fā)出12位的控制字:  CON=CPEPLMERLIEILAEASUEULBLO 根據(jù)控制字中各位的置1或置0情況,計(jì)算機(jī)就能自動地按指令程序而有秩序地運(yùn)行。 6. 累加器A 用以儲存計(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門的控制。 7. 算術(shù)邏輯部件ALU 它只是一個(gè)二進(jìn)制補(bǔ)碼加法器/減法器(參見圖1.9)。當(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門控制。 9. 輸出寄存器O 計(jì)算機(jī)運(yùn)行結(jié)束時(shí),累加器A中存有答案。如要輸出此答案,就得送入O。此時(shí)EA=1,LO=1,則O=A。典型的計(jì)算機(jī)具有若干個(gè)輸出寄存器,稱為輸出接口電路。這樣就可以驅(qū)動不同的外圍設(shè)備,如打印機(jī)、顯示器等。 10. 二進(jìn)制顯示器D 這是用發(fā)光二極管(LED)組成的顯示器。每一個(gè)LED接到寄存器O的一位上去。當(dāng)某位為高電位時(shí),則該LED發(fā)光。因?yàn)榧拇嫫鱋是8位的,所以這里也由8個(gè)LED組成顯示器。 這種結(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è)備)。中央處理器(central processing unit,縮寫為CPU)是將程序計(jì)數(shù)功能(PC)、指令寄存功能(IR)、控制功能(CON)、算術(shù)邏輯功能(ALU)以及暫存中間數(shù)據(jù)功能(A及B)集成在一塊電路器件上的集成電路(IC)。實(shí)用上的CPU要比這里的圖例更為復(fù)雜些,但其主要功能是基本一樣的。 存儲器M(memory)在此圖例中只包括存儲地址寄存器(MAR)及可編程存儲器(實(shí)際還包括了地址譯碼功能),這就是微型計(jì)算機(jī)的“內(nèi)存”。實(shí)際的“內(nèi)存”要包括更多的內(nèi)容(如ROM,RAM及EPROM等)和更大的存儲容量。輸入及輸出接口(I/O)是計(jì)算機(jī)實(shí)行人機(jī)對話的重要部件。本簡例中的輸入將是人工設(shè)定PROM(見3.3節(jié)的闡述)而沒有輸入電路接口只有輸出有接口(O)。實(shí)際微型計(jì)算機(jī)的輸入設(shè)備多為鍵盤,輸出則為監(jiān)視器(即電視屏顯示器),因而必須有專用的輸出接口電路。 3.2 指令系統(tǒng) 指令系統(tǒng)就是用來編制計(jì)算程序的一個(gè)指令集合。在未編制出計(jì)算程序之前,計(jì)算機(jī)是一堆無價(jià)值的電路硬件。這臺微型機(jī)有5條指令,即其控制部件能完成一系列例行程序以執(zhí)行5種命令: LDA——將數(shù)據(jù)裝入累加器A; ADD——進(jìn)行加法運(yùn)算; SUB——進(jìn)行減法運(yùn)算; OUT——輸出結(jié)果; HLT——停機(jī)。這5條指令在一起就稱為這臺計(jì)算機(jī)的指令系統(tǒng)。 不同型號的微處理機(jī)的指令系統(tǒng)是不同的,指令的條數(shù)也不相同。例如,Z80型的指令系統(tǒng)可達(dá)158條,M6800型有72條,6502型則有56條指令,而Intel 80386則為152條。下面用一個(gè)計(jì)算程序的指令清單來解釋這幾條指令的用法,以便初學(xué)者更易于體會其意義。例如一個(gè)計(jì)算程序的格式如下:助記符  操作數(shù)   注釋 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ù),即結(jié)果 HLT   ;  停機(jī)這樣的格式稱為用匯編語言寫的匯編語言程序。最左邊的符號稱為助記符,中間的符號R9,RA等稱為操作數(shù),在“;”之后的稱為注釋,每一行就是一條指令。執(zhí)行第1條指令的結(jié)果:(A)=(R9) 執(zhí)行第2條指令的結(jié)果:(A)=(R9)+(RA) 執(zhí)行第3條指令的結(jié)果:(A)=(R9)+(RA)+(RB) 執(zhí)行第4條指令的結(jié)果:(A)=(R9)+(RA)+(RB)+(RC) 執(zhí)行第5條指令的結(jié)果:(A)=(R9)+(RA)+(RB)+(RC)-(RD) 執(zhí)行第6條指令的結(jié)果:(D)=(A) 執(zhí)行第7條指令的結(jié)果:CLK停止發(fā)脈沖 上面加括號的意義是指被括上的寄存器或存儲單元的內(nèi)容。如(A)是指累加器A中的內(nèi)容,(D)是指顯示器顯示出的數(shù)據(jù),(R9)是存儲單元R9中的數(shù)據(jù),等等。最后一條指令,使時(shí)鐘脈沖停發(fā),則計(jì)算機(jī)停止運(yùn)行,但電源未切斷,所以顯示器中仍繼續(xù)顯示計(jì)算的結(jié)果。 3.3 程序設(shè)計(jì) 上節(jié)所列的是求幾個(gè)數(shù)加減過程的指令清單。寫出這個(gè)清單,只能說明你已把要計(jì)算的題目的計(jì)算步驟列出來了。如果這臺計(jì)算機(jī)能“認(rèn)識”你用匯編語言寫出來的匯編程序,就可以直接輸入上面這個(gè)指令清單,計(jì)算機(jī)內(nèi)部有編譯程序自動將這個(gè)清單上的每一條指令翻譯成機(jī)器碼而使計(jì)算機(jī)工作起來。但本章介紹的是最簡單的微型計(jì)算機(jī),它不“認(rèn)識”你所寫的匯編程序。因此寫完這個(gè)清單,不能說程序已設(shè)計(jì)完畢,這一節(jié)就是針對微型計(jì)算機(jī)介紹一個(gè)程序設(shè)計(jì)的步驟和內(nèi)容。無疑,指令清單也是程序設(shè)計(jì)的一部分,而且是首先要做的重要一步。上面講的指令清單可以說是將求4個(gè)數(shù)相加再減去一個(gè)數(shù)的公式而寫成的計(jì)算程序:      D=(R9)+(RA)+(RB)+(RC)-(RD) 這幾個(gè)參與運(yùn)算的數(shù)當(dāng)然可以是任意的,所以公式是用代數(shù)符號寫的。這里所用的代數(shù)符號,故意與存儲單元的序列相一致。事實(shí)也是如此,因?yàn)橐獏⑴c運(yùn)算的數(shù)必須先輸入到存儲器中去。上面講的微型計(jì)算機(jī)并不認(rèn)識助記符的意義,因此必須將指令清單中每一條指令都翻譯成二進(jìn)制碼——機(jī)器碼。另外,存儲器中既要寫入計(jì)算程序,也要存放參與運(yùn)算的數(shù)據(jù),因此,還得決定存儲器中的存儲單元應(yīng)如何分配,這稱為存儲空間分配?傊,程序設(shè)計(jì)中要包括:(1) 編制匯編語言寫的程序;(2) 助記符的翻譯;(3) 存儲器的分配等幾部分。下面就來介紹一下程序設(shè)計(jì)的步驟。 3.3.1 先要有一個(gè)操作碼表 這是由計(jì)算機(jī)制造廠提供的翻譯表,它是每個(gè)助記符與二進(jìn)制碼的相應(yīng)對照表。由于我們的計(jì)算機(jī)很簡單,只有5個(gè)助記符,列成對照表,比較簡單易記。但如果指令系統(tǒng)很龐大的話,此表也就很大而不易記憶,因而就必須有特殊的方法才能迅速可靠地使用它。 3.3.2 存儲器分配 在本微型機(jī)中就是要把PROM中的16個(gè)存儲單元分配成兩個(gè)區(qū):程序存放區(qū)(指令區(qū))和數(shù)據(jù)存放區(qū)(數(shù)據(jù)區(qū))。 3.3.3 將源程序翻譯成目的程序 方法是:根據(jù)助記符與二進(jìn)制的對照表(操作碼表)將上節(jié)例題中的每條指令的助記符譯成二進(jìn)制碼,并將存儲單元符號寫成地址碼(即R0→0000,R1→0001,…,R9→1001),就成為下面的樣子! ≡闯绦颉   ∧康某绦颉    〈鎯卧浮DA  R9  → 0 0 0 0 1 0 0 1  0 0 0 0 (R0)   ADD  RA →0 0 0 1 1 0 1 0   0 0 0 1 (R1) 令 ADD  RB →0 0 0 1 1 0 1 1   0 0 1 0 (R2)   ADD  RC →0 0 0 1 1 1 0 0   0 0 1 1 (R3) 區(qū) SUB  RD →0 0 1 0 1 1 0 1   0 1 0 0 (R4)   OUT     →1 1 1 0 × × × ×  0 1 0 1 (R5)   HLT     →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) 程序設(shè)計(jì)到這一步就可以算完成了,下一步就可以將此程序按存儲單元的地址順序存入計(jì)算機(jī)中去。下面就以此為例介紹輸入的方法。 3.3.4 程序及數(shù)據(jù)的輸入方法 我們的PROM既有ROM的特點(diǎn)(即可以存入但以后不許再改寫而只許讀出)也有RAM的特點(diǎn)(即可隨時(shí)寫入數(shù)據(jù),也可讀出數(shù)據(jù))。PROM分成兩區(qū),指令區(qū)一旦存入指令,就不許再改(除非要計(jì)算的公式改變了)。數(shù)據(jù)區(qū)是可以隨時(shí)存入要參與運(yùn)算的數(shù)據(jù),并在計(jì)算過程中可以取出來。但無論如何,在第一次安排程序時(shí),都得把程序和數(shù)據(jù)存入。其方法就是將PROM的每個(gè)數(shù)據(jù)位的開關(guān)撥向置0或置1的位置即可。圖3.3就是這樣一個(gè)PROM的輸入裝置,其左邊是控制板上安裝的開關(guān),每個(gè)存儲單元有8個(gè)開關(guān)。16個(gè)存儲單元(R0~RF),就共有8×16=128個(gè)開關(guān)。右邊是根據(jù)例題而撥動的開關(guān)狀態(tài): 置0→開關(guān)撥向斷開的方向置1→開關(guān)撥向接通的方向其旁邊的括弧內(nèi)語句代表每一條指令,而數(shù)字是參與運(yùn)算的十進(jìn)制數(shù)據(jù)。將目的碼輸入到PROM中去,即撥動控制板上的開關(guān),使其成圖3.3右邊的狀態(tài)。其中打×的開關(guān)是隨意狀態(tài),因?yàn)橛貌恢,例如?OUT→1110 ×××× HLT→1111 ×××× 中,就是因?yàn)檫@兩條指令并不訪問任何存儲單元,所以R5及R6的高4位(將要送至控制部件的)有二進(jìn)制碼指令,而低4位(代表數(shù)據(jù)存放的存儲地址)可以隨意。 這個(gè)例題在輸入這些數(shù)據(jù)之后就是要求演算這樣一個(gè)具體算術(shù)題: D=16+20+24+28-32=? 在前面例題的計(jì)算程序設(shè)計(jì)好,并輸入至PROM之后,就可以開始執(zhí)行程序了。程序執(zhí)行的第一步必須先使計(jì)算機(jī)復(fù)位,此時(shí)控制器先發(fā)出一個(gè)CLR為高電位的脈沖,同時(shí)時(shí)鐘脈沖開始工作,即發(fā)出脈沖電壓系列到各個(gè)部件去。每一個(gè)CLK脈沖都起到指揮各部件的同步運(yùn)行的作用。但究竟每個(gè)脈沖發(fā)出后,哪些部件應(yīng)起響應(yīng)作用,這就得由控制部件的控制字來決定了。關(guān)于控制字的產(chǎn)生和每一指令的執(zhí)行過程,將在下兩節(jié)詳加介紹。這里只是將上例執(zhí)行過程中間結(jié)果表列出來。這樣可以看到每執(zhí)行一條指令后,累加器A中存放的數(shù)據(jù): 執(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=0011 1000[56(10)]執(zhí)行 HLT    后 D=0011 1000(不變) 執(zhí)行HLT(停機(jī))指令后,電源并不切斷,只是CLK停發(fā)脈沖,所以顯示器D上仍舊顯示出計(jì)算結(jié)果。 3.4 執(zhí)行指令的例行程序 在程序和數(shù)據(jù)裝入之后,啟動按鈕將啟動信號傳給控制部件CON,然后控制部件產(chǎn)生控制字,以便取出和執(zhí)行每條指令。執(zhí)行一條指令的時(shí)間為一個(gè)機(jī)器周期。機(jī)器周期又可分為取指周期和執(zhí)行周期。取指過程和執(zhí)行過程機(jī)器都得通過不同的機(jī)器節(jié)拍。在這些節(jié)拍內(nèi),每個(gè)寄存器(PC,MAR,IR,A,B,O等)的內(nèi)容可能發(fā)生變化。 3.4.1 環(huán)形計(jì)數(shù)器及機(jī)器節(jié)拍 在第2章中已介紹了環(huán)形計(jì)數(shù)器的電路原理(圖2.21),這里再來看看其各位的狀態(tài)如圖3.4所示。 從圖3.4的波形來看,環(huán)形計(jì)數(shù)器的各位輸出端Q0~Q5的電位就是機(jī)器節(jié)拍T0~T5的電位,由于時(shí)鐘脈沖是經(jīng)過反相器再接到環(huán)形計(jì)數(shù)器(圖中的“汽泡”表示非門)的CLK端的,所以各節(jié)拍之間的轉(zhuǎn)換是在時(shí)鐘脈沖的負(fù)邊緣開始的。由圖可見,如將環(huán)形計(jì)數(shù)器的輸出看做是一個(gè)字T,則: T=T5T4T3T2T1T0 這就是一個(gè)6位的環(huán)形字。它用以控制6條電路,使它們依次輪流為高電位,T0,T1,T2,T3,T4和T5稱為機(jī)器的節(jié)拍。 3.4.2 取指周期及執(zhí)行周期 取出指令的過程需要3個(gè)機(jī)器節(jié)拍,在清零和啟動之后第1個(gè)節(jié)拍為T0。下面將以上節(jié)的例題為例來仔細(xì)考查一下在每個(gè)節(jié)拍內(nèi)各個(gè)寄存器的內(nèi)容應(yīng)如何變化,因而控制器應(yīng)發(fā)出什么樣的控制字。 (1) 地址節(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ù)因此,控制部件應(yīng)發(fā)出的控制字為:  CON=CPEPLMER LIEILAEA SUEULBLO      =0 1 1 0 0 0 0 0 0 0 0 0 控制字的排列次序請參看圖3.1。 (2) 儲存節(jié)拍(T1=1)在T1=1時(shí),應(yīng)將PROM中由PC送來的地址碼所指定的存儲單元中的內(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 (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é)拍稱為取指周期。這樣3節(jié)拍的取指周期,對任何一條指令都是一樣的。因?yàn)槿魏我粭l指令都是沿著這個(gè)程式而將指令取出來,再將其高4位送入控制部件去進(jìn)行分析,決定下面應(yīng)如何執(zhí)行,所以下面的3節(jié)拍就稱為執(zhí)行周期。由控制部件分析的結(jié)果,對本微型機(jī)來說,共有5類執(zhí)行的程序: LDA——將數(shù)據(jù)裝入A; ADD——將數(shù)據(jù)與A相加; SUB——將數(shù)據(jù)與A相減; OUT——將數(shù)據(jù)從A輸出; HLT——停機(jī),即停發(fā)CLK脈沖。 執(zhí)行這樣的每個(gè)程序也需要3拍(T3,T4,T5),這種程序是由廠家編好了的,所以稱為例行程序。我們以LDA例行程序?yàn)槔,考查一下在?節(jié)拍中,各個(gè)寄存器的內(nèi)容應(yīng)有何變化。 (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 在上例題中,送至PROM的地址就是R9的二進(jìn)制碼地址(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準(zhǔn)備放出數(shù)據(jù); LA=1,A準(zhǔn)備接收數(shù)據(jù);即CON=0001 0010 0000 (6) T5=1因?yàn)門4=1時(shí),已將數(shù)據(jù)存放入A中,所以,LDA的例行程序就已完成,T5節(jié)拍就變成空拍,即有: CON=0000 0000 0000 為什么需要這個(gè)空拍呢?這是因?yàn)殡m然LDA的例行程序用不著這個(gè)節(jié)拍,但別的例行程序(如ADD,SUB等)還是用得著的,為了使每條指令的機(jī)器周期都是一樣長,即6個(gè)節(jié)拍,所以在不需6個(gè)節(jié)拍的  指令語句中都給加一個(gè)空拍以補(bǔ)足之。這樣的機(jī)器稱為固定周期的計(jì)算機(jī)。 LDA 9H,這條指令執(zhí)行完成后,就接著執(zhí)行ADDAH的指令。前面指出過,其取指周期仍和LDA9H是一樣的,只不過現(xiàn)在存于PC中的內(nèi)容已不是0000而是PC+1,即0001了。執(zhí)行周期則和上條指令的執(zhí)行周期略有不同。在執(zhí)行周期的各列中T3節(jié)拍,第2條指令(ADD AH)和第1條指令(LDA 9H)是一樣的,都是要求從IR將低4位的數(shù)據(jù)作為地址碼送到MAR去。所以其控制字中也是LM=1和EI=1。但在T4節(jié)拍就略有不同了。從PROM中來的數(shù)據(jù)不再送入累加器A,而是送入寄存器B,這樣A和B的數(shù)據(jù)就能直接被送入ALU  去相加。在T5節(jié)拍,第1條指令是空拍,第2條指令就不是了,因?yàn)閷和B的內(nèi)容相加的結(jié)果還要送回到A去。所以要求LA=1,EU=1。由于ALU在實(shí)行相加時(shí),要求SU=0,所以這里沒出現(xiàn)SU。第3、第4條和第1條指令完全一樣,也是執(zhí)行周期為3節(jié)拍,控制字也完全一樣。因?yàn)樗鼈兺瑯邮且筮M(jìn)行加法運(yùn)算。第5條是要求減法運(yùn)算所以最后一個(gè)節(jié)拍中出現(xiàn)SU=1,因而控制字變成: CON=0000 0010 1100 第6條指令要求將累加器的內(nèi)容送入輸出寄存器,而與存儲器PROM無關(guān),所以只在T3節(jié)拍要求LO=1,EA=1,而T4及T5節(jié)拍為空拍。 第7條指令只要求不再運(yùn)行下去,即要求CLK時(shí)鐘停發(fā)脈沖。這便是由控制器直接發(fā)出停止信號。所以在T3節(jié)拍發(fā)出HLT(停機(jī)信號)后T4及T5節(jié)拍也是空拍。 3.5 控制部件 控制部件是使計(jì)算機(jī)能夠成為自動機(jī)的關(guān)鍵部件。它包括下列主要部件: (1) 環(huán)形計(jì)數(shù)器(RC); (2) 指令譯碼器(ID); (3) 控制矩陣(CM); (4) 其他控制電路。其中,環(huán)形計(jì)數(shù)器、指令譯碼器、控制矩陣稱為控制器。環(huán)形計(jì)數(shù)器用以發(fā)出環(huán)形字,從而產(chǎn)生機(jī)器節(jié)拍,其原理已在上一節(jié)中講過了。下面分別介紹其他環(huán)節(jié)。 3.5.1 指令譯碼器 上面在介紹指令寄存器IR時(shí),曾指出進(jìn)入IR的數(shù)據(jù)的高4位立即被送入控制部件。這高4位就是各種控制動作的代碼,比如:0000代表LDA的控制動作;0001代表ADD的控制動作;0010代表SUB的控制動作;1110代表OUT的控制動作;1111代表HLT的控制動作。  一個(gè)動作相當(dāng)于一條控制線,要該動作實(shí)現(xiàn),就必須使該控制線為高電位。因此,這個(gè)由4個(gè)位組成的編碼,必須被譯成一個(gè)信號,即譯為某一控制線為高電位,這就是譯碼器的任務(wù)。譯碼器可以由與門和非門組成,圖3.5就是一個(gè)4位譯碼器。4位應(yīng)該可以有16種編碼的可能,由于我們的模擬機(jī)功能簡單,只有5條指令,所以只要5個(gè)與門就夠了。 由PROM進(jìn)入到指令寄存器的數(shù)據(jù)是8位的,設(shè)為I7I6I5I4I3I2I1I0,則其高4位為:  I7I6I5I4 在指令為LDA時(shí),  I7I6I5I4=0000 此時(shí),加至指令譯碼器的輸入端的全是低電位,而各個(gè)非門的輸出則全為高電位,所以與門1的四個(gè)輸入端也全是高電位,故其輸出,即控制線LDA為高電位。在指令為ADD時(shí),  I7I6I5I4=0001 此時(shí),加于指令譯碼器的輸入端的左三個(gè)(I7I6I5)為低電位,而右一個(gè)(I4)為高電位。而與門2的上邊一條輸入線不接至非門而直接與I4相接,所以是高電位。與門2的其他3條輸入線都接至非門,所以也是高電位。因此,與門2的4個(gè)輸入端全為高電位,故其輸出,即控制線ADD為高電位。其他各與門的接法,也是循此規(guī)律。如在指令SUB時(shí),I7I6I5I4=0010,則與門3應(yīng)有一個(gè)輸入線直接接至I5,其他各線則接至非門。也就是說,哪一位為0(低電位),則與門與該位相連的輸入線應(yīng)接至其非門;否則,直接接至該位。輸出為OUT和HLT的控制線與門輸入線的接法,就是按這個(gè)規(guī)律接的,讀者可以自己檢驗(yàn)一下。 3.5.2 控制矩陣譯碼器能將編碼信息譯成某一控制線為高電位,試看一下上面的控制字。每一節(jié)拍大都要求兩個(gè)控制字位為高電位,雖然也有一位為高電位的(如CP=1),但只要不是一位的就要求2位或3位為高電位。而控制字有12位,每一指令要執(zhí)行6拍,每拍均有不同的位為高電位,這又如何實(shí)現(xiàn)呢? 控制矩陣就是為了解決這個(gè)問題的,所以控制矩陣是控制部件的核心。圖3.6就是這樣一個(gè)控制矩陣(CM)。 最上面部分是一個(gè)環(huán)形計(jì)數(shù)器,它使T0至T5的6根橫線輪流為高電位;中間4根橫線為指令控制信號線。它們的電位高低是由上面的譯碼器決定的;最下面部分是由19個(gè)與門和6個(gè)或門組成一個(gè)邏輯電路。這個(gè)電路共有12個(gè)輸出端,就是控制字CON: CON=CPEPIMERLIEILAEASUEULBLO 這個(gè)電路的設(shè)計(jì)過程當(dāng)然是相當(dāng)復(fù)雜的。不過我們不打算去涉及這個(gè)問題,我們只要知道其工作原理就可以了。開機(jī)前總是先使CLR為高電位,則此時(shí)環(huán)形計(jì)數(shù)器復(fù)位至T0=1,其他各位為0。這就是說,每一節(jié)拍都是從T0開始的。 如果從譯碼器來的譯碼結(jié)果是使LDA=1,那么,試看一下這條指令的6個(gè)節(jié)拍中6個(gè)控制字是怎樣實(shí)現(xiàn)的。 T0=1時(shí),EP=1; LM=1。(因?yàn)門0直接接至EP并通過或門I接至LM) T1=1時(shí),LI=1(因?yàn)長I端與T1直接相連); ER=1(因?yàn)門1通過或門Ⅱ至ER端)。 T2=1時(shí),CP=1(因?yàn)門2直接通至CP端)。 T3=1時(shí),LM=1(因?yàn)榕c門1的兩個(gè)輸入都是高電位,使或門Ⅰ導(dǎo)通)。 EI=1(因?yàn)榕c門7的兩個(gè)輸入都是高電位,使或門Ⅲ導(dǎo)通)。 T4=1時(shí),ER=1(因?yàn)榕c門4的兩個(gè)輸入都是高電位,使或門Ⅱ?qū)?; LA=1(因?yàn)榕c門10的兩個(gè)輸入都是高電位,使或門Ⅳ導(dǎo)通)。 T5=1時(shí),沒有任何位為高電位(空拍)。這一指令語句的6個(gè)節(jié)拍的相應(yīng)控制字已在上節(jié)討論過,并在表3?3中可以看到各節(jié)拍相應(yīng)為高位的各位。其他的幾條指令語句的各個(gè)節(jié)拍的各位的電位高低讀者可以自行檢驗(yàn)一下。 5條指令的控制器就已經(jīng)這么復(fù)雜,由此可知要擴(kuò)大指令系統(tǒng),其控制矩陣的結(jié)構(gòu)以及設(shè)計(jì)上的問題是相當(dāng)復(fù)雜的。這樣從結(jié)構(gòu)上用邏輯電路的方法來實(shí)現(xiàn)控制字的方法稱為硬件方法。也有用軟件來實(shí)  現(xiàn)這個(gè)目標(biāo)的,尤其在指令系統(tǒng)較大,控制字較長(即位數(shù)很多)的情況下,常用軟件方法來實(shí)現(xiàn)——這就是所謂微程序法。這里不可能介紹這種方法,因?yàn)檫@已經(jīng)超出本書的范圍了。 3.5.3 其他控制電路 上面由環(huán)形計(jì)數(shù)器、控制矩陣及指令譯碼器組成的部分稱為控制器。為了實(shí)現(xiàn)控制動作,還需要下述幾個(gè)電路(見圖3.7)。 時(shí)鐘脈沖發(fā)生器——這一般可分成兩部分,即時(shí)鐘振蕩器及射極跟隨器。前者一般都是石英晶體振蕩器,后者則用以降低輸出電阻,以便有更大的電流輸出,因?yàn)闀r(shí)鐘脈沖發(fā)生器同時(shí)要推動很多的電路。運(yùn)行/停車觸發(fā)器——這個(gè)電路既接收來自按鈕的“運(yùn)行”脈沖信號,也接收來自指令譯碼器的“HLT”停車信號,而其輸出就去啟動時(shí)鐘振蕩器。 “啟動”和“清除”按鈕——這是由人直接操作的主令電器,命令都是由此開始的。圖3.7只用方塊圖展示控制部件各個(gè)電路間的關(guān)系。每一個(gè)方塊圖較詳細(xì)的電路在微電子學(xué)及晶體管電路的書都可見到,這里就不細(xì)加介紹了。 3.6 微型計(jì)算機(jī)功能的擴(kuò)展 上面介紹的微型計(jì)算機(jī)的功能顯然是太少了,以致實(shí)際上沒有什么用處,它只能用來作為教學(xué)模型,引導(dǎo)入門。功能不足的原因有二,首先是硬件過于簡單,尤其是控制部件只能接受5條指令而產(chǎn)生相應(yīng)的例行程序。為了擴(kuò)大計(jì)算機(jī)的功能,就應(yīng)該擴(kuò)大其指令系統(tǒng)。其次是軟件開發(fā)問題,即如何利用現(xiàn)有的指令系統(tǒng),經(jīng)過靈活的編程以解決更多更復(fù)雜的問題。歸根到底,計(jì)算機(jī)的功能在很大程度上取決于其中央處理器部分,而后者的功能又取決于其控制器的功能。此外,其他基本組成電路,如算術(shù)邏輯部件(ALU)、寄存器的個(gè)數(shù)等等,都必須作相應(yīng)的改進(jìn),才能擴(kuò)展計(jì)算機(jī)的功能。下面幾節(jié)就是為了進(jìn)一步接近現(xiàn)代微型計(jì)算機(jī)而設(shè)計(jì)的過渡章節(jié)。 這個(gè)功能更大的微型計(jì)算機(jī),在硬件上增加不多,而是算術(shù)邏輯部件及控制器的功能有相當(dāng)?shù)臄U(kuò)展。這樣,就既可能進(jìn)行邏輯運(yùn)算,也有跳轉(zhuǎn)和循環(huán)運(yùn)算的功能。當(dāng)然,由于控制器的增強(qiáng),指令系統(tǒng)已擴(kuò)大到28條指令,這樣的計(jì)算機(jī)就更接近于現(xiàn)代型的微型計(jì)算機(jī)了。圖3.8就是功能擴(kuò)充了的微型計(jì)算機(jī)的結(jié)構(gòu)圖,其基本結(jié)構(gòu)和圖3.1的簡易微型計(jì)算機(jī)是相似的,F(xiàn)在只將其中與其有區(qū)別的組件逐個(gè)加以介紹。 1. 子程序計(jì)數(shù)器SC 這是第2章的微型計(jì)算機(jī)所沒有的。它本身也相當(dāng)于一個(gè)程序計(jì)數(shù)器,不過它不由CLR來清零,而可由LS門來置數(shù)。一旦置數(shù),即為其子程序的開始地址。 SC的位數(shù)為8位。 LS——“裝入”的可控門; ES——“輸出”的可控門,即3態(tài)門; CS——“計(jì)數(shù)”的控制端。 2. 程序計(jì)數(shù)器PC PC增加了一個(gè)LP門,這就使得PC可以接收跳轉(zhuǎn)地址。這樣擴(kuò)大了計(jì)算機(jī)的功能,換句話說,PC可以不從00H開始。 3. 隨機(jī)存取存儲器RAM 這里不用PROM而用RAM作為主存儲器。RAM的存儲單元為256個(gè),字長為12位。因?yàn)榭梢噪S機(jī)存取,故除MAR(存儲地址寄存器)外,還得有一個(gè)MDR(存儲數(shù)據(jù)寄存器)。 4. 控制部件CON 此CON將要產(chǎn)生一個(gè)28位的控制字: LSCSESLP CPEPLMWE MELDEDLI EILNENLA EAS3S2S1 S0EULBLX INXDEXEXLO 5. 算術(shù)邏輯部件ALU 上面的簡化型計(jì)算機(jī)的ALU是一個(gè)二進(jìn)制補(bǔ)碼加法器/減法器。只有算術(shù)加法及減法兩種運(yùn)算。其控制端為Su,即只有一位。這里的控制端改為S=S3S2S1S0,即有4位。4位則有16種可能的組合,本機(jī)只用其中的10種,以得到3種算術(shù)運(yùn)算和7種邏輯運(yùn)算。 6. 變址寄存器X 這是新增加的一種寄存器,它可以用指令使其加1或減1: INX——加1指令助記符,其控制端符號為INX; DEX——減1指令助記符,其控制端符號為DEX。 7. 指令寄存器IR 這是一個(gè)12位的寄存器,其指令字段和地址字段的位數(shù)不是固定不變的。在訪問存儲器指令(MRI)和轉(zhuǎn)移指令的執(zhí)行期間,高4位代表指令字段,低8位代表地址字段。所以高4位要被送到CON去分析,而低8位被送到W總線上去:   ××××  ×××× ××××   (MSB4位)    (LSB8位)    ↓        ↓   CON       W總線在運(yùn)算指令執(zhí)行期間,高8位代表指令字段,而低4位可為任意數(shù),因?yàn)樗淮砣魏我饬x: ×××× ××××   ××××    (MSB8位)      (LSB4位)     ↓          ↓     CON        不用關(guān)于訪問存儲器的指令、轉(zhuǎn)移指令和運(yùn)算指令的定義,下面會討論到。 本機(jī)共有28條指令,可分為3類: 1. 訪問存儲器指令(memory reference instruction,縮寫為MRI) 這些指令都與存儲器的讀/寫有關(guān),所以其地址字段必須為8位(256個(gè)地址)。訪問存儲器指令的特點(diǎn)是:由指令寄存器分出來的地址字段(8位的地址字段)必定進(jìn)入MAR(存儲器地址寄存器),這就能夠識別出MRI這類指令。 2. 轉(zhuǎn)移指令可用以改變程序的順序。有了這類指令,就可以在規(guī)定的某種條件下將程序進(jìn)程向前轉(zhuǎn)移或向后轉(zhuǎn)移,也可跳過若干條指令語句或去執(zhí)行某個(gè)子程序之后再回至下一條指令語句。轉(zhuǎn)移指令也有六條,其特  點(diǎn)是由指令寄存器IR分出來的地址段(8位)將進(jìn)入程序計(jì)數(shù)器PC(即LP=1),或子程序計(jì)數(shù)器(LS=1)。 3. 邏輯運(yùn)算指令這類指令的特點(diǎn)是與存儲器及程序計(jì)數(shù)器都無關(guān),而是與ALU、A及B寄存器有關(guān)?刂破髦灰拥1111的高4位,即知為運(yùn)算指令,然后控制器再辨認(rèn)選擇碼以確定進(jìn)行什么樣的運(yùn)算。由于這些運(yùn)算都是在ALU和A,B之間進(jìn)行的,所以不需地址碼。低4位可以不置數(shù),由其隨機(jī)存在,并不產(chǎn)生任何影響。 3.7 初級程序設(shè)計(jì)舉例 有了3.6節(jié)提供的指令系統(tǒng),就可以據(jù)此進(jìn)行程序設(shè)計(jì)。這里只介紹幾個(gè)初級程序的程序清單,并作相應(yīng)的解釋。所謂初級程序是包括下列的程序模式: (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)用存儲于某存儲區(qū)中的某個(gè)子程序,然后返回至主程序繼續(xù)運(yùn)行下去。簡單程序在3.4節(jié)簡化型式計(jì)算機(jī)中已講過了,下面看跳轉(zhuǎn)指令及其如何形成循環(huán)程序的簡例!纠3.1】程序清單指 R0  LDA  6H  把(R6)裝入A去令 R1  SUB  7H  從(A)減去(R7) 區(qū) R2  JAM  5H  (A)=負(fù),則轉(zhuǎn)移至R5   R3  JAZ  5H  (A)=0,則轉(zhuǎn)移至R5   R4  JMP  1H  無條件轉(zhuǎn)移至R1   R5  HLT  數(shù)  R6 25(10)  據(jù)   區(qū)  R7 9(10) 此程序清單包括指令區(qū)和數(shù)據(jù)區(qū)。數(shù)據(jù)區(qū)只存入兩個(gè)數(shù)據(jù):25(10)和9(10),它們分別存于存儲單元R6和R7中。指令區(qū)是要求將R6中的內(nèi)容減去R7中的內(nèi)容,當(dāng)其差≤0時(shí),即停止運(yùn)算,否則繼續(xù)作多次的減法運(yùn)算。執(zhí)行結(jié)果:我們按上面程序清單的次序,看每條指令執(zhí)行的結(jié)果應(yīng)是什么。     指令      執(zhí)行結(jié)果 R0  LDA  6H   A中的內(nèi)容=25(10) R1   SUB   7H   A中的內(nèi)容=25-9=16(10) R2  JAM  5H   因?yàn)?A)≠負(fù),所以不轉(zhuǎn)移 R3  JAZ   5H   因?yàn)?A)≠0,所以不轉(zhuǎn)移 R4 JMP 1H 無條件轉(zhuǎn)移至R1 從R1起再執(zhí)行第2次: R1   SUB  7H   A中的內(nèi)容=16-9=7(10) R2  JAM  5H   因?yàn)?A)≠負(fù),所以不轉(zhuǎn)移 R3  JAZ   5H   因?yàn)?A)≠0,所以不轉(zhuǎn)移 R4  JMP  1H   無條件轉(zhuǎn)移至R1 從R1起再執(zhí)行第3次: R1  SUB 7H A中的內(nèi)容=7-9=-2(10)  R2 JAM 5H 因?yàn)?A)=負(fù),所以轉(zhuǎn)移至R5  R5 HLT    停機(jī)這個(gè)程序可以理解為求(R6)÷(R7)的除法運(yùn)算。這里是25÷9,除的結(jié)果應(yīng)得商為2,余數(shù)為7。程序循環(huán)運(yùn)行的次數(shù)即為商,余數(shù)即為第2次執(zhí)行后A中的內(nèi)容。 【例3.2】循環(huán)程序利用變址寄存器可以設(shè)計(jì)一個(gè)循環(huán)程序: R0 LDX 5H 將(R5)裝入變址器X R1 DEX    命(X)減1 R2 JIZ  4H (X)=0,則轉(zhuǎn)移至R4 R3 JMP 1H 無條件轉(zhuǎn)移至R1s R4 HLT  停機(jī)   R5 3(10)  (R5)=3(10)(數(shù)據(jù)) 第1次執(zhí)行結(jié)果: R0 LDX 5H (X)=(R5)=3(10)   R1 DEX  (X)=3-1=2(10)   R2 JIZ 4H 因?yàn)?X)≠0,所以不轉(zhuǎn)至R4   R3 JMP 1H 無條件轉(zhuǎn)回R1 第2次執(zhí)行結(jié)果: R1  DEX  (X)=2-1=1(10)   R2 JIZ 4H 因?yàn)?X)≠0,所以不轉(zhuǎn)至R4  R3 JMP 1H 無條件轉(zhuǎn)回R1 第3次執(zhí)行結(jié)果: R1 DEX (X)=1-1=0   R2 JIZ 因?yàn)?X)=0,所以轉(zhuǎn)至R4   R4 HLT 停機(jī)由此例可見,DEX至JIZ這兩條指令之間要執(zhí)行由“LDX R5”中所規(guī)定的次數(shù)(R5的內(nèi)容就是次數(shù))。此例R5=3(10),所以執(zhí)行3次。如R5=10(10),則將進(jìn)行10次,R5=100(10),則將進(jìn)行100次。圖3.9循環(huán)程序這個(gè)循環(huán)程序可以圖3.9的流程圖來領(lǐng)會其執(zhí)行過程。如果在DEX和JIZ之間還有別的指令語句,則同樣也得執(zhí)行3次。在DEX和JIZ之間的內(nèi)容稱為循環(huán)體。 【例3.3】乘法計(jì)算的程序利用循環(huán)程序可作乘法計(jì)算,例如要求12(10)×8(10),就是要求將12(10)連加8次。這就可以利用循環(huán)程序,讓它進(jì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) 其中NOP為空操作指令,即不做什么動作。執(zhí)行LDX AH時(shí),把(RA)=8(10)裝入變址器X。執(zhí)行CLA時(shí),使累加器A清零。執(zhí)行DEX時(shí),開始循環(huán),并在第1次通過時(shí)把(X)減1而成為(X)=7(10)。執(zhí)行ADD 9H時(shí),把12(10)與累加器A的內(nèi)容相加。JIZ 7H的指令,在第1次循環(huán)時(shí)不起作用。執(zhí)行JMP 3H時(shí),使程序回到DEX語句。因?yàn)榇鎯卧猂A裝入的是8(10),即在變址寄存器中的整數(shù)是8(10),所以循環(huán)要執(zhí)行8次。而ADD 9H(R9中裝的是12(10))處于DEX和JIZ之間(ADD 9H就是循環(huán)體),所以也要執(zhí)行8次,即12(10)這個(gè)數(shù)要在ALU中與A的內(nèi)容連加8次后存在累加器A中。 當(dāng)執(zhí)行8次循環(huán)之后,再執(zhí)行JIZ 7H時(shí),程序就轉(zhuǎn)至OUT,于是答案96(10)就被存入輸出寄存器O中,然后執(zhí)行程序HLT——停機(jī)。程序至此執(zhí)行結(jié)束。此例中的變址寄存器X的內(nèi)容是由存儲單元RA裝入的。要知道RA的內(nèi)容是由輸入寄存器N由外部設(shè)備輸入的。其實(shí)可以直接由外部設(shè)備通過輸入寄存器N裝入累加器A再裝入變址寄存器,而不必經(jīng)過存儲器的單元RA。這只要將上例中的頭兩條指令改成下面的樣子即可:  R0 INP    ;將外部數(shù)據(jù)裝入A    R1 XCH   ;將(A)和(X)互換其他各條指令保持原樣不變,而刪去最后那一條指令[RA=8(10)]。由于在進(jìn)入循環(huán)之前,有一條  CLA語句,可以將A清零,所以A和X交換之后,A中是什么內(nèi)容可以不去管了。【例3.4】邏輯運(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。程序清單如下: 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。粺o條件轉(zhuǎn)至R7   R6 LDA BH;將(RB)裝入累加器A   R7 OUT  ;輸出(A)至顯示器   R8 HLT ;停機(jī)  R9 0 0 0 0 0 0 0 0 0 0 0 1 (掩碼)   RA 1 1 1 1 1 1 1 1 1 1 1 1 奇數(shù)標(biāo)志   RB 0 0 0 0 0 0 0 0 0 0 0 0 偶數(shù)標(biāo)志程序解釋:執(zhí)行INP時(shí), A=I0=×××× ×××× ×××A0 最右邊一位A0可能是1或0。執(zhí)行LDB 9H時(shí),將R9的內(nèi)容裝入寄存器B: B=(R9)=0000 0000 0001 這個(gè)字叫做掩碼或屏蔽字。這是因?yàn)樵趫?zhí)行“與”運(yùn)算時(shí),累加器中的數(shù)字A的高位(除A0位外的所有的位)將與“0”相“與”而均變成0,不論其原來是1或0。這就稱為屏蔽或掩蔽。執(zhí)行AND時(shí),就是A和B的內(nèi)容各對應(yīng)位相“與”,結(jié)果為: A=0000 0000 000A0 因此,在“與”運(yùn)算之后:如A=0,即為A0=0; 如A≠0,即為A0=1。所以可得結(jié)論,若被測試的I0為奇數(shù),則此時(shí)A0≠0;若I0為偶數(shù),則A0=00。接下去,如A0=1,即執(zhí)行JAZ,結(jié)果因A≠0,不轉(zhuǎn)移至R6,而執(zhí)行其下一條語句:LDA AH,即將RA的內(nèi)容(1111 1111 1111)裝入累加器A。再執(zhí)行JMP 7H,即跳過下一條指令而至R7,即指令OUT,就將累加器的內(nèi)容顯示出來。如A0=0,則執(zhí)行JAZ指令時(shí),因A=0,所以轉(zhuǎn)移至R6。R6的指令為LDA BH,即將RB的內(nèi)容裝到累加器A中去,于是:   A=0000 0000 0000 接著執(zhí)行OUT語句,而把此內(nèi)容顯示出去。 邏輯運(yùn)算,經(jīng)常用來測試數(shù)字的各種狀態(tài),如測試任一位的奇偶性等!纠3.5】子程序設(shè)計(jì)設(shè)計(jì)一個(gè)計(jì)算x2+y2+z2=?的計(jì)算程序。由于x2,y2和z2在形式上都是一樣的,是求一個(gè)數(shù)的平方值,這不但本題用得著,在做其他數(shù)學(xué)運(yùn)算時(shí)也常用得著,因此可將x2做成一個(gè)子程序而存于存儲器中一個(gè)固定的區(qū)域中,用到時(shí),即可將其調(diào)出使用。如將此子程序存于以RF2為起始地址(其地址為F2H,即1111 0010的存儲單元)的一個(gè)區(qū)域中,則可設(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。粺o條件轉(zhuǎn)移至RF5       RF9 BRB ;返回主程序  RC6      RC6   x      RC7   y   ;被運(yùn)算的數(shù)據(jù)     RC8   z      RC9      RCA      ;運(yùn)算過程暫存地址有了此子程序就可以設(shè)計(jì)主程序的運(yùn)算 x2+y2+z2=42+62+82=? 主程序有了子程序,每當(dāng)求平方時(shí),只要調(diào)用子程序即可,本例就是調(diào)用3次子程序。主程序只管把每次計(jì)算結(jié)果(存在RC9中)相加,因而主程序顯得短小清楚。下面解釋一下程序執(zhí)行過程。第1步,先將要運(yùn)算的十進(jìn)制數(shù)4,6和8存入到存儲單元RC6,RC7,RC8中去。第2步,就可開始執(zhí)行此程序了。其執(zhí)行過程如下: R00:將RC6的內(nèi)容(4(10))裝入累加器A。 R01:無條件跳至子程序開始地址F2H,并執(zhí)行子程序的各條指令。其過程如下: RF2:將A的內(nèi)容[4(10)]暫存入RCA中。 RF3:將RCA中的內(nèi)容[4(10)]裝入X中。 RF4:將A清除[即使(A)=0]。 RF5:使X的內(nèi)容減1,于是(X)=4-1=3(10)。 RF6:將RCA的內(nèi)容[4(10)]與A的內(nèi)容(0)相加,并存于A中,所以A=0+4=4(10)。 RF7:檢查(X)是否為0,因?yàn)?X)=3(10)≠0,所以不跳轉(zhuǎn)至RF3,而執(zhí)行下條指令。 RF8:無條件轉(zhuǎn)至RF5,進(jìn)入第2循環(huán),X的內(nèi)容由3(10)減為2(10)。接著重復(fù)循環(huán)體RF6指令,再將RCA的內(nèi)容[4(10)]加到累加器A的內(nèi)容中去。這樣重復(fù)4次,A中所存的數(shù)即為4+4+4+4=16=42。重復(fù)4次后,再執(zhí)行至RF7時(shí),檢查X的內(nèi)容,則(X)=0,所以跳出循環(huán)而進(jìn)行RF9。 RF9:返回至主程序的R02。 R02:將累加器A的內(nèi)容[42=16(10)]暫存入RC9中。 R03:將RC7的內(nèi)容[6(10)]裝入A中。 R04:第2次跳轉(zhuǎn)至子程序的開始地址RF2。由于RC7的內(nèi)容為6(10),所以此循環(huán)將執(zhí)行6次,最后累加器中的內(nèi)容為62=36。然后跳回主程序的R05。 R05:將RC9的內(nèi)容[42=16(10)]與累加器A的內(nèi)容[62=36(10)]相加,并存于A中,所以(A)=42+62 R06:將A的內(nèi)容(42+62)暫存于RC9中。 R07:將RC8的內(nèi)容[8(10)]裝入A中。 R08:第3次跳轉(zhuǎn)至子程序開始地址RF2,并依次執(zhí)行 下去,至RF5又進(jìn)入第3次以循環(huán)體為RF6 ADD,CAH的循環(huán)。此時(shí)由于裝的是RC8,其內(nèi)容為[8(10)],所以循環(huán)次數(shù)為8次。循環(huán)體中的RCA裝的也是RC8的內(nèi)容,所以也是8(10),所以8次循環(huán)后,存于A中的是82=64(10),然后跳回主程序的R09。 R09:將RC9的內(nèi)容(42+62)與累加器A中的內(nèi)容(82)相加,結(jié)果仍存入A中。所以A的內(nèi)容為(42+62+82)。 R0A:將A的內(nèi)容送入輸出寄存器O。此寄存器立即使顯示器出現(xiàn)計(jì)算結(jié)果。 R0B:停機(jī)。由上可見,只要將被運(yùn)算的3個(gè)數(shù)x,y和z放入RC6,RC7和RC8就可以通過此程序計(jì)算任何3個(gè)數(shù)的平方和了。 3.8 控制部件的擴(kuò)展 對于整個(gè)控制部件而言,也還是可以用圖3.7的方框圖來說明其中各環(huán)節(jié)的關(guān)系。不過,這個(gè)功能更大的模型式計(jì)算機(jī)的控制器就要復(fù)雜得多。其中,主要是控制矩陣,顯然變得更龐大而復(fù)雜,以致不可能在課本中將其邏輯電路畫出來。圖3.10就是控制器的結(jié)構(gòu)圖。 圖中的Aminus,Azero,Xminus和Xzero來自累加器A和變址寄存器X。指令譯碼器接收來自指令寄存器IR的8位指令字段(高8位)而譯成28條指令線。其中HLT將直接被引到運(yùn)行/停車觸發(fā)器(見圖3.7)。其他27條指令則被引至控制矩陣,以便產(chǎn)生28位的控制字。為了控制轉(zhuǎn)移,還應(yīng)有轉(zhuǎn)移電路,它們的組成也是用門電路,初學(xué)者可暫不去追問這部分的電路結(jié)構(gòu),以免分散精力。下面只對控制矩陣作一簡要說明,不打算分析其電路結(jié)構(gòu)。要知道28條指令在六拍周期內(nèi)產(chǎn)生6個(gè)控制字,每個(gè)控制又有28個(gè)位,此控制矩陣的繁雜程度是可想而知的。 和上述的微型計(jì)算機(jī)一樣,這也是一臺固定機(jī)器周期的計(jì)算機(jī)。一個(gè)機(jī)器周期也是包含6拍,前3拍為取指周期,后3拍為執(zhí)行周期。取指周期的3個(gè)時(shí)鐘節(jié)拍的動作可以由控制字中為高電位的位來表示: T0——Ep=1,LM=1(PC→MAR→RAM); T1——ME=1,LI=1(RAM→IR); T2——CP=1,(PC+1→PC)。這3個(gè)節(jié)拍和上述的微型計(jì)算機(jī)的一樣,請參考3.4。執(zhí)行周期的3個(gè)節(jié)拍,對于每條指令將有很大的不同,即其控制字中各位的置位情況各不相同。 助記符LDA。這是一條指令的操作碼(0000),如有一個(gè)操作數(shù)為nn(8位),則形成的指令為LDA nn。設(shè)此指令存于RAM的指令區(qū)的第一個(gè)存儲單元(其地址為0000 0000),nn是指參與運(yùn)算的數(shù)據(jù)在RAM的數(shù)據(jù)區(qū)中所在的存儲單元的地址(n代表一個(gè)4位二進(jìn)制數(shù)),如圖3.11所示。這條指令的執(zhí)行過程是: (1) 在T0拍時(shí) 則程序計(jì)數(shù)器PC將地址0000 0000送到MAR,同時(shí)也到RAM去。 (2) 在T1拍時(shí) ME=1LI=1 則RAM中地址為0000 0000的存儲單元的內(nèi)容(0000nn)被讀出而送到控制器(0000部分)及指令寄存器IR(nn部分)中去。 (3) 在T2拍時(shí) CP=1 則程序計(jì)數(shù)器加1。 (4) 在T3拍時(shí) EI=1LM=1 則指令寄存器IR的內(nèi)容(nn)被送到MAR,同時(shí)也進(jìn)入RAM去。因nn是在數(shù)據(jù)區(qū),所以其內(nèi)容(mmm)(m也是一個(gè)4位二進(jìn)制數(shù))是一個(gè)要送入累加器A中去的數(shù)據(jù)。 (5) 在T4拍時(shí) ME=1LA=1 則RAM中地址為nn的存儲單元的內(nèi)容(mmm)被送到累加器A中去。 (6) 在T5拍時(shí):沒有任何操作,所以是空操作。這就是一條指令的執(zhí)行過程。對于其他的指令,如SUB,LDX等都可根據(jù)上例從表中知道各個(gè)組件的操作情況和信息流通的方向。 3.9 現(xiàn)代技術(shù)在微型計(jì)算機(jī)中的應(yīng)用 科學(xué)技術(shù)的發(fā)展對微型計(jì)算機(jī)的要求是無止境的,一臺最完美的8位微處理器因受到它的字長(8位)、地址線的數(shù)量(16條)以及某些復(fù)雜指令不能一次完成,要編寫子程序來實(shí)現(xiàn)等局限性,不能滿足工業(yè)生產(chǎn)和科研工作中的復(fù)雜運(yùn)算。新的16位和32位微處理機(jī)要比8位機(jī)強(qiáng)得多。 16/32位微型計(jì)算機(jī)與8位機(jī)相比,除明顯的處理字長不同外,還有下述優(yōu)點(diǎn): (1) 更多的寄存器: 可以減少CPU對存儲器訪問的次數(shù),提高處理速度。 (2) 增加了存儲器尋址范圍: 16/32位地址字允許CPU直接對幾百萬個(gè)地址進(jìn)行尋址。 (3) 更大的指令系統(tǒng): 包括16位乘法及除法指令,塊移動指令等,簡化了編程,從而加快了軟件的開發(fā)。 (4) 更高的速度: 采用了新型的半導(dǎo)體技術(shù),時(shí)鐘頻率可以從過去8MHz提高到33MHz至1GHz,因此加快了微處理器的運(yùn)算速度。 (5) 新的結(jié)構(gòu): 微型計(jì)算機(jī)的內(nèi)部組織管理采用微程序控制及流水線技術(shù),加快了取指周期和訪問存儲器操作。在某些情況下運(yùn)行的速度,達(dá)到數(shù)量級的增長。 (6) 存儲器管理的改進(jìn): 在硬件上增添高速緩沖存儲器,而在軟件上采用虛擬存儲技術(shù),使微型計(jì)算機(jī)中執(zhí)行最慢的存儲器存取速度得到很大的提高;也使微型計(jì)算機(jī)的主存儲器在不擴(kuò)大容量的情況下達(dá)到成倍的增加。 16/32位微處理器是采用超大規(guī)模集成電路(VLSI)技術(shù),把更多、更復(fù)雜的電路都制作在一個(gè)芯片中,成為新一代產(chǎn)品。在這一節(jié)中,將要綜述一下這些技術(shù)的發(fā)展。 3.9.1 流水線技術(shù) 以往的計(jì)算機(jī)都采用馮·諾伊曼(Von·Neumann)結(jié)構(gòu),通常稱為存儲程序的運(yùn)行方式,即程序的指令順序地儲存在存儲器中,這些指令被逐條取出并執(zhí)行。這種串行運(yùn)行,重復(fù)取出和執(zhí)行順序指令是以往計(jì)算機(jī)的主要局限性。根本解決的方法是采用并行操作。 流水線技術(shù)是一種同時(shí)進(jìn)行若干操作的并行處理方式。它把取操作和執(zhí)行操作重疊進(jìn)行,在執(zhí)行一條指令的同時(shí),又取另一條或若干條指令。程序中的指令仍是順序執(zhí)行,但可以預(yù)先取若干指令,并在當(dāng)前指令尚未執(zhí)行完時(shí),提前啟動另一些操作。我們用“。瘓(zhí)行”工作中要完成的幾個(gè)操作為例。在這一個(gè)工作周期中要完成以下操作: (1) 取指令: CPU去主存儲器尋址,讀出指令字并送入指令寄存器。 (2) 指令譯碼: 翻譯過程可以用譯碼器或微程序控制單元來實(shí)現(xiàn)。 (3) 地址生成: 很多指令要訪問存儲器中的操作數(shù),操作數(shù)的地址也許在指令字中,或要經(jīng)過某些運(yùn)算。 (4) 取操作數(shù): 當(dāng)運(yùn)算指令要求操作數(shù)時(shí),就需再訪問存儲器,對操作數(shù)進(jìn)行尋址并讀出。 (5) 執(zhí)行指令: 最后指令由ALU執(zhí)行。這種串行運(yùn)行的順序如圖3.12(a)所示。而流水線操作就有可能使某些操作重疊。如在上一條指令在執(zhí)行時(shí)就順序從存儲器中取下一條指令,如圖3.12(b)所示。并行操作就可加快一段程序的運(yùn)算過程。 流水線技術(shù)是要增加計(jì)算機(jī)的硬件,例如上述中,要采用預(yù)取指令操作就需要增加硬件來取指令,并把它存放到寄存器隊(duì)列中,使微處理器能同時(shí)進(jìn)行取指令和執(zhí)行微指令重疊進(jìn)行。因此,在16/32位微處理機(jī)中含有兩個(gè)運(yùn)算/邏輯單元,一個(gè)主ALU僅用于取指令,另一個(gè)ALU專用于地址生成,這樣就可使地址計(jì)算與其他操作同時(shí)進(jìn)行。雖然流水線技術(shù)已廣泛地應(yīng)用于16/32位微處理機(jī),但由于不同的指令運(yùn)行時(shí)間不一樣長,流水線技術(shù)受到最長步驟所需時(shí)間的限制。 3.9.2 高速緩沖存儲器 在微型計(jì)算機(jī)中,雖然CPU的處理速度大大地提高,但主存儲器的存/取時(shí)間卻要比CPU慢一個(gè)數(shù)量級,這一現(xiàn)象嚴(yán)重地影響微型機(jī)的運(yùn)算速度。在半導(dǎo)體RAM中,只有價(jià)格極為昂貴的雙極型RAM線路的讀寫時(shí)間可與CPU的處理速度處于同一個(gè)數(shù)量級。因此就產(chǎn)生一種分級處理的方法,在主存儲器和CPU之間加一個(gè)容量相對較小的高速緩沖存儲器(cache,簡稱高速緩存器),如圖3.13所示。有了高速緩存器以后,不論指令或數(shù)據(jù)要從主存儲器中存入或取出時(shí),都先把它及后面連續(xù)的一組傳遞到高速緩存器中,CPU在取下一條指令或向操作數(shù)發(fā)出一個(gè)地址時(shí),它首先看看所需的數(shù)據(jù)是否就在高速緩存器里,如果在高速緩存器內(nèi),就立即傳送給CPU;如果不在緩存器中,就要做一次常規(guī)的存儲器訪問。 由于程序中相關(guān)的數(shù)據(jù)塊一般都順序存放,并且大都存在相鄰的存儲單元內(nèi),因此CPU對存儲器的存取也大都是在相鄰的單元中進(jìn)行。一般情況,CPU在高速緩存器中存取的命中率可以高達(dá)90%以上。高速緩存器及其控制線路均是由計(jì)算器的硬件實(shí)現(xiàn),因而用戶或程序員就無需訪問或控制操作高速緩存器,它就能大大提高CPU對存儲器的存取速度,而花費(fèi)的代價(jià)是較低的。 3.9.3 虛擬存儲器 每一臺微型機(jī)都有一個(gè)確定數(shù)量的主存儲器,它大都是采用半導(dǎo)體RAM。而在大多數(shù)情況下,程序和數(shù)據(jù)最初都存放在某個(gè)大容量的軟磁盤和硬磁盤中,當(dāng)需要時(shí)才把它們從磁盤傳送到RAM中去,然后執(zhí)行。有時(shí),一個(gè)程序及數(shù)據(jù)要比主存儲器RAM的容量還大,這就無法運(yùn)行。 為解決這類問題,我們采用硬件和軟件的綜合技術(shù)——虛擬存儲器,它允許建立一個(gè)存儲容量比實(shí)際物理上主存儲器的容量更大。存放在虛擬存儲器中的數(shù)據(jù)或程序只有其中一部分放在物理存儲器,若所執(zhí)行的指令地址不在這部分存儲器里時(shí),管理計(jì)算機(jī)的軟件(計(jì)算機(jī)操作系統(tǒng))能察覺出來,知道要找的地址不在RAM中而在一個(gè)外部磁盤里。計(jì)算機(jī)管理軟件就會自動啟動磁盤,把包括所需地址的存儲區(qū)域調(diào)入物理存儲器,覆蓋原先存在的部分后繼續(xù)運(yùn)行。虛擬存儲器像是一個(gè)很大的,并具有相連存儲單元的假想存儲器。在虛擬存儲計(jì)算機(jī)里,虛擬存儲器劃分成固定長度的相連區(qū)段,并有一個(gè)專門的邏輯地址寄存器來管理。大多數(shù)16/32位微處理器都沒有片內(nèi)虛擬存儲器,而是用輔助芯片來實(shí)現(xiàn)。 3.9.4 現(xiàn)代技術(shù)的應(yīng)用 本節(jié)所介紹微處理器的幾種現(xiàn)代技術(shù)在各種不同的16/32位微處理器得到廣泛的應(yīng)用。本書主要講述的16位微處理器都采用或部分采用了以上幾種現(xiàn)代技術(shù),比8位微處理機(jī)向前發(fā)展了一步。這是當(dāng)前科技人員所必須掌握的。 習(xí)題 3.1 寫出本章中簡化式計(jì)算機(jī)的指令系統(tǒng)的每條指令的匯編語言的助記符及其相應(yīng)的機(jī)器碼。 3.2 程序計(jì)數(shù)器PC的內(nèi)容是什么意義? 3.3 指令寄存器IR從PROM接收到指令字(8位)后的運(yùn)行過程如何,起什么作用? 3.4 試簡述程序設(shè)計(jì)的4個(gè)步驟。 3.5 環(huán)形計(jì)數(shù)器有何用處?什么叫環(huán)形字? 3.6 什么叫例行程序?什么叫機(jī)器、取指和執(zhí)行周期?本章簡化式計(jì)算機(jī)的機(jī)器周期包括幾個(gè)時(shí)鐘周期(機(jī)器節(jié)拍)?機(jī)器周期是否一定是固定不變的? 3.7 控制部件包括哪些主要環(huán)節(jié)?各有何用處? 3.8 子程序計(jì)數(shù)器有何用處? 3.9 本章第2個(gè)微型計(jì)算機(jī)的指令系統(tǒng)有多少條指令?它們可分成幾種類型?各個(gè)類型的特點(diǎn)是什么? 3.10 此微型機(jī)的控制字有幾位?各位的意義是什么? 3.11 變址寄存器X有何功能?在運(yùn)算中能起什么作用? 3.12 指令寄存器IR是如何將其指令字段和地址字段分送出去的?這兩個(gè)字段的位數(shù)是否保持不變? 3.13 試寫出第2個(gè)微型計(jì)算機(jī)的各條指令的匯編語言的助記符及其相應(yīng)的機(jī)器碼。mlD紅軟基地

機(jī)械工程材料ppt作品:這是機(jī)械工程材料ppt作品,包括了緒論,工程材料的力學(xué)性能,金屬材料的基礎(chǔ)知識,金屬的塑性變形與再結(jié)晶,鋼的熱處理,金屬材料,非金屬材料,機(jī)械零件的失效與選材,新材料和新工藝等內(nèi)容,歡迎點(diǎn)擊下載。

機(jī)械工程測試技術(shù)ppt:這是機(jī)械工程測試技術(shù)ppt,包括了緒論,信息信號,測量誤差的分類,測試裝置的基本特性,常用傳感器與敏感元件,信號調(diào)理與記錄,振動的測試等內(nèi)容,歡迎點(diǎn)擊下載。

機(jī)械工程材料論文PPT課件:這是一個(gè)關(guān)于機(jī)械工程材料論文PPT課件,主要介紹了金屬材料的主要性能、金屬和合金的晶體結(jié)構(gòu)與結(jié)晶、鐵碳合金、常用金屬材料、其他工程材料、機(jī)械零件選材的一般原則等內(nèi)容。第二章 機(jī)械工程材料基礎(chǔ)第一節(jié) 金屬材料的主要性能第二節(jié) 金屬和合金的晶體結(jié)構(gòu)與結(jié)晶第三節(jié) 鐵碳合金第四節(jié) 常用金屬材料第五節(jié) 其他工程材料第六節(jié) 機(jī)械零件選材的一般原則 拉伸試驗(yàn) 1. 屈服點(diǎn)——材料產(chǎn)生屈服點(diǎn)的最小應(yīng)力。 表征金屬發(fā)生明顯塑性變形的抗力。2. 抗拉強(qiáng)度——材料在拉斷前所承受的最大應(yīng)力。表示材料抵抗均勻塑性變形的最大能力。(三)硬度 ——指工程材料抵抗更硬的物體壓入其表面內(nèi)的能力,表示材料抵抗局部塑性變形或破壞的性能,是一個(gè)綜合反映材料彈性、塑性、強(qiáng)度和韌性的機(jī)械性能指標(biāo)。70~85HRA 25~100HRB 20~70HRC 一、金屬的晶體結(jié)構(gòu)(一)晶體 特點(diǎn):1. 具有規(guī)則的外形;2. 具有固定的熔點(diǎn);3. 具有各向異性。(二)晶格 ——描述原子在晶體中規(guī)則排列方式的空間幾何圖形,歡迎點(diǎn)擊下載機(jī)械工程材料論文PPT課件哦。

PPT分類Classification

Copyright:2009-2024 紅軟網(wǎng) rsdown.cn 聯(lián)系郵箱:rsdown@163.com

湘ICP備2024053236號-1