版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、TEC-XP計(jì)算機(jī)組成原實(shí)驗(yàn)系統(tǒng)簡(jiǎn) 介計(jì)算機(jī)組成原理是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)、信管、軟件工程的一門核心專業(yè)基礎(chǔ)課程,從2009年起,是計(jì)算機(jī)專業(yè)研究生入學(xué)考試重要的必考課程之一,它在基礎(chǔ)課和專業(yè)課之間起著重要的銜接作用,通過(guò)本課程的學(xué)習(xí),使學(xué)生能深入了解計(jì)算機(jī)中“程序、數(shù)據(jù)的表示方法、運(yùn)算方法”,掌握計(jì)算機(jī)中核心部件“運(yùn)算器、控制器、存儲(chǔ)器、外設(shè)”的硬件組成、功能、控制方法及工作原理。本課程主要特點(diǎn):知識(shí)面廣、內(nèi)容多、更新快,又加之教材不針對(duì)具體機(jī)型結(jié)構(gòu),學(xué)生學(xué)起來(lái)感覺(jué)空洞抽象、難以理解。因此,迫切需要某一具體機(jī)型來(lái)學(xué)習(xí),增強(qiáng)對(duì)該課程的理解。 TEC-XP實(shí)驗(yàn)教學(xué)機(jī)是一臺(tái)軟、硬件相對(duì)完整、配置小
2、巧合理的完整計(jì)算機(jī)系統(tǒng)。用“麻雀雖小,肝膽俱全”這句話描述很切合實(shí)際。TEC-XP機(jī)里面配置了小巧的 “運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備”完整要素,通過(guò)這臺(tái)實(shí)驗(yàn)機(jī)的學(xué)習(xí),對(duì)掌握計(jì)算機(jī)的基本構(gòu)造、實(shí)現(xiàn)方法、實(shí)現(xiàn)原理具有很大的幫助。-13-目 錄第1章 TEC-XP實(shí)驗(yàn)系統(tǒng)簡(jiǎn)介11.1 TEC-XP計(jì)算機(jī)組成原理實(shí)驗(yàn)箱簡(jiǎn)介11.2 TEC-XP實(shí)驗(yàn)系統(tǒng)的硬件、軟件組成2第2章 TEC-XP教學(xué)機(jī)指令系統(tǒng)52.1 指令系統(tǒng)綜述52.2 教學(xué)機(jī)指令匯總8第3章 TEC-XP教學(xué)計(jì)算機(jī)硬件系統(tǒng)103.1 教學(xué)計(jì)算機(jī)硬件系統(tǒng)的組成概述103.2 教學(xué)計(jì)算機(jī)運(yùn)算器部件技術(shù)說(shuō)明143.3 TEC-X
3、P硬布線控制器233.4 微程序控制器部件的技術(shù)說(shuō)明383.5 TEC-XP內(nèi)存儲(chǔ)器部件523.6 tec-xp實(shí)驗(yàn)機(jī)串行接口533.7中斷線路54第4章 實(shí)驗(yàn)59實(shí)驗(yàn)一、基礎(chǔ)匯編語(yǔ)言程序設(shè)計(jì)59實(shí)驗(yàn)二、脫機(jī)運(yùn)算器實(shí)驗(yàn)68實(shí)驗(yàn)三、組合邏輯控制器實(shí)驗(yàn)70實(shí)驗(yàn)四、存儲(chǔ)器實(shí)驗(yàn)73實(shí)驗(yàn)五、微程序控制器實(shí)驗(yàn)77第1章 TEC-XP實(shí)驗(yàn)系統(tǒng)簡(jiǎn)介TEC-XP由清華大學(xué)科教儀器廠和清華大學(xué)計(jì)算機(jī)系聯(lián)合研制。該實(shí)驗(yàn)系統(tǒng)重點(diǎn)用于計(jì)算機(jī)組成原理和計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)等課程的硬件教學(xué)實(shí)驗(yàn),還支持監(jiān)控程序、匯編語(yǔ)言程序設(shè)計(jì)、BASIC高級(jí)語(yǔ)言程序設(shè)計(jì)等軟件方面的教學(xué)實(shí)驗(yàn)。1.1 TEC-XP計(jì)算機(jī)組成原理實(shí)驗(yàn)箱簡(jiǎn)介1.教學(xué)機(jī)
4、系統(tǒng)配置了兩個(gè)不同實(shí)現(xiàn)方案的CPU系統(tǒng),一個(gè)CPU沿襲傳統(tǒng)的設(shè)計(jì)思路,和當(dāng)前主流的教材配套,由中小規(guī)模的器件組成;另一個(gè)CPU參考國(guó)外著名大學(xué)的設(shè)計(jì)思路用大規(guī)模的FPGA器件設(shè)計(jì)實(shí)現(xiàn)。2.教學(xué)機(jī)的機(jī)器字長(zhǎng)16位, 即運(yùn)算器、主存、數(shù)據(jù)總線、地址總線都是16位。3.指令系統(tǒng)支持多種基本尋址方式。其中一部分指令已實(shí)現(xiàn),用于設(shè)計(jì)監(jiān)控程序和用戶的常規(guī)匯編程序,尚保留多條指令供實(shí)驗(yàn)者自己實(shí)現(xiàn)。4.主存最大尋址空間是18K字,由基本容量為8K(字節(jié)或16位的字)的ROM和2K(字節(jié)或16位的字)的RAM存儲(chǔ)區(qū)域組成。還可以進(jìn)一步完成存儲(chǔ)器擴(kuò)展的教學(xué)實(shí)驗(yàn)。5.原理上講,主時(shí)鐘脈沖的頻率可在幾百KHz近2MH
5、z之間選擇。6.運(yùn)算器由4片位片結(jié)構(gòu)器件級(jí)聯(lián)而成,片間用串行進(jìn)位方式傳遞進(jìn)位信號(hào)。ALU實(shí)現(xiàn)8種算術(shù)與邏輯運(yùn)算功能,內(nèi)部包括16個(gè)雙端口讀出、單端口寫(xiě)入的通用寄存器, 和一個(gè)能自行移位的乘商寄存器。設(shè)置C(進(jìn)位)、Z(結(jié)果為0)、V(溢出)和S(符號(hào)位)四個(gè)狀態(tài)標(biāo)志位。7.控制器采用微程序和硬布線兩種控制方案實(shí)現(xiàn),可由實(shí)驗(yàn)者自由選擇。實(shí)驗(yàn)人員可方便地修改已有設(shè)計(jì),或加進(jìn)若干條自己設(shè)計(jì)與實(shí)現(xiàn)的新指令,新老指令同時(shí)運(yùn)行。8.主機(jī)上安裝有兩路INTEL8251串行接口,一路出廠時(shí)已經(jīng)實(shí)現(xiàn),可直接接計(jì)算機(jī)終端,或接入一臺(tái)PC機(jī)作為自己的仿真終端;另一路保留學(xué)生擴(kuò)展實(shí)現(xiàn)。選用了MAX202倍壓線路,以避
6、免使用+12V和-12V電源。9.在主板的右下方,配置了完成中斷教學(xué)實(shí)驗(yàn)的全套線路,可以實(shí)現(xiàn)三級(jí)中斷和中斷嵌套。10.系統(tǒng)實(shí)現(xiàn)多種運(yùn)行方式,可以單步/連續(xù)運(yùn)行主存儲(chǔ)器的指令或程序,也可以執(zhí)行一條或若干條通過(guò)數(shù)據(jù)開(kāi)關(guān)手動(dòng)置入的指令。11.主板上設(shè)置數(shù)據(jù)開(kāi)關(guān)和微型開(kāi)關(guān)、按鍵和指示燈,支持最低層的手工操作方式的輸入/輸出,通過(guò)指示燈來(lái)顯示重要的數(shù)據(jù)或控制信號(hào)的狀態(tài),可以完成機(jī)器調(diào)試和故障診斷。板上還有支持教學(xué)實(shí)驗(yàn)用的一定數(shù)量的跳線夾。12.實(shí)驗(yàn)機(jī)硬件系統(tǒng),全部功能部件分區(qū)域劃分在大一些的水平放置的一塊印制電路板的不同區(qū)域,所有器件都用插座插接在印制板上,便于更換器件。13.實(shí)驗(yàn)計(jì)算機(jī)使用單一的5V、
7、最大電流3A的直流模塊電源,所耗電流在1.52.5A之間。電源模塊安裝在水平電路板右上角位置,交流220V通過(guò)電源接線插到機(jī)箱后側(cè)板,經(jīng)保險(xiǎn)絲、開(kāi)關(guān)連接到電路板上,開(kāi)關(guān)安放在機(jī)箱右側(cè)靠后位置,方便操作且比較安全。13.兩路的串行接口的接插座安放在機(jī)箱后側(cè)板以方便接線插拔和機(jī)箱蓋的打開(kāi)關(guān)閉1.2 TEC-XP實(shí)驗(yàn)系統(tǒng)的硬件、軟件組成硬件、軟件系統(tǒng)的組成和實(shí)現(xiàn)功能如圖1.1和 圖1.2所示。軟件:解釋 BASIC 語(yǔ)言匯編語(yǔ)言支持監(jiān)控程序硬件:運(yùn)算器,控制器(多種實(shí)現(xiàn):微程序或硬連線控制器,中小規(guī)模器件或FPGA器件實(shí)現(xiàn))主存儲(chǔ)器,總線,接口輸入設(shè)備,輸出設(shè)備硬件與電路:邏輯器件和設(shè)備軟件:解釋
8、BASIC 語(yǔ)言匯編語(yǔ)言支持監(jiān)控程序(指令)級(jí)模擬教學(xué)機(jī)模擬:運(yùn)算器、控制器模擬(微程序級(jí)或硬連線控制器級(jí)模擬)主存儲(chǔ)器模擬,總線、接口模擬輸入設(shè)備/ 輸出設(shè)備模擬運(yùn)行環(huán)境:PC機(jī),Windows系統(tǒng)圖1.1 硬件實(shí)現(xiàn)的真實(shí)計(jì)算機(jī)系統(tǒng) 圖1.2 軟件實(shí)現(xiàn)的模擬計(jì)算機(jī)系統(tǒng)從圖1.1可以看到,該計(jì)算機(jī)硬件系統(tǒng)組成中,功能部件是完整齊備的,運(yùn)算器、控制器、存儲(chǔ)器、輸入輸出接口、計(jì)算機(jī)總線等配備齊全,還可以接通PC機(jī)仿真終端執(zhí)行輸入輸出操作,同時(shí)實(shí)現(xiàn)了微程序和硬連線兩種方案控制器。從CPU的具體設(shè)計(jì)和實(shí)現(xiàn)技術(shù)來(lái)說(shuō),既支持用中小集成度器件實(shí)現(xiàn)CPU的方案,也支持選用高集成度的FPGA門陣列實(shí)現(xiàn)CPU的方
9、案,體現(xiàn)了CPU系統(tǒng)設(shè)計(jì)的最新水平。從計(jì)算機(jī)組成原理課程教學(xué)實(shí)驗(yàn)的角度看,該計(jì)算機(jī)軟件系統(tǒng)組成也是完整的,支持簡(jiǎn)單的高級(jí)語(yǔ)言BASIC(包括浮點(diǎn)運(yùn)算指令和基本函數(shù)運(yùn)算功能),匯編語(yǔ)言(支持基本偽指令功能)和二進(jìn)制的機(jī)器語(yǔ)言,配有自己的監(jiān)控程序,以及PC機(jī)仿真終端程序等。毫無(wú)疑問(wèn),全部軟件的源程序代碼是寶貴的教學(xué)參考資料。從圖1.2可以看到,軟件實(shí)現(xiàn)的計(jì)算機(jī)指令級(jí)模擬系統(tǒng),可以使實(shí)驗(yàn)人員脫離實(shí)際的教學(xué)計(jì)算機(jī)系統(tǒng),在PC機(jī)上執(zhí)行教學(xué)計(jì)算機(jī)軟件系統(tǒng)的全部功能;微程序和硬連線這一級(jí)別的模擬軟件,可以通過(guò)PC機(jī)屏幕查看在教學(xué)計(jì)算機(jī)內(nèi)部數(shù)據(jù)、指令的流動(dòng)過(guò)程,并顯示每一步的運(yùn)行結(jié)果,為設(shè)計(jì)、調(diào)試教學(xué)機(jī)新的軟
10、件或硬件功能提供重要的輔助作用??刂破鳎ㄎ⒊绦蚧蛴策B線方案)輔助設(shè)計(jì)軟件,可以讓同學(xué)在PC機(jī)上使用該軟件直接設(shè)計(jì)該計(jì)算機(jī)的控制器,包括定義指令格式和編碼,劃分指令執(zhí)行步驟和每一步的操作功能,確定控制器需要提供的全部控制信號(hào)等全部過(guò)程,最后會(huì)自動(dòng)生成能裝入教學(xué)計(jì)算機(jī)硬件系統(tǒng)中實(shí)際應(yīng)用的最終結(jié)果文件。接下來(lái)還可以選用微程序級(jí)的模擬軟件系統(tǒng),或者硬連線控制器級(jí)的模擬軟件系統(tǒng),對(duì)經(jīng)過(guò)輔助設(shè)計(jì)軟件得到的設(shè)計(jì)結(jié)果進(jìn)行模擬運(yùn)行,計(jì)算機(jī)屏幕上會(huì)詳細(xì)顯示每一步的運(yùn)行結(jié)果,做到盡早地發(fā)現(xiàn)問(wèn)題。由于在執(zhí)行上述的控制器設(shè)計(jì)和模擬運(yùn)行的整個(gè)過(guò)程中,都是在PC機(jī)上完成的,脫離實(shí)際的教學(xué)機(jī)系統(tǒng),工作更方便,效率更高,對(duì)節(jié)省
11、學(xué)時(shí)、幫助同學(xué)加深對(duì)控制器組成、設(shè)計(jì)等方面的理解深度也有益處。 圖1.3 實(shí)驗(yàn)系統(tǒng)的硬件系統(tǒng)組成示意圖 從圖中可以看到TEC-XP教學(xué)計(jì)算機(jī)的總體組成。在圖的左部所表示的是選用中小規(guī)模器件實(shí)現(xiàn)的CPU系統(tǒng),由獨(dú)立的運(yùn)算器、控制器部件組成。圖的中間部分所表示的是內(nèi)存儲(chǔ)器、串行接口線路的組成。圖的右部虛線部分所表示的是選用FPGA門陣列器件實(shí)現(xiàn)的單個(gè)芯片的CPU系統(tǒng)。這兩個(gè)CPU系統(tǒng)都可以通過(guò)數(shù)據(jù)總線、地址總線和控制總線連接內(nèi)存儲(chǔ)器、串行接口線路,從而構(gòu)成一臺(tái)完整的計(jì)算機(jī)硬件系統(tǒng),安裝上必要的軟件就可以正常運(yùn)行,作為計(jì)算機(jī)組成原理課程內(nèi)容實(shí)例和教學(xué)實(shí)驗(yàn)設(shè)備具有很好的典型性。兩個(gè)CPU系統(tǒng)需要通過(guò)分
12、時(shí)或者獨(dú)占的方式使用同一套存儲(chǔ)器部件和串行接口線路。 由中小規(guī)模器件實(shí)現(xiàn)的CPU構(gòu)建的教學(xué)計(jì)算機(jī)系統(tǒng)硬件組成如下:運(yùn)算器中配置了兩組獨(dú)立的8位字長(zhǎng)的運(yùn)算器,各自由2片位片結(jié)構(gòu)的運(yùn)算器器件組成;還有四位的狀態(tài)標(biāo)志寄存器和教學(xué)實(shí)驗(yàn)所需的相關(guān)邏輯部件。全部的算術(shù)與邏輯運(yùn)算均在這里完成; 還完成幾種尋址方式的實(shí)際地址計(jì)算; 它也是主要的數(shù)據(jù)、地址傳送的通路。要特別說(shuō)明的一點(diǎn)是, 堆棧指針SP和控制器中的程序計(jì)數(shù)器PC,都是用這里的幾個(gè)通用寄存器來(lái)實(shí)現(xiàn)的, 以節(jié)省器件與簡(jiǎn)化實(shí)驗(yàn)機(jī)的實(shí)現(xiàn)。控制器分別用微程序方式與硬布線方式兩種方案實(shí)現(xiàn), 實(shí)驗(yàn)者可以方便地選擇使用其中任何一種。這能方便地比較兩種控制器各自的
13、優(yōu)缺點(diǎn), 和設(shè)計(jì)過(guò)程的相同的、不同的步驟與方法。在選用器件時(shí), 微程序方案中選用了美國(guó)AMD公司的微程序定序器Am2910芯片, 保證微程序設(shè)計(jì)的規(guī)范與實(shí)用性;控存體選用唯讀存儲(chǔ)器(ROM)芯片, 通過(guò)對(duì)該ROM的編程寫(xiě)入方式支持動(dòng)態(tài)微程序設(shè)計(jì)。硬布線方案中, 節(jié)拍邏輯與時(shí)序控制信號(hào)形成部件(組合邏輯線路)選用了GAL20V8 現(xiàn)場(chǎng)可編程器件和Macro Array CMOS High density(簡(jiǎn)寫(xiě)為MACH)器件, 這對(duì)簡(jiǎn)化控制器的邏輯設(shè)計(jì)與實(shí)現(xiàn)至關(guān)重要,也有利于進(jìn)一步掌握數(shù)字系統(tǒng)設(shè)計(jì)自動(dòng)化和邏輯模擬的新知識(shí)。主存儲(chǔ)器選用靜態(tài)存儲(chǔ)器芯片, 配置了兩路各自由8K字節(jié)容量的ROM (放監(jiān)
14、控程序)和2K字節(jié)容量的RAM (放用戶程序和數(shù)據(jù))存儲(chǔ)區(qū)域組成的主存儲(chǔ)器。還配置了另外2片存儲(chǔ)器芯片的器件插座,可以方便地完成對(duì)16位字長(zhǎng)的內(nèi)存儲(chǔ)器的容量擴(kuò)展實(shí)驗(yàn)。對(duì)ROM存儲(chǔ)區(qū)可以選用紫外線擦除(27系列)或電擦除(28系列)的存儲(chǔ)器芯片實(shí)現(xiàn)。地址總線采用16位寬度,以便訪問(wèn)較大的主存空間。輸入/輸出接口及可接入的輸入/輸出設(shè)備, 已配備了一路串行接口, 可直接連接計(jì)算機(jī)終端, 或者在仿真終端軟件控制下接入PC計(jì)算機(jī)。這種方式下, 通過(guò)終端或PC機(jī)(作為仿真終端)操作教學(xué)實(shí)驗(yàn)計(jì)算機(jī)方便直觀, 為教學(xué)實(shí)驗(yàn)提供了非常先進(jìn)的實(shí)驗(yàn)手段。還提供了由學(xué)生自己通過(guò)擴(kuò)展實(shí)驗(yàn)實(shí)現(xiàn)另外一路串行接口的全部支持。
15、作為最底層的輸入/輸出手段, 開(kāi)關(guān)撥數(shù)輸入, 指示燈顯示輸出的操作方式還是應(yīng)該有的。這是系統(tǒng)出現(xiàn)嚴(yán)重故障后(如器件失效等), 完成故障定位與排除的最后一道防線, 對(duì)提高學(xué)生的實(shí)驗(yàn)技能也很有用處。同時(shí)還提供了其他一些輸入/輸出接口支持。為此, 實(shí)驗(yàn)機(jī)主板上預(yù)留了一個(gè)40芯的器件插座, 并給出了擴(kuò)展操作可能用到的地址、數(shù)據(jù)及控制信號(hào)的連接插孔。同時(shí)還提供了完成中斷教學(xué)實(shí)驗(yàn)所需要的全部支持 選用FPGA門陣列器件實(shí)現(xiàn)的單個(gè)芯片的CPU系統(tǒng)內(nèi)部組成如下: 圖1.4 由FPGA器件構(gòu)成的CPU的內(nèi)部結(jié)構(gòu)示意圖由圖中可以看出該CPU主要由三個(gè)部件組成:運(yùn)算器部件(名稱是Am2901)、控制器部件(名稱是c
16、ontrollor)、數(shù)據(jù)總線部件(名稱是data_IB,用于實(shí)現(xiàn)與存儲(chǔ)器和IO接口線路通信)。CPU與教學(xué)計(jì)算機(jī)已有的存儲(chǔ)器部件和串行接口線路的連接方案參照?qǐng)D1.3。該CPU的地址寄存器的輸出作為地址總線的內(nèi)容送到存儲(chǔ)器芯片的地址線引腳,用以選擇被讀寫(xiě)的內(nèi)存單元,數(shù)據(jù)總線的內(nèi)容被送到存儲(chǔ)器芯片和串行接口芯片的數(shù)據(jù)線引腳以提供讀寫(xiě)數(shù)據(jù)。內(nèi)存儲(chǔ)器和IO接口芯片的讀寫(xiě)命令也由該CPU提供。此時(shí)需要確保原來(lái)用中小規(guī)模器件構(gòu)建的CPU的地址總線和數(shù)據(jù)總線的輸出都處于高阻狀態(tài),并且不會(huì)產(chǎn)生內(nèi)存儲(chǔ)器和IO接口芯片的讀寫(xiě)命令沖突。第2章 TEC-XP教學(xué)機(jī)指令系統(tǒng)21 指令系統(tǒng)綜述2.1.1 指令分類教學(xué)機(jī)
17、的指令按不同的分類標(biāo)準(zhǔn)可劃分為:1. 從指令長(zhǎng)度區(qū)分,有單字指令和雙字指令。2. 從操作數(shù)的個(gè)數(shù)區(qū)分,有三操作數(shù)指令、雙操作數(shù)指令、單操作數(shù)指令和無(wú)操作數(shù)指令。3. 從使用的尋址方式區(qū)分,有寄存器尋址、寄存器間址、立即數(shù)尋址、直接地址、相對(duì)尋址等多種基本尋址方式。4. 從指令功能區(qū)分,給出了算術(shù)和邏輯運(yùn)算類指令、讀寫(xiě)內(nèi)存類指令、輸入/輸出類指令、轉(zhuǎn)移指令、子程序調(diào)用和返回類指令,還有傳送、移位、置進(jìn)位標(biāo)志和清進(jìn)位標(biāo)志等指令。5. 按照指令的功能和它們的執(zhí)行步驟,可以把該機(jī)的指令劃分為如下4組。在后面幾節(jié)中給出的指令流程框圖、指令流程表都是以此為標(biāo)準(zhǔn)進(jìn)行指令劃分的。A組:基本指令A(yù)DD、SUB、
18、AND、OR、XOR、CMP、TEST、MVRR、DEC、INC、SHL、SHR、JR、JRC、JRNC、JRZ、JRNZ擴(kuò)展指令A(yù)DC、SBB、RCL、RCR、ASR、NOT、CLC、STC、EI、DI、JRS、JRNS、JMPRB組:基本指令JMPA、LDRR、STRR、PUSH、POP、PUSHF、POPF、MVRD、IN、OUT、RETC組:擴(kuò)展指令CALR、LDRA、STRA、LDRX、STRXD組:基本指令CALA擴(kuò)展指令I(lǐng)RET1) A組指令完成的是通用寄存器之間的數(shù)據(jù)運(yùn)算或傳送,在取指之后可一步完成。2) B組指令完成的是一次內(nèi)存或I/O讀、寫(xiě)操作,在取指之后可兩步完成,第一步
19、把要使用的地址傳送到地址寄存器ARH、ARL中,第二步執(zhí)行內(nèi)存或I/O讀、寫(xiě)操作。3) C組指令在取指之后可三步完成,其中CALR指令在用兩步讀寫(xiě)內(nèi)存之后,第三步執(zhí)行寄存器之間的數(shù)據(jù)傳送;而其它指令在第一步置地址寄存器ARH、ARL,第二步讀內(nèi)存(即取地址操作數(shù))、計(jì)算內(nèi)存地址、置地址寄存器ARH、ARL,第三步讀、寫(xiě)內(nèi)存。4) D組指令完成的是兩次讀、寫(xiě)內(nèi)存操作,在取指之后可四步完成。2.1.2 指令格式TEC-XP教學(xué)機(jī)實(shí)現(xiàn)了29條基本指令,用于編寫(xiě)教學(xué)機(jī)的監(jiān)控程序和支持簡(jiǎn)單的匯編語(yǔ)言程序設(shè)計(jì)。同時(shí)保留了19條擴(kuò)展指令,供學(xué)生在教學(xué)實(shí)驗(yàn)中完成對(duì)這些指令的設(shè)計(jì)與調(diào)試。教學(xué)機(jī)的指令格式支持單字
20、和雙字指令,第一個(gè)指令字的高8位是指令操作碼字段,低8位和雙字指令的第二個(gè)指令字是操作數(shù)、地址字段,分別有3種用法,如下圖所示。操作碼DRSRIO端口地址 / 相對(duì)偏移量立即數(shù) / 直接內(nèi)存地址 / 變址偏移量這8位指令操作碼(記作“IR15IR8”),含義如下:1) IR15、IR14用于區(qū)分指令組:0X表示A組,10表示B組,11表示C、D組;C、D組的區(qū)分還要用IR11,IR11=0為C組,IR11=1為D組。2) IR13用于區(qū)分基本指令和擴(kuò)展指令:基本指令該位為0,擴(kuò)展指令該位為1;3) IR12用于簡(jiǎn)化控制器實(shí)現(xiàn),其值恒為0;4) IR11IR8用于區(qū)分同一指令組中的不同指令。教學(xué)
21、機(jī)的指令根據(jù)指令字長(zhǎng)、操作數(shù)不同可劃分為如下6種指令格式:1) 單字、無(wú)操作數(shù)指令:格式:操作碼0000 0000基本指令:PSHF;狀態(tài)標(biāo)志(C、Z、V、S、P1、P0)入棧POPF;彈出棧頂數(shù)據(jù)送狀態(tài)標(biāo)志寄存器RET子程序返回?cái)U(kuò)展指令:CLC;清進(jìn)位標(biāo)志位C=0STC;置進(jìn)位標(biāo)志位C=1EI;開(kāi)中斷,置中斷允許位INTE=1DI;關(guān)中斷,置中斷允許位INTE=0IRET;中斷返回2) 單字、單操作數(shù)指令:格式:操作碼DR 00000000 SROFFSETI/O PORT基本指令:DECDR;DRDR-1INCDR;DRDR+1SHLDR;DR邏輯左移,最低位補(bǔ)0,最高位移入CSHRDR;
22、DR邏輯右移,最高位補(bǔ)0,最低位移入CJROFFSET;無(wú)條件跳轉(zhuǎn)到ADR,ADR=原PC值+OFFSETJRCOFFSET;當(dāng)C=1時(shí),跳轉(zhuǎn)到ADR,ADR=原PC值+OFFSETJRNCOFFSET;當(dāng)C=0時(shí),跳轉(zhuǎn)到ADR,ADR=原PC值+OFFSETJRZOFFSET;當(dāng)Z=1時(shí),跳轉(zhuǎn)到ADR,ADR=原PC值+OFFSETJRNZOFFSET;當(dāng)Z=0時(shí),跳轉(zhuǎn)到ADR,ADR=原PC值+OFFSETINI/O PORT;R0I/O PORT ,從外設(shè)I/O PORT端口讀入數(shù)據(jù)到R0OUTI/O PORT;I/O PORTR0,將R0中的數(shù)據(jù)寫(xiě)入外設(shè)I/O PORT端口PUSHSR
23、;SR入棧POPDR;彈出棧頂數(shù)據(jù)送DR擴(kuò)展指令:RCLDR;DR與C循環(huán)左移,C移入最低位,最高位移入CRCRDR;DR與C循環(huán)右移,C移入最高位,最低位移入CASRDR;DR算術(shù)右移,最高位保持不變,最低位移入CNOTDR;DR求反,即DR/DRJMPRSR;無(wú)條件跳轉(zhuǎn)到SR指向的地址CALRSR;調(diào)用SR指向的子程序JRSOFFSET;當(dāng)S=1時(shí),跳轉(zhuǎn)到ADR,ADR=原PC值+OFFSETJRNSOFFSET;當(dāng)S=0時(shí),跳轉(zhuǎn)到ADR,ADR=原PC值+OFFSET3) 單字、雙操作數(shù)指令:格式:操作碼DRSR基本指令:ADDDR,SR;DRDR+SRSUBDR,SR;DRDR-SRA
24、NDDR,SR;DRDR and SRCMPDR,SR;DR-SRXORDR,SR;DRDR xor SRTESTDR,SR;DR and SRORDR,SR;DRDR or SRMVRRDR,SR;DRSRLDRRDR,SR;DRSRSTRRDR,SR;DRSR擴(kuò)展指令:ADCDR,SR;DRDR+SR+CSBBDR,SR;DRDR-SR-C4) 雙字、單操作數(shù)指令:格式:操作碼0000 0000ADR基本指令:JMPAADR;無(wú)條件跳轉(zhuǎn)到地址ADRCALAADR;調(diào)用首地址在ADR的子程序5) 雙字、雙操作數(shù)指令:格式1:操作碼DR 0000 0000 SRDATA基本指令:MVRDDR,
25、DATA;DRDATA擴(kuò)展指令:LDRADR,ADR;DRADRSTRAADR,SR;ADRSR格式2:操作碼DRSRADR擴(kuò)展指令:LDRXDR,OFFSETSR;DROFFSET+SRSTRXDR,OFFSETSR;OFFSET+SRDR21 教學(xué)機(jī)指令匯總2.2.1 基本指令指令格式匯編語(yǔ)句操作數(shù)個(gè)數(shù)CZVS指令類型功能說(shuō)明00000000 DRSR00000001 DRSR00000010 DRSR00000011 DRSR00000100 DRSR00000101 DRSR00000110 DRSR00000111 DRSR00001000 DR000000001001 DR0000
26、00001010 DR000000001011 DR000001000001 OFFSET01000100 OFFSET01000101 OFFSET01000110 OFFSET01000111 OFFSETADD DR,SRSUB DR,SRAND DR,SRCMP DR,SRXOR DR,SRTEST DR,SROR DR,SRMVRR DR,SRDEC DRINC DRSHL DRSHR DRJR OFFSETJRC OFFSETJRNC OFFSETJRZ OFFSETJRNZ OFFSET22222222111111111*A組指令DRDR+SRDRDR-SRDRDR and SR
27、DR-SRDRDR xor SRDR and SRDRDR or SRDRSRDRDR-1DRDR+1DR,CDR/2DR,CDR*2無(wú)條件跳轉(zhuǎn)C=1時(shí)跳轉(zhuǎn)C=0時(shí)跳轉(zhuǎn)Z=1時(shí)跳轉(zhuǎn)Z=0時(shí)跳轉(zhuǎn)10000000 0000000ADR(16位)10000001 DRSR10000010 I/O PORT10000011 DRSR10000100 0000000010000101 0000SR10000110 I/O PORT10000111 DR000010001000 DR000010001100 0000000010001111 00000000JMPA ADRLDRR DR,SRIN I/O
28、 PORTSTRR DR,SRPSHFPUSH SROUT I/O PORTPOP DRMVRD DR,DATAPOPFRET12120111200B組指令無(wú)條件跳到ADRDRSRR0I/O PORTDRSRFLAG入棧SR入棧I/O PORTR0DR出棧DRDATAFLAG出棧子程序返回11001110 00000000CALA ADR1D組指令調(diào)用首地址在ADR的子程序注:表中CZVS一列,*表示對(duì)應(yīng)狀態(tài)位在該指令執(zhí)行后會(huì)被重置;表示對(duì)應(yīng)狀態(tài)位在該指令執(zhí)行后不會(huì)被修改。1 運(yùn)算器芯片中有16個(gè)通用寄存器(累加器)R0R15,其中:R4用作16位的堆棧指針SP;R5用作16位的程序計(jì)數(shù)器PC
29、;其余寄存器用作通用寄存器,即多數(shù)雙操作數(shù)指令和單操作數(shù)指令中的DR、SR;2.2.2 擴(kuò)展指令指令格式匯編語(yǔ)句操作數(shù)個(gè)數(shù)CZVS指令類型功能說(shuō)明00100000 DRSR00100001 DRSR00101010 DR000000101011 DR000000101100 DR000000101101 DR000001100000 0000SR01100100 OFFSET01100101 OFFSET01101100 0000000001101101 0000000001101110 0000000001101111 00000000ADC DR,SRSBB DR,SRRCL DRRCR
30、DRASR DRNOT DRJMPR SRJRS OFFSETJRNS OFFSETCLCSTCEIDI2211111110000*01A組指令DRDR+SR+CDRDR-SR-CDRDR帶進(jìn)位C循環(huán)右移DRDR帶進(jìn)位C循環(huán)左移DRDR算術(shù)右移DR/DR跳轉(zhuǎn)到SR指明的地址S=1時(shí)跳轉(zhuǎn)S=0時(shí)跳轉(zhuǎn)C=0C=1開(kāi)中斷關(guān)中斷11100000 0000SR11100100 DR000011100101 DRSRADR(16位)11100110 DRSRADR(16位)11100111 0000SRCALR SRLDRA DR,ADRLDRX DR,OFFSETSRSTRX DR,OFFSETSRST
31、RA ADR,SR12221C組指令調(diào)用SR指明的子程序DRADRDRDATA+SRDATA+SRSRADRSR11101111 00000000IRET0D組指令中斷返回注:表中CZVS一列,*表示對(duì)應(yīng)狀態(tài)位在該指令執(zhí)行后會(huì)被重置;表示對(duì)應(yīng)狀態(tài)位在該指令執(zhí)行后不會(huì)被修改。第3章 TEC-XP教學(xué)計(jì)算機(jī)硬件系統(tǒng)31 教學(xué)計(jì)算機(jī)硬件系統(tǒng)的組成概述TEC-XP是在原有TEC系列教學(xué)計(jì)算機(jī)系統(tǒng)的基礎(chǔ)上,重新設(shè)計(jì)的新一代產(chǎn)品,進(jìn)一步增加了用單片F(xiàn)PGA門陣列器件實(shí)現(xiàn)的CPU系統(tǒng)。其硬件組成線路如圖2.1所示。下面對(duì)圖中給出的教學(xué)計(jì)算機(jī)硬件系統(tǒng)的具體線路進(jìn)行必要說(shuō)明。1、 啟停線路啟停線路畫(huà)在圖的最右下
32、角,由一個(gè)晶體振蕩器、一片74LS04器件、一片74LS161器件和一片啟停控制電路組成。晶體振蕩器產(chǎn)生一個(gè)頻率為1.8432MHz的振蕩波形信號(hào),經(jīng)74LS04器件送到74LS161完成同步計(jì)數(shù),產(chǎn)生兩個(gè)3分頻信號(hào)QA和QB,一個(gè)6分頻信號(hào)QC和一個(gè)12分頻信號(hào)QD。1.8432MHz的脈沖和QD(頻率為153.6KHz)將送到串行接口Intel-8251芯片的CP、/RxC和/TxC引腳,用于驅(qū)動(dòng)串行接口正常運(yùn)行。還要送QC脈沖(頻率為307.2KHz)到啟??刂齐娐?,用以產(chǎn)生相位不同的兩路輸出脈沖,作為教學(xué)計(jì)算機(jī)的系統(tǒng)時(shí)鐘,驅(qū)動(dòng)計(jì)算機(jī)整機(jī)正常運(yùn)行。啟??刂齐娐肥鞘褂肎AL20V8器件仿真
33、74LS120器件的功能,在計(jì)算機(jī)復(fù)位開(kāi)關(guān)信號(hào)Reset、單步/連續(xù)運(yùn)行選擇開(kāi)關(guān)信號(hào)Step和啟動(dòng)按鍵信號(hào)Start的作用下,執(zhí)行啟動(dòng)(送出連續(xù)脈沖或者送出單個(gè)脈沖)或者停止(停止送出脈沖)的操作功能。在這個(gè)線路的設(shè)計(jì)中,一定要確保任何一次手工啟停的操作都不會(huì)影響啟停線路輸出脈沖的完整性,它的實(shí)現(xiàn)原理和設(shè)計(jì)結(jié)果在教材中有詳細(xì)說(shuō)明,此處從略。2、 運(yùn)算器部件教學(xué)計(jì)算機(jī)的運(yùn)算器部件畫(huà)在圖的左上方,其主體由4片4位的運(yùn)算器芯片Am2901彼此串接構(gòu)成。它輸出16位的數(shù)據(jù)運(yùn)算的結(jié)果(用Y表示)和4個(gè)結(jié)果特征位(用Cy、F=0000、OVER、F15標(biāo)志),它的輸入(用D表示)只能來(lái)自于內(nèi)部總線。確定運(yùn)
34、算器運(yùn)算的數(shù)據(jù)來(lái)源、運(yùn)算功能、結(jié)果處置方案,需要使用控制器提供的I8I0、B3B0、A3A0共17個(gè)信號(hào)。運(yùn)算器的輸出直接連接到地址寄存器AR的輸入引腳,用于提供地址總線的信息來(lái)源。運(yùn)算器的輸出還經(jīng)過(guò)兩個(gè)8位的244器件的控制(使用DCI譯碼器的 /YTOIB信號(hào))被送到內(nèi)部總線IB,用于把運(yùn)算器中的數(shù)據(jù)或者運(yùn)算結(jié)果寫(xiě)入內(nèi)存儲(chǔ)器或者輸入輸出接口芯片。運(yùn)算器產(chǎn)生的4個(gè)結(jié)果特征位的信息需要保存,為此必須設(shè)置一個(gè)4位的標(biāo)志寄存器FLAG,用于保存這4位結(jié)果特征信息,標(biāo)志寄存器的輸出分別用C、Z、V、S表示。控制標(biāo)志寄存器何時(shí)和如何接收送給它的信息,需要使用控制器提供的SST2SST0三位信號(hào)。運(yùn)算器
35、還需要按照指令執(zhí)行的要求,正確地得到最低位的進(jìn)位輸入信號(hào),最低位和最高位的移位輸入信號(hào),為此還需要配置另外一個(gè)標(biāo)示為SHIFT的線路,在控制器提供的SSH和SCI1SCI0三位信號(hào)的控制下,產(chǎn)生運(yùn)算器最低位的進(jìn)位輸入信號(hào),最低位和最高位的移位輸入信號(hào)。3、 總線線路教學(xué)計(jì)算機(jī)的總線系統(tǒng)由數(shù)據(jù)總線、地址總線、控制總線和內(nèi)部總線共四部分組成。在圖中使用黑粗線表示。(1) 內(nèi)部總線,在真正的商用計(jì)算機(jī)系統(tǒng)中用戶是見(jiàn)不到的,在我們這里,它是數(shù)據(jù)總線在CPU內(nèi)部的體現(xiàn),二者通過(guò)一個(gè)雙向的三態(tài)門電路74LS245相互連接。當(dāng)245器件的MIO控制信號(hào)為高電平時(shí),245使內(nèi)部和外部總線處于斷開(kāi)狀態(tài),相互不能
36、傳送數(shù)據(jù),僅在該控制信號(hào)為低電平時(shí),內(nèi)部和外部總線處于連通狀態(tài),可以傳送數(shù)據(jù)。此時(shí)數(shù)據(jù)的傳送方向受245的另外一個(gè)控制信號(hào)WE的控制,該信號(hào)為高電平時(shí),數(shù)據(jù)從內(nèi)部總線傳送到外部總線,該信號(hào)為低電平時(shí),數(shù)據(jù)從外部總線傳送到內(nèi)部總線。在內(nèi)部總線和外部總線之間設(shè)置245器件,有利于防止在完成內(nèi)存儲(chǔ)器實(shí)驗(yàn)或者接口實(shí)驗(yàn)時(shí)損壞CPU的線路。在譯碼器DC1的譯碼信號(hào)的控制下,內(nèi)部總線可以從運(yùn)算器的輸出、8位的機(jī)器狀態(tài)字的輸出(4個(gè)標(biāo)志位和2位的中斷優(yōu)先級(jí))、中斷向量表的起始地址、指令寄存器的低8位的輸出(此時(shí)高8位可能是符號(hào)位擴(kuò)展信息)、16位的手撥開(kāi)關(guān)輸入數(shù)據(jù)五路信息之中選擇其一作為自己的數(shù)據(jù)來(lái)源,也可以
37、在MIO和WE兩位控制信號(hào)的控制下,接受從外部數(shù)據(jù)總線傳送來(lái)的數(shù)據(jù)。16位的內(nèi)部總線被連接到運(yùn)算器的數(shù)據(jù)輸入引腳、指令寄存器的輸入引腳、機(jī)器狀態(tài)字線路的輸入引腳,還有兩個(gè)245器件的16個(gè)引腳。內(nèi)部總線上的信息,可以被哪一個(gè)寄存器或者線路接收,是由DC2譯碼器的譯碼輸出信號(hào)控制的,是否被傳送到外部總線是由MIO和WE兩個(gè)信號(hào)決定的。數(shù)據(jù)總線,它的一端直接連接著內(nèi)存儲(chǔ)器芯片的和IO接口芯片的數(shù)據(jù)線引腳,用于完成對(duì)這些芯片的讀寫(xiě)操作。讀操作時(shí),從芯片內(nèi)讀出的數(shù)據(jù)將被首先放到數(shù)據(jù)總線上,寫(xiě)操作時(shí),已經(jīng)出現(xiàn)在數(shù)據(jù)總線上的數(shù)據(jù)將被寫(xiě)入到相關(guān)的器件中;數(shù)據(jù)總線的另一端接到了兩片245器件的16個(gè)數(shù)據(jù)線引腳
38、,用于通過(guò)內(nèi)部總線和CPU系統(tǒng)進(jìn)行通訊。做輸入輸出操作的教學(xué)實(shí)驗(yàn)或者內(nèi)存儲(chǔ)器的教學(xué)實(shí)驗(yàn),往往需要插拔器件和接線,難免出錯(cuò),設(shè)置245器件可以有效地隔離這里的錯(cuò)誤對(duì)CPU系統(tǒng)的損壞。地址總線,用于CPU系統(tǒng)向內(nèi)存儲(chǔ)器或者IO接口提供地址信息。16位的內(nèi)存地址中的最高3位被連接到產(chǎn)生內(nèi)存片選信號(hào)的74LS138型號(hào)的三_八譯碼器,3位地址輸入將產(chǎn)生8個(gè)片選信號(hào),可以選擇8組存儲(chǔ)器芯片。低13位地址被連接到每個(gè)內(nèi)存芯片的地址線引腳,用于選擇每個(gè)芯片內(nèi)的8192個(gè)存儲(chǔ)單元。請(qǐng)注意,6116芯片只有11個(gè)地址線引腳,它只使用最低的11位地址總線,另外的2位未被使用。8位的IO端口地址中的高4位連接到用于
39、產(chǎn)生IO片選的74LS138型號(hào)的三_八譯碼器,其中最高一位被連接到控制該器件是否譯碼的引腳,高電平有效,因此有效的IO端口地址的最高位必須為1。余下的3位用作為譯碼輸入信號(hào),可以產(chǎn)生8個(gè)譯碼輸出信號(hào),故系統(tǒng)最多可能支持8個(gè)IO接口芯片。IO端口的最低4位用于選擇每個(gè)接口芯片內(nèi)的不同寄存器,因此每個(gè)接口芯片最多可使用16個(gè)端口地址。每個(gè)串行接口芯片只是用2個(gè)端口地址,其余14個(gè)不被使用??刂瓶偩€,用于給出總線周期的類型和一次讀、寫(xiě)操作是否結(jié)束的信號(hào)。在教學(xué)計(jì)算機(jī)中,由于使用的系統(tǒng)時(shí)鐘頻率特別低,一個(gè)CPU周期一定可以完成CPU與內(nèi)存或者串行接口的讀寫(xiě)操作,不必判斷讀寫(xiě)操作是否完成,只需給出總線
40、周期的類型即可,故CPU給出的控制總線的信號(hào)由 MIO、REQ和 WE組成。4、 存儲(chǔ)器部件教學(xué)計(jì)算機(jī)的存儲(chǔ)器畫(huà)在圖的右上角,它的存儲(chǔ)體部分由容量為2k字節(jié)的2片6116芯片和容量為8k字節(jié)的4片58C65(或28C64)芯片組成。2片6116芯片構(gòu)成存儲(chǔ)器的隨機(jī)讀寫(xiě)存儲(chǔ)區(qū),2片58C65芯片構(gòu)成存儲(chǔ)器的惟讀存儲(chǔ)區(qū),另外2片58C65芯片主要用于擴(kuò)展存儲(chǔ)器容量的教學(xué)實(shí)驗(yàn)。存儲(chǔ)器的惟讀存儲(chǔ)區(qū),用于存放教學(xué)計(jì)的監(jiān)控程序,地址從0單元開(kāi)始,故其片選型號(hào)為 /CS0,即地址的最高3位是000。這2片芯片應(yīng)處于常讀狀態(tài),它的/OE引腳接地。存儲(chǔ)器的隨機(jī)讀寫(xiě)存儲(chǔ)區(qū),用于保存用戶讀寫(xiě)的數(shù)據(jù)和作為監(jiān)控程序的系
41、統(tǒng)工作區(qū),包括系統(tǒng)堆棧和用戶堆棧數(shù)據(jù)。這個(gè)存儲(chǔ)區(qū)的地址從2000H開(kāi)始,其片選信號(hào)為/CS1,即地址的最高3位是001。這兩個(gè)芯片的讀寫(xiě)控制信號(hào)/MWE和允許輸出信號(hào)/OE,是由控制總線的信號(hào)MIO、REQ、WE和主時(shí)鐘信號(hào)CLK共同產(chǎn)生的。圖3-1 TEC-XP教學(xué)計(jì)算機(jī)的硬件組成線路5、 串行接口線路教學(xué)計(jì)算機(jī)的串行接口線路畫(huà)在圖的最右上角,是選用2片Intel-8251芯片實(shí)現(xiàn)的,可以支持2路串行輸入輸出操作。其中第1路串行口的IO端口地址確定為80H和81H,其片選信號(hào)是產(chǎn)生IO接口芯片片選信號(hào)的譯碼器的譯碼輸出 /CE0,第2路串行口的IO端口地址可以從剩余的7個(gè)片選信號(hào)中選擇。串行
42、接口芯片在一個(gè)方向上與主機(jī)的數(shù)據(jù)總線的低8位連接,在另一個(gè)方向上經(jīng)電平轉(zhuǎn)換芯片MAX202與設(shè)備的串行數(shù)據(jù)線相連接。該芯片要使用2個(gè)頻率的脈沖信號(hào),分別接到其CP引腳和RxC、TxC引腳,這兩路脈沖是由計(jì)數(shù)器器件74LS161提供的??刂圃撔酒x操作還是寫(xiě)操作是分別由/RD和/WR決定的。該芯片內(nèi)有4個(gè)寄存器,其中有2個(gè)數(shù)據(jù)緩沖器分別用于存放輸入、輸出的數(shù)據(jù),另外2個(gè)寄存器分別用于存放控制命令、接口的運(yùn)行的狀態(tài),到底讀寫(xiě)哪2個(gè)寄存器,是通過(guò)IO端口的最低一位的值決定的,當(dāng)把這位地址接到該芯片的C/D引腳時(shí),該位地址為0時(shí),執(zhí)行讀寫(xiě)輸入或者輸出數(shù)據(jù)緩沖器,為1時(shí)是讀狀態(tài)寄存器或者寫(xiě)命令寄存器。為
43、此需要把地址總線的最低位接到該芯片的C/D引腳,用它來(lái)實(shí)現(xiàn)上述的控制功能。在上述介紹控制總線線路、內(nèi)存儲(chǔ)器部件和串行接口電路的3小段中,還有一些問(wèn)題沒(méi)有說(shuō)到,匯總到這里做進(jìn)一步的解釋??刂瓶偩€的3位信號(hào)MIO、REQ、WE分別用于指明有無(wú)存儲(chǔ)器或者IO接口讀寫(xiě),是存儲(chǔ)器還是IO接口讀寫(xiě),到底是讀操作還是寫(xiě)操作。當(dāng)這3位信號(hào)為000、001、010、011、1時(shí),分別表示內(nèi)存寫(xiě)、內(nèi)存讀、IO寫(xiě)、IO讀、內(nèi)存與IO都不讀寫(xiě)這樣5種不同的操作功能,前4種操作體現(xiàn)在總線上就成為4種不同的總線周期。雙路二_四譯碼器芯片74LS139通過(guò)譯碼將產(chǎn)生存儲(chǔ)器請(qǐng)求(有存儲(chǔ)器讀寫(xiě)要求)信號(hào)/MMREQ和IO請(qǐng)求(
44、有IO讀寫(xiě)要求)信號(hào)/IOREQ,以及內(nèi)存讀命令/MRD、內(nèi)存寫(xiě)命令/MWE、IO讀命令/RD、IO寫(xiě)命令/WR。還需要注意到,產(chǎn)生內(nèi)存片選信號(hào)的譯碼器,僅在有存儲(chǔ)器請(qǐng)求時(shí)才應(yīng)該執(zhí)行譯碼操作,故該芯片的譯碼控制引腳(低電平有效)與信號(hào)/MMREQ連接。同理,產(chǎn)生IO片選信號(hào)的譯碼器,僅在有IO請(qǐng)求時(shí)才應(yīng)該執(zhí)行譯碼操作,故該芯片的譯碼控制引腳(低電平有效)與信號(hào)/IOREQ連接。6、 控制器部件教學(xué)計(jì)算機(jī)支持微程序的和組合邏輯的兩種控制器,構(gòu)成比較復(fù)雜。組合邏輯的控制器畫(huà)在圖的下部左右居中的位置,主要由程序計(jì)數(shù)器PC(選用運(yùn)算器內(nèi)的一個(gè)通用累加器實(shí)現(xiàn),未明顯表示的圖中)、指令寄存器IR、節(jié)拍發(fā)生
45、器Timing、和時(shí)序控制信號(hào)產(chǎn)生部件MACH435(或MACH5)芯片等組成。微程序的控制器畫(huà)在圖的最左下方,主要由程序計(jì)數(shù)器PC(選用運(yùn)算器內(nèi)的一個(gè)通用累加器實(shí)現(xiàn),未明顯表示的圖中)、指令寄存器IR、48位的控制存儲(chǔ)器(由16位的微指令下地址字段CM1、CM0,和在MACH器件內(nèi)部實(shí)現(xiàn)的32位微命令的字段組成)、48位的微指令寄存器(8位的下地址寄存器、8位的保存CI30及SCC30的寄存器,設(shè)置在MACH器件內(nèi)部的存放32位微命令的寄存器,在圖中未明顯表示)、微指令的下地址邏輯線路(Am2910芯片、MAPROM芯片、SCC GAL芯片)等組成。3 2 教學(xué)計(jì)算機(jī)運(yùn)算器部件技術(shù)說(shuō)明3.2
46、.1 Am2901芯片的結(jié)構(gòu)和功能Am2901芯片是一個(gè)4位的位片結(jié)構(gòu)的、完整的運(yùn)算器器件,其內(nèi)部組成如下圖所示,作為教學(xué)內(nèi)容的實(shí)例具有很好的典型性。4輸出Y/OE二選一FA L UF=0000I3Cn+4I4CnOVRI5SF3R二選一三選一I0I1 4輸入DI2B鎖存器A鎖存器A 16個(gè) B 通用寄存器4A地址 Q寄存器B地址4三選一I6I7I8Q3Q0 三選一RAM 0RAM 3圖3-5 Am2901芯片的內(nèi)部組成框圖1. Am2901的內(nèi)部組成從圖上可以看到,該芯片的第一個(gè)組成成分是一個(gè)4位的算邏運(yùn)算部件ALU,它的輸出為F,兩路輸入分別用R和S標(biāo)記,還有送入ALU最低位的進(jìn)位信號(hào)Cn
47、。它能實(shí)現(xiàn)R+S、S-R、R-S三種算術(shù)運(yùn)算功能,和RS、RS、RS、RS、RS五種邏輯運(yùn)算功能。在給出運(yùn)算結(jié)果的同時(shí),還送出向高位的進(jìn)位輸出信號(hào)Cn+4,溢出標(biāo)志信號(hào)OVR,最高位的狀態(tài)信號(hào)F3(可能用作符號(hào)位),以及運(yùn)算結(jié)果為零的標(biāo)志信號(hào)F=0000。該芯片的第二個(gè)組成成分是由16個(gè)4位的通用寄存器組成的寄存器組。它是一個(gè)用雙端口(A口和B口)控制讀出、單端口(B口)控制寫(xiě)入的部件。為了對(duì)其進(jìn)行讀寫(xiě),需通過(guò)A地址(寄存器編號(hào))、B地址(寄存器編號(hào))指定被讀寫(xiě)的寄存器。兩路讀出數(shù)據(jù)分別用A、B標(biāo)記,經(jīng)鎖存器線路可以送到ALU的R、S輸入端的多路選擇器,A口讀出數(shù)據(jù)還可以用作該芯片的可選輸出信
48、號(hào)之一。寄存器組的寫(xiě)入數(shù)據(jù)由一組多路選擇器給出,并由B地址選擇寫(xiě)入的寄存器。該芯片的第三個(gè)組成成分是一個(gè)4位的Q寄存器,主要用于實(shí)現(xiàn)硬件的乘法、除法指令,能對(duì)本身的內(nèi)容完成左、右移位的功能,能接收ALU的輸出,輸出送到ALU 的S 輸入端。該芯片的其余組成成分是5組多路數(shù)據(jù)選擇器電路,每組都由4套電路組成,一套電路對(duì)應(yīng)一個(gè)數(shù)據(jù)位,通過(guò)它們,實(shí)現(xiàn)芯片內(nèi)部上述三個(gè)組成成分之間的聯(lián)系,也實(shí)現(xiàn)該芯片和其外界信息的輸入與輸出操作,這包括: 一組4位的二選一器件控制把運(yùn)算器內(nèi)的兩路4位輸出數(shù)據(jù)(A口數(shù)據(jù)、ALU的運(yùn)算結(jié)果數(shù)據(jù))送出芯片,標(biāo)記為Y; 一組4位的二選一和 一組4位的三選一器件,分別用于組合外部
49、送來(lái)信息D,通用寄存器組的雙路讀出信息A和B,乘商寄存器Q的信息,以決定ALU的兩路輸入R和S的數(shù)據(jù)來(lái)源; 一組4位的三選一器件,完成從ALU的輸出結(jié)果,ALU輸出結(jié)果左移一位的值,ALU輸出結(jié)果右移一位的值中選擇其一,作為通用寄存器的寫(xiě)入信息,實(shí)現(xiàn)的是通用接存器接收及移位功能。在左右移位時(shí),其最高位和最低位可以送出或接收相應(yīng)位的信息,圖中用RAM3和RAM0標(biāo)記,它們都是由能進(jìn)行雙向傳送的三態(tài)門電路實(shí)現(xiàn)的; 一組4位的三選一器件,用于完成Q寄存器內(nèi)容的左右移位,或接收ALU的輸出結(jié)果的操作功能。在進(jìn)行左右移位操作時(shí),與通用寄存器移位類似的是,這里存在Q3和Q0的雙向傳送問(wèn)題。2. Am290
50、1運(yùn)行功能的控制為了控制Am2901運(yùn)算器按我們的意圖完成預(yù)期的運(yùn)算操作功能,就必須向其提供相應(yīng)的控制信號(hào),包括:用3組各3位的編碼,分別用于選擇ALU的運(yùn)算功能,輸入數(shù)據(jù),結(jié)果處置方案,具體規(guī)定如下表所示。表3-1 選擇8種運(yùn)算功能 表3-2 選擇ALU的8種輸入數(shù)據(jù)組合 編碼 運(yùn)算 編碼 數(shù)據(jù)來(lái)源 I5 I4 I3 功能 I2 I1 I0 0 0 0 0表3-3 選擇運(yùn)算器的8種結(jié)果的處置方案 編 碼 結(jié) 果 處 理 I8 I7 I6 通用寄存器組 Q寄存器 Y輸出 FQ F/2 Q/2Q F/2 2 2QQ 2 關(guān)于該芯片的具體線路尚需說(shuō)明如下幾點(diǎn): 有無(wú)芯片輸出信號(hào)受一個(gè)/OE信號(hào)的控制,僅當(dāng)其為低電平時(shí),才有Y值正常邏輯信號(hào)輸出,否則輸出為高阻態(tài)。 標(biāo)志位F=0000為集電集開(kāi)路輸出,可實(shí)現(xiàn)“線與”邏輯,此管腳需經(jīng)電阻接+5V。 RAM3、RAM0、Q3、Q0均為雙向(入出)三態(tài)邏輯,一定要與外部電路正確連接。 該芯片還有兩個(gè)用于芯片之間完成高速進(jìn)位的輸出信號(hào)/G和/P。 Am2901芯片要用一個(gè)CLK(CP)時(shí)鐘信號(hào)作為芯片內(nèi)通用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 15268-2024桑蠶鮮繭
- 2024年資產(chǎn)評(píng)估和法律盡職調(diào)查3篇
- 森林公園綠化養(yǎng)護(hù)服務(wù)協(xié)議
- 墻面翻新簡(jiǎn)易施工合同
- 巖土建設(shè)改建爆破作業(yè)安全規(guī)則
- 軟件實(shí)施技師規(guī)范
- 電信服務(wù)干部管理準(zhǔn)則
- 城市供熱工程塔吊施工協(xié)議
- 科研設(shè)備招投標(biāo)管理工作辦法
- 珠寶典當(dāng)聯(lián)營(yíng)合同
- 贏在執(zhí)行力:團(tuán)隊(duì)執(zhí)行力-下
- 鉆孔灌注樁后注漿施工方案(最全版)
- 電瓶車供貨服務(wù)方案(完整版)
- 常用儀表縮寫(xiě)字母
- 政工干部年度述職報(bào)告
- 1000MW電廠水處理DCS控制系統(tǒng)設(shè)計(jì)
- 灌溉渠施工方案
- 藍(lán)田股份會(huì)計(jì)造假案例
- 硬件設(shè)計(jì)checklist
- 《職業(yè)健康培訓(xùn)》
- 裝配式支吊架項(xiàng)目可行性研究報(bào)告寫(xiě)作范文
評(píng)論
0/150
提交評(píng)論