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