TEC-5计算机组成原理实验系统学生实验指导书2010年3月2目录第一章TEC-5计算机组成和数字逻辑实验系统介绍..............................................................3第二章ISPEXPERT编程软件入门............................................................................................142.1ISPEXPERT使用概述......................................................................................................142.2建立由ABEL-HDL源文件组成的设计.......................................................................172.3建立由原理图源文件组成的设计................................................................................212.4混合设计及层次导航....................................................................................................292.5编译、模拟与器件适配................................................................................................302.6下载................................................................................................................................33第3章计算机组成原理实验...................................................................................................363.1运算器组成实验............................................................................................................363.2双端口存储器原理实验................................................................................................393.3数据通路组成实验........................................................................................................413.4常规型微程序控制器组成实验....................................................................................443.5CPU组成与机器指令执行周期实验.............................................................................543.6硬连线控制器的设计与调试(课程设计)................................................................563第一章TEC-5计算机组成和数字逻辑实验系统介绍一、TEC-5实验系统的特点1.采用单板式结构、计算机模型采用8位,简单、实用。计算机模型分为数据通路、控制器、时序电路、控制台、数字逻辑实验区五部分。各部分之间采用可插、拔的导线连接。2.指令系统采用4位操作码,容纳16条指令,已实现了加、减、逻辑与、存数、取数、条件转移、IO输出和停机8条指令,指令功能非常典型。其他8条指令备用。3.数据通路采用双端口存储器作为主存,实现了数据总线和指令总线双总线体制,体现了当代CPU的设计思想。4.运算器中ALU由2片74181实现。4个通用寄存器由1片ispLSI1016组成,设计新颖。5.控制器采用微程序控制器和硬连线控制器两种类型,体现了当代计算机控制器设计技术的完备性。6.控制存储器中的微代码可以通过PC机下载,省去插、拔EEPROM芯片。7.实验台上提供了一片在系统编程器件ispLSI1032,学生在PC机设计好组合逻辑控制器方案后下载到ispLSI1032中,ispLSI1032就构成了新的控制器。控制器的设计并实现对提高计算机综合设计能力会有很大帮助。ispLSI1032也可用于数字逻辑和数字系统的设计。8.控制台包含8个数据开关,用于置数功能;16个双位开关,用于置信号电平;控制台有复位和启动二个单脉冲发生器,有单拍、单步二个开关。控制台有5种操作:写存储器,读存储器,读寄存器,写寄存器,启动程序运行。9.微程序控制器中的微代码输出、微地址总线、程序地址总线、数据总线、存储器地址总线、进位、双端口存储器的读、写冲突位BUSYL#和BUSYR#等都有指示灯,便于查看指令的执行过程。10.数字逻辑和数字系统实验部分除上述可用的一片ISP1032、16个电平开关和2个单脉冲按钮(复位和启动)外,还有12个指示灯,11个双列直插插座,5个8432编码驱动的数码管,1个直接驱动的数码管,1个喇叭。时钟信号源有500KHz,50KHz,5KHz。11.电源部分具有抗电源对地短路能力。二、TEC-5实验系统的组成TEC-5实验系统由以下几个部分组成:控制台数据通路控制器时序电路数字逻辑实验区电源模块4下面分别对各组成部分予以介绍。三、电源电源部分由一个电源、一个电源插座、一个电源开关和一个红色电源指示灯组成。电源通过四个螺钉安装在实验箱底部,它输出+5V电压,最大负载电流3A,具有抗+5V对地短路功能。电源插座用于接交流220V,插座内装有保险丝。电源开关接通时,模块电源输出+5V,红色指示灯点亮。四、时序发生器时序发生器产生计算机模型所需的时序和数字逻辑实验所需的时钟。时序电路由一个500KHz晶振、2片GAL22V10(U64、U66)、一片74LS390(U65)组成。根据本机设计,执行一条微指令需要4个节拍脉冲T1、T2、T3、T4,执行一条机器指令需要三个节拍电位W1、W2、W3,因此本机的基本时序如下:MFT1T2T3T4W1W2W3图1.1基本时序图图中,MF是晶振产生的500KHz基本时钟,T1、T2、T3、T4是数据通路和控制器中各寄存器的节拍脉冲信号,印制板上已将它们和相关的寄存器相连。T1、T2、T3、T4既供微程序控制器使用,也供硬连线控制器使用。W1、W2、W3只供硬连线控制器做节拍电位信号使用。另外,供数字逻辑实验使用的时钟50KHz和5KHz由MF经一片74LS390分频后产生。五、数据通路TEC-5的数据通路采用了数据总线和指令总线双总线形式。它还使用了大规模在系统编程器件作为寄存器堆,使得设计简单明了,可修改性强。图1.2是数据通路总体图,下面介绍图中各个主要部件的作用。1.运算器ALU运算器ALU由两片74LS181(U55和U60)组成,其中U60进行低4位运算,U55进行高4位运算。在选择端M和S0-S3控制下,ALU对数据A、B进行各种算术、逻辑运算。有关74181运算的具体操作,请看74181的资料和教科书。当LDRi=1时,在T3的上升沿寄存器C(U57A)保存运算产生的进位标志信号。52.运算操作数寄存器DR1和DR2(U47、U48)DR1(U47)和DR2(U48)是运算操作数寄存器,DR1和ALU的A口相连,DR2和ALU的B口相连。DR1和DR2各由一片74LS273构成。当LDDR1/LDDR2=1时,在T2上升沿,DR1/DR2接收来自通用寄存器堆A/B端口的数据。3.双端口通用寄存器堆RF(U30)双端口通用寄存器堆RF由一片ispLSI1016(U30)构成,其中包含4个8位寄存器(R0、R1、R2、R3),有三个控制端口:两个控制读操作,一个控制写操作,三个端口可以同时操作。由RD1、RD0选中的寄存器的数据从A端口读出,由RS1、RS0选中的寄存器的数据从B端口读出;WR1、WR0选择要写入的寄存器。LDRi控制写操作,当LDRi=1时,在T3上升沿将数据总线DBUS上的数据写入由WR1、WR0选中的寄存器。从RF的A端口读出的数据直接送DR1。由B端口读出的数据直接送DR2之外,还可以送数据总线DBUS。当RS_BUS#=0时,允许B端口数据送DBUS。4.双端口存储器RAM双端口存储器RAM由一片IDT7132(U44)及少量控制电路构成。IDT7132是2048字节的双端口静态随机存储器,本实验系统实际使用256字节。IDT7132的两个端口可以同时进行读、写操作。在本实验系统中,RAM左端口连接数据总线DBUS,可进行读、写操作;右端口连接指令总线IBUS,输出到指令寄存器IR,作为只读端口使用。IDT7132有6个控制引脚,CEL#、LR/W#、OEL#控制左端口读、写操作;CER#、RR/W#、OER#控制右端口的读写操作。CEL#为左端口选择引脚,低电平有效;当CEL#=1时,禁止对左端口的读、写操作。LR/W#控制对左端口的读写,当CEL#=0且LR/W#=1时,左端口进行读操作;当CEL#=0且LR/W#=0且T2为高时,左端口进行写操作。OEL#的作用等同于三态门,当CEL#=0且OEL#=0时,允许左端口读出的数据送到数据总线DBUS上;当OEL#=1时,禁止左端口的数据放到DBUS。为便于理解,在以后的实验中,我们将OEL#引脚称为RAM_BUS#。控制右端口的三个引脚与左端口的三个完全类似,不过只使用了读操作,在实验板上已将RR/W#固定接高电平,OER#固定接地。当CER#=0时,右端口读出的数据(更确切的说法是指令)放到指令总线IBUS上,然后当LDIR=1时在T3的上升沿打入指令寄存器IR。所有数据/指令的写入都使用左端口,右端口作为指令端口,不需要进行数据的写入。左端口读出的数据放在数据总线DBUS上,由数据总线指示灯DBUS7-DBUS0显示。右端口读出的指令放在指令总线IBUS上,由指令总线指示灯IBUS7-IBUS0显示。5.地址寄存器AR和程序计数器PC存储器左端口的地址寄存器AR(U53、U59)和右端口的地址寄存器PC(U52、U45)都使用2片74LS163,具有地址递增的功能。PC是程序计数器,提供双端口寄存器右端口地址,U52是低4位,U45是高4位,具有加载数据和加1功能。AR是地址寄存器,提供双端口存储器左端口地址,U53是低4位,U59是高4位,具有加载数据和加1功能。AR中的地址用地址AR指示灯AR7-AR0显示,PC中的地址用程序计数器PC指示灯PC7-PC0显示。当LDAR#=0时,AR在T2时从DBUS接收来自SW7-SW0的地址;当AR+1=1时,在T2的上升沿存储器地址加1。注意:LDAR#和AR+1两个控制信号不能同时有效。在下一个时钟周期,令CEL#=0,LR/W#=0,则在T2节拍进行写操作,将SW7-SW0设置的数据经DBUS写入存储器。6当LDPC#=0时,PC在T2时从DBUS接收来自SW7-SW0的地址,作为程序的启动地址;当一条机器指令开始执行时,取指以后,PC+1=1,程序计数器给出下一条指令的地址。注意:LDPC#和PC