
TEC-XP-II計算機(jī)組成原理與體系結(jié)構(gòu)教學(xué)實驗系統(tǒng),由清華大學(xué)科教儀器廠、清華大學(xué)計算機(jī)系王誠教授研制。TEC-XP-II是TEC-XP+系統(tǒng)的升級版機(jī)型,在硬件的組成、系統(tǒng)設(shè)計實現(xiàn)的手段、提高設(shè)備的實驗性能等多個方面作了重大的改進(jìn)與完善,適用于本科、碩士研究生的計算機(jī)組成原理和計算機(jī)系統(tǒng)結(jié)構(gòu)課程的教學(xué)實驗。該實驗系統(tǒng)的軟硬件配置完整,技術(shù)資料齊全。
TEC-XP-Ⅱ整機(jī)系統(tǒng)組成
完整的計算機(jī)系統(tǒng)由硬件和軟件兩個子系統(tǒng)組成,TEC-XP-Ⅱ教學(xué)計算機(jī)系統(tǒng)亦是如此,機(jī)器字長16位,基本指令30條,內(nèi)存18K字,使用字尋址方式。
TEC-XP-Ⅱ的硬件系統(tǒng)由2個獨立的CPU、6個芯片的存儲器、2路串行接口電路、并通過接口接入PC機(jī)仿真終端來構(gòu)成,包含了計算機(jī)傳統(tǒng)的全部五個功能部件:控制器部件,運算器部件,主存儲器,輸入設(shè)備(仿真終端鍵盤),輸出設(shè)備(仿真終端顯示器)。
TEC-XP-Ⅱ的軟件系統(tǒng)由監(jiān)控程序(可理解為教學(xué)機(jī)的雛形操作系統(tǒng))、交叉匯編程序、PC機(jī)仿真終端程序Pcec16.com組成,使用監(jiān)控命令操作運行教學(xué)機(jī),支持匯編語言程序設(shè)計,學(xué)生能夠設(shè)計自己的匯編程序,與日常操作PC機(jī)頗為相似。如果有興趣,還可以加入BASIC語言的解釋程序,使得TEC-XP-Ⅱ系統(tǒng)具備了計算機(jī)硬軟件系統(tǒng)的全部六層結(jié)構(gòu)(數(shù)字邏輯層,微體系結(jié)構(gòu)層,指令系統(tǒng)層,操作系統(tǒng)層,匯編語言層,語言層)的基本架構(gòu)。
實驗設(shè)備的軟件仿真系統(tǒng)在PC機(jī)系統(tǒng)中實現(xiàn)和運行,其運行的外特性與實驗設(shè)備完全一致,通過監(jiān)控命令可以建立匯編語言的源程序、執(zhí)行匯編并予以運行,可以方便地以不同方式查看程序的運行結(jié)果,查看寄存器和存儲器內(nèi)容,完成鍵盤輸入和屏幕顯示等。
TEC-XP-Ⅱ是TEC-XP+系統(tǒng)的升級版機(jī)型,在硬件的組成、系統(tǒng)設(shè)計實現(xiàn)的手段、提高設(shè)備的實驗性能等多個方面作了重大的改進(jìn)與完善,從以下九個方面予以說明。
【1】TEC-XP-Ⅱ是雙CPU系統(tǒng)。個CPU系統(tǒng)選用高集成度的CPLD和中小規(guī)模的集成電路實現(xiàn),選用ABEL-HDL語言對硬件組成和實現(xiàn)功能進(jìn)行描述;第二個CPU系統(tǒng)選用更高集成度的一個FPGA芯片實現(xiàn),選用VHDL語言對硬件組成和實現(xiàn)功能進(jìn)行描述。在本次升級過程中,對個CPU系統(tǒng)的改進(jìn)更多,第二個CPU系統(tǒng)更換了FPGA芯片的生產(chǎn)廠家,也選用Lattice公司的芯片,做到了兩個CPU系統(tǒng)使用同一個工具軟件,并使用同一條下載線完成芯片的下載操作,大大降低了同學(xué)學(xué)習(xí)和使用工具軟件的難度,而且使實驗操作更為簡單方便。
【2】在個系統(tǒng)的組成與實現(xiàn)中,把組合邏輯控制器和微程序控制器拆分成兩個獨立的部分分別來設(shè)計與實現(xiàn),用到哪一種控制器就把哪一種控制器的.jed類型的文件下載到CPLD芯片中,使描述控制器的ABEL-HDL語言的程序大為精簡,消除了把兩種控制器合并到一起帶來的諸多不便;
【3】不再把運算器中的通用寄存器R5用作為程序計數(shù)器PC,已把PC設(shè)置到CPLD芯片中,
PC+1/PC+offset的計算功能也在CPLD芯片內(nèi)完成,這樣確保讀取指令操作可以在一個CPU周期完成,這種處理比此前用二個CPU周期完成更合理,更接近于通用計算機(jī)系統(tǒng)運行的實際情形,還為實現(xiàn)簡單的指令流水準(zhǔn)備好必要條件;
【4】取消原來在設(shè)備主板上的一些中小規(guī)模集成電路,將其功能一并納入到CPLD芯片內(nèi)部實現(xiàn),減少了所用器件數(shù)量,更重要的是確保設(shè)備主板上提供的都是核心必要電路,能更清楚地表現(xiàn)計算機(jī)功能部件及其相互之間的連接與信息傳輸關(guān)系,有利于課程教學(xué)和學(xué)生的學(xué)習(xí)與實驗操作;
【5】在描述CPLD芯片內(nèi)部的電路組成與實現(xiàn)功能方面,我們選用的是ABEL-HDL硬件描述語言,用到的知識大體只限于數(shù)字電路和邏輯設(shè)計,外加一點ABEL程序結(jié)構(gòu)和語句規(guī)則、實現(xiàn)功能的有關(guān)規(guī)定,容易學(xué)懂,方便使用;重要的變動是在ABEL程序中,改用真值表來描述每一條指令的每一執(zhí)行步驟使用的控制信號,不再需要直接設(shè)計每一位控制信號的邏輯方程式,大為簡化了設(shè)計控制器的工作負(fù)擔(dān),使增加或修改指令變得更為方便,也可以按自己意愿只實現(xiàn)幾條典型指令,拋開監(jiān)控程序直接運行使用這幾條指令寫出的程序;
【6】在設(shè)備的主板上加入了3個40引腳的器件插座,可以插接多種型號的雙列直插封裝、引腳數(shù)不同的中小規(guī)模集成電路芯片,并能夠?qū)崿F(xiàn)各器件的各個引腳之間的隨意連接,為電子線路和邏輯設(shè)計實驗提供了通用平臺;
【7】在設(shè)備主板上設(shè)置了6組8位通用的撥數(shù)開關(guān),4組8位的通用指示燈,并在計算機(jī)部件之間傳送信息的主要通路上設(shè)置了專用的指示燈和接線插針(孔),方便地支持手工的單個重要芯片的功能實驗,芯片之間配合關(guān)系的實驗,單個部件的功能實驗,幾個部件之間的連接和組合運行的實驗,以及部件拆分和構(gòu)建整機(jī)系統(tǒng)的實驗,提供出其他實驗設(shè)備難以實現(xiàn)的實驗手段。
【8】TEC-XP-Ⅱ設(shè)備具備計算機(jī)系統(tǒng)6層結(jié)構(gòu)(數(shù)字邏輯層、微體系結(jié)構(gòu)層、指令系統(tǒng)層、操作系統(tǒng)[監(jiān)控程序]層、匯編語言層、語言層)的基本架構(gòu),具備硬件系統(tǒng)全部五個功能部件(控制器、運算器、存儲器、輸入設(shè)備、輸出設(shè)備),在監(jiān)控程序管理控制下可以正常運行程序,和操作使用PC機(jī)頗為相似,是一臺簡單、完整的“真正”計算機(jī)系統(tǒng),而不只是模型一級的實驗設(shè)備。
【9】TEC-XP-Ⅱ 設(shè)備充分保證了與原來的TEC-XP+(或本系列的其他型號)系統(tǒng)的軟件兼容性,可以說做到了無縫對接,這對原來選用本系列各型號實驗設(shè)備的師生是一種保護(hù)和尊重,避免對更新設(shè)備的院校教師帶來新的工作負(fù)擔(dān)。
在系統(tǒng)的規(guī)劃和設(shè)計過程中,始終把更好配合課堂授課、更好地滿足實驗要求放在位,盡力達(dá)到組成簡單,原理清晰,有利學(xué)懂、簡便易用的設(shè)計目標(biāo)。
1、在個整機(jī)系統(tǒng)的基本組成中,其核心功能共使用了13片電路芯片實現(xiàn):
控制器用1片CPLD、2片74LS374器件實現(xiàn);
運算器用4片Am2901器件實現(xiàn);
存儲器用2片RAM6116、2片ROM58C65器件實現(xiàn);
接口電路選用2片INTEL-8251器件提供2路串行接口。
部件之間的連接關(guān)系:
數(shù)據(jù)總線DB用于傳送數(shù)據(jù)信息,連接到:存儲器和串行口的數(shù)據(jù)線引腳(雙向);
運算器的數(shù)據(jù)輸入引腳D和輸出引腳Y;控制器CPLD芯片的數(shù)據(jù)輸入輸出引腳(雙向),以及指令寄存器IR的數(shù)據(jù)輸入引腳;IR的輸出送到CPLD的16個輸入引腳;
地址總線AB用于傳送地址信息,由控制器CPLD送出,傳送到存儲器的地址線引腳;
控制器要產(chǎn)生如下的25位控制信號,它們需要被連接到各相關(guān)芯片的控制信號引腳:
用于運算器的21位控制信號;用于3片譯碼器的3位控制信號,再由譯碼器產(chǎn)生內(nèi)存和串口的讀寫命令和片選信號;用于串口的C/D信號由控制器直接提供。
2、在第二個系統(tǒng)的基本組成中,其核心功能共使用了7片電路芯片實現(xiàn):
CPU用1片門陣列的FPGA器件實現(xiàn);
存儲器用2片RAM6116、2片ROM58c65器件實現(xiàn)(與個CPU分時使用);
接口電路用2片Intel-8251器件提供2路串行接口(與個CPU分時使用);
部件之間的連接關(guān)系:
數(shù)據(jù)總線DB用于傳送數(shù)據(jù)信息,連接到基本存儲器和串行口的數(shù)據(jù)線引腳(雙向)和實現(xiàn)CPU 的FPGA芯片的數(shù)據(jù)輸入輸出引腳(雙向);
地址總線AB用于傳送地址信息,地址信息由FPGA芯片送出,并傳送到基本存儲器的地址線引腳;
此外,F(xiàn)PGA芯片還通過另外一組擴(kuò)展數(shù)據(jù)總線EDB、擴(kuò)展地址總線EAB連接到2片擴(kuò)展使用的ROM58C65,在實現(xiàn)指令流水時,用作為獨立于數(shù)據(jù)存儲器的指令存儲器。這2片ROM也可用作為第1個系統(tǒng)的擴(kuò)展存儲區(qū)。
CPU需要產(chǎn)生3位的控制信號并送到3片譯碼器電路,再由3片譯碼器芯片產(chǎn)生控制內(nèi)存和串口讀寫的控制命令和片選信號,用于串口的c_d信號由CPU直接提供。
3、在電路板的右側(cè)設(shè)置了40引腳的帶自鎖緊功能的3個LC座,可插接多種雙列直插封裝的器件,各器件的所有管腳之間可以實現(xiàn)隨意連接,再加上用于提供撥入數(shù)據(jù)信號的6組8位的開關(guān)和用于顯示的4組8位的指示燈,完成邏輯設(shè)計和電子線路實驗變得更加靈活。
二、支持的教學(xué)實驗,可以在TEC-XP-Ⅱ系統(tǒng)上完成的教學(xué)實驗項目
1、線路實驗:用于為計算機(jī)實驗打基礎(chǔ)。
RAM6116內(nèi)存芯片的讀寫實驗;
ROM58C65內(nèi)存芯片的讀寫實驗;
INTEL8251串口芯片的讀寫實驗;
74LS377、374兩種8位寄存器的讀寫實驗;
74LS138、139兩種譯碼器的實驗
74LS244三態(tài)門電路實驗
74LS161計數(shù)器電路實驗
微程序定序器(AM2910)芯片的運行實驗
多個芯片組和的線路實驗
高集成度的CPLD芯片內(nèi)的電路組成與實現(xiàn)功能的設(shè)計與調(diào)試實驗
8位的運算器設(shè)計與實現(xiàn)
16位的程序計數(shù)器+1或者+8位補(bǔ)碼的專用加法器設(shè)計與實現(xiàn)
其他一些功能電路的設(shè)計與實現(xiàn)的實驗
2、計算機(jī)部件實驗
手撥開關(guān)控制的運算器部件實驗
手撥開關(guān)控制的存儲器部件實驗
手撥開關(guān)控制的串口和仿真終端運行實驗
手撥開關(guān)控制的控制器(組合邏輯方案)部件實驗
手撥開關(guān)控制的控制器(微程序方案)部件實驗
3、計算機(jī)系統(tǒng)實驗
監(jiān)控程序使用和匯編語言程序設(shè)計實驗
指令系統(tǒng)選擇與控制器設(shè)計實驗
CPU(控制器+運算器)系統(tǒng)實驗
主機(jī)(CPU+內(nèi)存)系統(tǒng)實驗
整機(jī)(主機(jī)+串行接口+仿真終端設(shè)備)系統(tǒng)實驗
3級嵌套的中斷實驗
使用和運行第2個CPU系統(tǒng)的實驗
在FPGA芯片內(nèi)加入指令流水線功能的實驗