文档库 最新最全的文档下载
当前位置:文档库 › 计算机组成原理实验 TEC-5实验指导书

计算机组成原理实验 TEC-5实验指导书

计算机组成原理实验 TEC-5实验指导书
计算机组成原理实验 TEC-5实验指导书

TEC-5计算机组成原理实验系统学生实验指导书

2010年3月

目录

第一章 TEC-5计算机组成和数字逻辑实验系统介绍 (3)

第二章 ISPEXPERT编程软件入门 (14)

2.1 ISP EXPERT使用概述 (14)

2.2建立由ABEL-HDL源文件组成的设计 (17)

2.3建立由原理图源文件组成的设计 (21)

2.4混合设计及层次导航 (29)

2.5编译、模拟与器件适配 (30)

2.6下载 (33)

第3章计算机组成原理实验 (36)

3.1运算器组成实验 (36)

3.2双端口存储器原理实验 (39)

3.3数据通路组成实验 (41)

3.4常规型微程序控制器组成实验 (44)

3.5CPU组成与机器指令执行周期实验 (54)

3.6硬连线控制器的设计与调试(课程设计) (56)

第一章 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实验系统由以下几个部分组成:

控制台

数据通路

控制器

时序电路

数字逻辑实验区

电源模块

下面分别对各组成部分予以介绍。

三、电源

电源部分由一个电源、一个电源插座、一个电源开关和一个红色电源指示灯组成。电源通过四个螺钉安装在实验箱底部,它输出+5V 电压,最大负载电流3A ,具有抗+5V 对地短路功能。电源插座用于接交流220V ,插座内装有保险丝。电源开关接通时,模块电源输出+5V ,红色指示灯点亮。

四、时序发生器

时序发生器产生计算机模型所需的时序和数字逻辑实验所需的时钟。时序电路由一个500KHz 晶振、2片GAL22V10(U64、U66)、一片74LS390(U65)组成。根据本机设计,执行一条微指令需要4个节拍脉冲T1、T2、T3、T4,执行一条机器指令需要三个节拍电位W1、W2、W3,因此本机的基本时序如下:

MF

T1

T2

T3

T4

W1

W2

W3

图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 )保存运算产生的进位标志信号。

2.运算操作数寄存器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写入存储器。

当LDPC#=0时,PC在T2时从DBUS接收来自SW7-SW0的地址,作为程序的启动地址;当一条机器指令开始执行时,取指以后,PC+1=1,程序计数器给出下一条指令的地址。注意:LDPC#和PC+1两个控制信号不能同时有效。

6.指令寄存器IR

指令寄存器IR是一片74LS273(U46)。当LDIR=1时,在T3的上升沿,它从双端口存储器的右端口接收指令。指令的操作码部分IR7—IR4送往控制器译码,产生数据通路的控制信号。指令的操作数部分送往寄存器堆RF,选择参与运算的寄存器。IR1、IR0与RD1、RD0连接,选择目标操作数寄存器;IR3、IR2与RS1、RS0连接,选择源操作数寄存器。IR1、IR0也与WR1、WR0连接,以便将运算结果送往目标操作数寄存器。

表1 机器指令系统

本实验系统设计了8条机器指令,均为单字长(8位)指令。指令功能及格式如表1所示。其中的×代表随意值;RS1、RS0是寄存器堆B端口读出的源选择信号;RD1、RD0是寄存器堆A端口读出的目标选择信号,WR1、WR0是写入的寄存器的选择信号。在实验中,需要将IR3-IR0这些操作数选择信号与RF对应引脚连接好。

六、控制器

控制器用来产生数据通路操作所需的控制信号。TEC-5提供了一个微程序控制器,以便能进行计算机组成原理基本实验。在进行课程设计时,学生可设计自己的控制器。图1.2是控制器框图。

1.控制存储器

控制存储器由4片HN58C65(U35、U36、U37、U38)构成。HN58C65是E2PROM,存储容量为8K字节,本实验系统只使用了64字节。微指令格式采用水平型,微指令字长32位,其中顺序控制部分9位:判别字段3位,后继微地址6位。操作控制字段23位,各位进行直接控制。

判别标志位P0和控制台操作开关SWC、SWB、SW A一起确定控制台指令微程序的分支,完成不同的控制台操作;P1与指令操作码(IR的高4位)一起确定机器指令微程序的分支,转向各种指令的不同微程序流程。P2与进位标志C一起确定条件转移指令。

操作控制字段23位(其中1位备用),采用直接表示法,控制数据通路的操作。信号名带#者为低电平有效。

#S #

S #图1.2 控制器框图

表1.2 控制信号表 S3,S2,S1,S0

选择运算器的运算类型。 M

选择运算器的运算模式:M =0,算术运算;M =1,逻辑运算。 Cn#

运算器最低位的 +1信号。为0时,运算器最低位有进位。 LR/W#

当LR/W#=1且CEL#=0时,对双端口存储器左端口进行读操作;当LR/W#=0且CEL#=0时,在T2节拍对左端口进行写操作。 CEL#

双端口存储器左端口使能信号。为0时允许对左端口读、写。 CER#

双端口存储器右端口使能信号。为0时将指令送往指令总线IBUS 。 RAM_BUS#

存储器数据送数据总线DBUS 信号,为0时将双端口存储器左端口数据送DBUS 。 ALU_BUS#

ALU 输出三态门使能信号,为0时将ALU 运算结果送DBUS 。 RS_BUS#

通用寄存器右端口三态门使能信号,为0时将RF 的B 端口数据送DBUS 。 SW_BUS#

控制台输出三态门使能信号,为0时将控制台开关SW7-SW0数据送DBUS 。 LDRi

双端口寄存器堆写入信号,为1时将数据总线上的数据在T3的上升沿写入由WR1、WR0指定的个寄存器。 LDDR2

对操作数寄存器DR2进行加载的控制信号,为1时在T2的上升沿将由RS1、RS0指定的寄存器中的数据打入DR2。 LDDR1 对操作数寄存器DR1进行加载的控制信号,为1时在T2的上升沿

将由RD1、RD0指定的寄存器中的数据打入DR1。

LDAR# 对地址寄存器AR进行加载的控制信号。为0时在T2的上升沿将

数据总线上的数据打入地址寄存器AR。

AR+1 对AR进行加1操作的电位控制信号。为1时在T2的上升沿使AR

的值加1。

LDPC# 对程序计数器PC进行加载的控制信号。为0时在T2的上升沿将数

据总线上的数据打入程序计数器PC。

PC+1 对PC进行加1操作的电位控制信号。为1时在T2的上升沿使PC

的值加1。

LDIR 对指令寄存器进行加载的控制信号。为1时在T3的上升沿将指令

总线IBUS上的数据打入指令寄存器IR。

TJ 停机指令,暂停微程序运行。

2.微地址寄存器μAR(U32)

微地址寄存器μAR是1片74LS174,对控制存储器提供微程序地址。当CLR#=0时,将异步清零,使微程序从000000B开始执行。在每一个T1的上升沿,新的微指令地址打入微地址寄存器中。微地址由指示灯uA5-uA0显示。

3.微地址转移逻辑(U20、U21、U24、U26)

微地址转移逻辑产生后继微程序地址,它由两片74LS32和两片74LS08构成。微地址转移逻辑的信号来源是:控制存储器产生的后继微指令地址μA0-μA5,判别标志位P0、P1、P2,指令操作码IR4-IR7,进位标志C,还有控制台操作码SWC、SWB、SWA。

七、控存EEPROM的改写

TEC-5中的4片EEPROM(CM0-CM3,U35-U38)是控存,里面装有TEC-5微程序的微代码。由于它是电可擦除和编程的EEPROM,因此可以实现不用将CM0-CM3从插座上取出就能实现对其编程的目的。为此我们在TEC-5上用1片单片机芯片89S52(U58)和一些附加电路实现了不用拔出CM0-CM3就能对其编程,从而改写这些EEPROM中微代码的目的。89S52中包含一个监控程序,它负责通过串行口和PC机通讯,向PC机发出提示信息、接收命令和数据,并根据接收到的命令(0,1,2,3)决定将随后收到的64个数据写入指定的EEPROM。命令0、1、2、3指定写那个器件,0对应CM0,1对应CM1,2对应CM2,3对应CM3。64个字节的数据将写入指定EEPROM的前64个单元(地址00H-3FH)。

1.TEC-5的两种工作方式

TEC-5的计算机组成原理实验部分有两种工作方式,一种叫正常工作方式,一种叫编程工作方式。当编程开关(在U58 89S52的下面)拨到正常位置时,TEC-5的计算机部分可以正常做实验,CM0-CM3只受控制器的控制,它里面的微代码正常读出,供数据通路使用。当编程开关拨到编程位置时,CM0-CM3只受单片机89S52的控制,用来对4片EEPROM 编程。在编程状态下,不能做计算机组成原理的实验。出厂时编程开关处于正常状态。

注意:做计算机组成原理实验时编程开关一定要处于正常位置。

2.编程软件—串口调试助手2.2简介

在PC机上运行的和TEC-5通讯的编程软件是串口调试助手。下面对该软件做一些简单介绍。通过双击出厂时提供的该软件的图标,即出现该软件的界面。图1.3是该软件的界面。

此软件很简单,一看就知道怎么用,在这里简单说一下需要注意的地方。

首先,串口需要设置。如果你的机器就一个串口,那就不用管了,要是有1个以上的串口,那就看看你此时通讯用的是哪一个了。串口的设置要和PC机上使用的编程下载串口一致。

其次,波特率等参数要保证和89S52里的下载软件中的一致。即波特率为1200波特,数据位8位,无校验位,停止位1位。这些参数设置不正确将无法通讯。

再次,窗口下部空白区为PC数据发送窗口,其上面较大的空白区为PC数据接收窗口。

最后,需要时刻注意按钮‘关闭串口’的状态。

图1.3 串口调试助手界面

3.CM0-CM3的下载步骤:

①在TEC-5关闭电源的情况下,用出厂时提供的RS232串口线将TEC-5实验仪的串口与主机的串口连接起来。TEC-5上的编程开关拨到编程位置,将串口调试助手程序打开,设置好参数,打开电源,按一下复位键RESET。

②软件的接收区此时会显示‘WAITING FOR COMMAND ...’,请在数据发送区写入‘0’,按‘手动发送’按钮,将命令‘0’发送给89S52,表示通知它要写CM0文件了。

③数据接收区会出现‘PLEASE CHOOSE A CM FILE’,请通过按钮‘选择发送文件’选择要写入CM0的二进制文件,文件必须是“BIN”格式,长度为64字节。然后点击‘发送文件’按钮将文件发往89S52。89S52接收数据并对CM0编程,然后它读出CM0的数据和从PC机接收到数据比较,不管正确与否,89S52都向PC机发出结果信息,在串口调试助手软件数据接收窗口显示出来。

④等待文件发送完毕的提示(注意看软件的最底下的状态行和数据接收区),请注意看数据接收区的命令提示,重复②-③步骤,分别输入命令‘1’、‘2’、‘3’,同时,应分别选择CM1、CM2、CM3文件,对相应的EEPROM编程。CM1、CM2、CM3全部编程完后,按RESET按钮结束编程。最后将TEC-5上的编程开关拨到正常位置。

注意:对CM0、CM1、CM2、CM3的编程顺序无规定,只要在发出器件号后紧跟着发送该器件的编程数据(文件)即可。例如,可以按CM3、CM2、CM0、CM1的顺序编程。编程也可以只对一个或者几个EEPROM编程,不一定对4个EEPROM全部编程,只要编程结束后按RESET按钮结束编程,最后将TEC-5上的编程开关拨到正常位置即可。

八、控制台

控制台由若干拨动开关和指示灯组成,用于设置控制台指令、人工控制数据通路、设置数据代码信号和显示相关数据组成等。

1.数据开关SW7-SW0

八位数据开关,通过U49(74LS244)接到数据通路部分的数据总线DBUS上,用于向数据通路中的寄存器和存储器置数。当SW_BUS#=0时,SW7-SW0的数据送往数据总线DBUS。开关拨到上面位置时输出1,开关拨到下面位置时输出0。SW7对应DBUS 最高位,SW0对应DBUS最低位。

2.模拟数据通路控制信号开关K15-K0

拨动开关,拨到上面位置输出1,拨到下面位置输出0。实验中用于模拟数据通路部分所需的电平控制信号。例如,将K1与LDDR1相连,则K1拨到上面位置时,表示LDDR1为1。这些开关在数字逻辑与数字系统实验时也作为电平输入开关。

3.数据总线指示灯DBUS

八个发光二极管(高四位为红,低四位为绿),指示DBUS上数据。灯亮表示1。4.指令总线指示灯IBUS

八个发光二极管(高四位为红,低四位为绿),指示IBUS上数据。灯亮表示1。5.地址指示灯AR

八个发光二极管(高四位为红,低四位为绿),指示双端口存储器的左端口地址寄存器内容。灯亮表示1。

6.程序计数器指示灯PC

八个发光二极管(高四位为红,低四位为绿),指示双端口存储器右端口地址。灯亮表示1。

7.32位微命令指示灯CM3-CM0

32个红色发光二极管,显示从控制存储器读出的微命令的内容。

8.其他指示灯C、BUSYL#、BUSYR#

C是进位标志指示灯。BUSYL#、BUSYR#分别是RAM左右端口忙指示灯。

9.微动开关CLR#、QD

按一次CLR# 开关,产生一个负的单脉冲CLR#,正的单脉冲CLR。CLR#对全机进行复位。CLR#到时序和控制器的连接已经在印制板上实现,控制存储器和数据通路部分不使用CLR#。按一次QD按钮,产生一个正的启动脉冲QD和负的单脉冲QD#。QD使机器运行。QD到时序电路的连接已在印制板上实现。

10.单拍、单步开关DP、DB

DP(单拍)、DB(单步)是两种特殊的非连续工作方式。当DP=1时,计算机处于单拍工作方式,按一次QD按钮,只发送一组时序信号T1-T4,执行一条微指令。DB方式只对硬连线控制器适用,当DB=1时,按一次QD按钮,发送一组W1-W3,执行一条机器指令。注意:这两个开关任何时刻只能有一个置1。当DP=0且DB=0时,TEC-5处于连续工作方式,按QD按钮,TEC-5连续执行双端口RAM中存储的程序。

11.控制台操作开关SWC、SWB、SWA

三个专用开关SWC、SWB、SW A定义了TEC-5实验系统的五个控制台指令的功能。控制台操作开关SWC、SWB、SW A主要用于CPU组成与机器指令执行实验。开关主要

五个控制台指令的定义如下:

在按复位按钮CLR#后,TEC-5复位,根据SWC、SWB、SWA状态来选择工作方式。在控制台工作方式,必须使DP=0,DB=0。

启动程序(PR):按下复位按钮CLR#后,微地址寄存器清零。这时,置SWC=0、SWB=0、SW A=0,用数据开关SW7-SW0设置RAM中的程序首地址,按QD按钮后,启动程序执行。

写存储器(WRM):按下复位按钮CLR#,置SWC=0、SWB=0、SW A=1。①在SW7-SW0中置好存储器地址,按QD按钮将此地址打入AR。②在SW7-SW0置好数据,按QD,将数据写入AR指定的存储器单元,这时AR加1。③返回②。依次进行下去,直到按复位键CLR#为止。这样就实现了对RAM的连续手动写入。这个控制台操作的主要作用是向RAM中写入自己编写的程序和数据。

读存储器(RRM):按下复位按钮CLR#,置SWC=0、SWB=1、SW A=0。①在SW7-SW0中置好存储器地址,按QD按钮将此地址打入AR,RAM此地址单元的内容读至DBUS显示。②按QD按钮,这时AR加1,RAM新地址单元的内容读至DBUS显示。③返回②。依次进行下去,直到按复位键CLR#为止。这样就实现了对RAM的连续读出显示。这个控制台操作的主要作用是检查写入RAM的程序和数据是否正确。在程序执行后检查程序执行的结果(在存储器中的部分)是否正确。

寄存器写操作(WRF):按下复位按钮CLR#,置SWC=0、SWB=1、SW A=1。①首先在SW7—SW0置好存储器地址,按QD按钮,则将此地址打入AR寄存器和PC寄存器。

②在SW1、SW0置好寄存器选择信号WR1、WR0,按QD按钮,通过双端口存储器的右端口将WR1、WR0(即SW1、SW0)送到指令寄存器IR的低2位。③在SW7-SW0中置好要写入寄存器的数据;按QD按钮,将数据写入由WR1、WR0指定的寄存器。④返回②继续执行,直到按复位按钮CLR#。这个控制台操作主要在程序运行前,向相关的通用寄存器中置入初始数据。

寄存器读操作(RRF):按下复位按钮CLR#,置SWC=1、SWB=0、SW A=0。①首先在SW7—SW0置好存储器地址,按QD按钮,则将此地址打入AR寄存器和PC寄存器。

②在SW3、SW2置好寄存器选择信号RS1、RS0,按QD按钮,通过双端口存储器的右端口将RS1、RS0(即SW3、SW2)送到指令寄存器IR的第3、2位。RS1、RS0选中的寄存器的数据读出到DBUS上显示出来。③返回②继续下去,直到按复位键CLR#为止。这个控制台操作的主要作用是在程序执行前检查写入寄存器堆中的数据是否正确,在程序执行后检查程序执行的结果(在寄存器堆中的部分)是否正确。

九、硬连线控制器ispLSI1032

ispLSI1032是Lattice公司的1个在系统可编程器件,包含有6000个门,适用于设计大规模的数字逻辑与数字系统电路。在计算机模型实验中,它用作设计并实现硬连线控制器,代替出厂时提供的微程序控制器。它有1个下载插座,下载时下载电缆的一端插在下载插座上,另一端插在PC机并行口上,下载电缆将PC机和ispLSI1032连在一起。在PC机上运行ispEXPERT工具软件,输入控制器的设计方案,进行编译、连接和适配,然后下载到ispLSI1032中去,就构成了1个硬连线控制器。硬连线控制器和数据通路部分采用可插、拔的导线连接。

十、数字逻辑和数字系统试验区

这部分为用户提供了通用的数字逻辑和数字系统实验平台。它主要包括下列部分:实验台左半部的11个双列直插插座,ISP1032在系统编程芯片及下载插座,6个数码管及其驱动电路,12个数据指示灯,小喇叭及其驱动电路,12个拨动开关,2个单脉冲按钮。

1.11个双列直插插座

这一部分在实验台的左上部,实验时用于插中、小规模数字逻辑器件。注意:插座的电源和地都没有连接。

2.ispLSI1032

它位于实验台的左下部,用于设计并实现复杂的数字逻辑或数字系统电路。它有1个下载插座,下载时下载电缆的一端插在下载插座上,另一端插在PC机并行口上,下载电缆将PC机和ispLSI1032连在一起。在PC机上运行ispEXPERT工具软件,输入数字逻辑或数字系统的设计方案,进行编译、连接和适配,然后下载到ispLSI1032中去,就构成了1个新的能实现设计功能的器件。数字逻辑和数字系统中的综合实验,就是用ispLSI1032实现的。

3.六个数码管及其驱动电路。

为了能做较复杂的实验,比如电子时钟和数字频率计等实验,实验台上安装了6个共阳极数码管。六个数码管位于实验台的上部中间。右边5个数码管各由一片BCD七段译码器/驱动器74LS47驱动。只需在各数码管的4个输入插孔(D为最高位,A为最低位)接入BCD码,数码管就显示出相应数字。当测试端Test接低电平时,这5个数码管都将显示“8”,小数点也同时点亮。最左边的一个数码管由1片74LS240驱动,可按段进行控制。它的控制端为a、b、c、d、e、f、g、h。当控制端接高电平时,则相应的发光二极管段点亮;当控制端接低电平时,相应的发光二极管熄灭。

4.小喇叭及驱动电路

这部分由可控振荡电路,喇叭及其驱动电路组成。电路如图1.4所示。

图1.4 小喇叭及驱动电路

当DZ1用短路片短路时,它是一个可控声源,可做报警或者报时使用。如果“控

制”插孔接高电平,则振荡电路输出频率为2KHz左右的方波,驱动喇叭鸣叫。当控

制插孔接为低电平时,振荡电路输出低电平,喇叭不鸣叫。

当短路子DZ1开路时,可从“输入”插孔向喇叭的驱动三极管基极送控制信号。

直接控制喇叭按希望的频率变化发声,做音乐实验用。

5.单脉冲按钮

计算机组成原理实验中使用的启动按钮QD和复位按钮CLR#,在数字逻辑和数字系统实验中作为单脉冲按钮使用。每个按钮按下后都能输出1个正脉冲和1个负脉冲。不过由于在计算机组成原理中,QD按钮使用的是正脉冲,CLR#按钮使用的是负脉冲,因此在数字逻辑和数字系统实验中,最好使用QD按钮产生的负脉冲和CLR#按钮产生的正脉冲。

6.电平开关K0-K15

在计算机组成原理实验中使用的模拟数据通路控制信号开关K15-K0在数字逻辑和数字系统实验中作为普通的电平开关使用。

7.12个发光二极管

12个发光二极管位于TEC-5的下部中间位置,用于指示信号的高低电平,信号输入孔L0—L11接入高电平时,相应的二极管点亮,信号输入孔L0—L11接入低电平时,相应的二极管熄灭。

第二章 ispEXPERT编程软件入门

一种PLD器件能否得到广泛的应用,能否受到用户的欢迎,除了器件本身的性能价格比之外,在很大程度上取决于它的开发环境。无论是CPLD器件,还是FPGA 器件,都要用软件工具进行设计。ispEXPERT是由Lattice公司提供的一种通用电子设计软件。它支持ABEL-HDL语言、VHDL语言、原理图三种电子设计方式,以及这些设计方式的混合使用,从而使电子设计变得灵活简便。它能对所设计的数字电子系统进行功能模拟和时序模拟,能对设计进行逻辑优化,并将逻辑映射到器件中去,自动完成布局预布线,生成编程所需的熔丝图文件,通过下载电缆下载到器件中。ispEXPERT支持Lattice公司的所有ispLSI器件。

ispEXPERT在Windows平台上运行,它支持层次设计,具有十分友好的人机界面。ispEXPERT中的项目导航器引导设计一步步进行,最终生成器件编程所需的JEDEC文件,并下载到ISP器件中。项目导航器是一个很好的设计工具,便于用户跟踪软件的运行流程,许多新的电子设计软件都采用它。通过ispEXPERT软件的使用,读者对此方法会逐步熟悉和喜欢。

2.1 ispEXPERT使用概述

用ispEXPERT对可编程器件进行设计,除了确定设计思想等必需的准备工作外,大部分可在计算机上进行。整个设计工作流程大致可分为创建新设计项目、选择器件、输入源文件或者原理图、编译与优化、逻辑模拟、连接和器件适配等若干过程。这些过程在项目导航器引导下进行。

2.1.1 项目导航器

ispEXPERT使用了项目(project)的概念。一个项目代表一个设计。一个项目所用的全部文件(源文件、中间的数据文件和结果文件)应放进一个单独的目录中。项目导航器保存设计中每一部分的过程及状态,因此用户可以省去思考操作步骤的时间,而把精力放在设计上。图2.1展示了一个名为demo的项目在项目导航器中的概貌。

1.源文件窗口

源文件窗口位于项目导航器左半部分,上边标有“Source in Project”字样。源文件窗口显示与项目有关的所有设计文件名。每个文件名前都有图标,以图形方式直观表示文件的类型。例如图标中有“A”字样的是ABEL文件,图标中包含一个“与”门的是原理图文件。源文件窗口最上边一行(行中有demo字样)是项目记录本,图标象书的样子。使用滚动条能够观察项目中的所有条目。源文件窗口中按缩进方式排列文件名,清楚地表示出项目中各模块的层次。

(1)项目记录本

项目记录本又称项目标题,它指出了项目的名称。在项目导航器源文件窗口中,项目的组织是通过将项目的全部文件收集到项目记录本中实现的。项目记录本列出了

用户在设计、测试和器件选择过程中的全部原理图和行为描述源文件。项目记录本也可以包括设计中需要保存的其它文件,如设计说明等附加文件。

图2.1 项目导航器概貌

(2) 项目源文件

用户能够用不同方式描述设计,这些描述就是源文件。每个源文件是设计中的一个部件。例如,一个原理图文件就是一个设计部件。源文件不仅包括原理图、状态图、以及硬件描述语言描述的电路,也可能包括模拟、与其他项目的接口以及设计文档等用户做的其它工作,这些都是设计的组成部件。项目导航器支持层次设计,故设计中必有一个文件为顶层源文件。顶层源文件定义了整个可编程器件的输入、输出及对下一层源文件中逻辑描述的引用。对另一个源文件的引用称为例化。较低层源文件也可以含有例化,以构成描述逻辑的多层次结构。如果项目只包含一个源文件,则自动成为顶层源文件。

2. 进程窗口

项目导航器右边是进程窗口,上边标有“Processes for current source:”字样(见图2.1)。它显示源文件窗口中所选中文件能进行的所有操作。这些操作包括生成网表、编译、逻辑化简、逻辑综合、布线和生成测试模块等。总之一句话,从设计输入到下载的每一步骤。

由于项目导航器是结构敏感的,因此ispEXPERT具有一个非常强大的功能,即它知道对不同的结构应采取不同的处理过程。在进程窗口中,所有步骤都是结构敏感的,这意味着,进程会因源文件窗口中选中不同的源文件而改变,已选中的源文件的进程因选择不同目标器件也会改变。例如一个目标器件为A(A是一个CPLD器件型号)和目标器件为B(B是另一个CPLD器件型号)的同一个原理图会有不同的流程。一个可编程器件设计,从总的方面而言,可分为项目级进程和源文件级进程。

源文件级进程

源文件级进程包括源文件输入、编译、优化等。在源文件窗口单击一个源文件,进程窗口中将出现指示处理此源文件的源文件级进程。

项目级进程

项目级进程包括连接、器件适配、编译时序报告、下载等。在源文件窗口中单击器件(device)图标,进程窗口将出现指示该器件处理的项目级进程。

2.1.2 可编程器件设计步骤

一般地说,对一个可编程器件设计大致经过以下步骤:创建新设计项目,选择器件,输入源文件,编译与优化,功能模拟或者时序模拟,连接与器件适配。这些步骤个别可以颠倒或省略。本节对这些步骤作扼要介绍。

●创建新设计项目

这是可编程器件设计的第一步。它的任务是建立一个项目,包括项目文件和

项目标题。

●选择器件

在器件选择窗口中选择要使用的器件。针对某个可编程器件进行设计时,

建立项目后,应首先选择器件。

●输入和修改源文件

这是设计过程中最主要的一步。所有的设计思想通过源文件的形式输入计

算机。一个项目,可能由一个或多个源文件组成。这些源文件可以是原理

图(*.sch),ABEL-HDL文件(*.abl),VHDL文件(*.vhd),测试向量文件(*.abv)

和用户文本文件(*.txt,.wri,*.doc)等。在源文件窗口项目记录本下面,应

建立一个用户文本文件,说明设计思想、模块的层次结构,修改情况及修

改时间等。初学者往往不注意此项工作,实际上它对于规范化设计是十分

重要的。

●编译与优化

原理图文件和ABEL-HDL文件必须经过编译,才能被连接成统一的单个文

件,以便进行器件适配。编译和连接的用途同其它语言(如C语言)是一

样的。在一个模块源文件输入完毕后,可对其进行编译与优化。编译过程中

检查语法错误。若不能通过编译,则需返回修改源文件。

●模拟

模拟的目的是对设计的正确性进行检验。功能模拟从功能上对设计的正确

性进行检验,它假定信号的传输时间为0,与适配的器件无关。时序模拟与

适配器件的时间参数有关,可以人为设置延时参数等时间参数。这一个步

骤能将设计中大部分的原理性错误消灭在设计阶段。在ispEXPERT软件中,

这一功能通过建立测试向量文件并对其进行处理而实现。若模拟结果与设

计要求不符,则需要修改设计。

●连接与器件适配

可编程逻辑器件设计的最后一步就是连接和器件适配。连接操作将编译后

的各模块连接成一个文件。器件适配则把设计放进目标器件中。器件适配

产生用于器件编程的JEDEC文件。

下载

通过下载电缆,将生成的JEDEC文件下载到电路板上的ISP器件中。下载

又称为编程。一个ISP器件只有经过下载这一步骤,才能将设计成果转化

为该器件的功能,在电路板上发挥应有的作用。

一个数字逻辑电路,特别是复杂数字逻辑电路的设计,往往不能一次成功,需要多次反复才行。源文件编译帮助设计者消除笔误及语法错误,模拟帮助消除设计错误。经多次反复后生成的JEDEC文件,下载到可编程器件中去,就会实现设计预期功能。一个项目只能有一个测试向量文件。当然,对一些简单电路,如果设计者对设计又有把握,也可以不经过逻辑模拟这一步骤。

2.2 建立由ABEL-HDL源文件组成的设计

ABEL-HDL语言的基本语法和结构这里不多介绍,请参考有关书籍。本节通过一个例子说明如何输入ABEL-HDL的设计描述。ABEL-HDL是一种文本设计语言,输入方式比较简单。通过本节的介绍,掌握ispEXPERT的基本使用方法。学习一种软件的最好方法就是在了解基本概念后,多练、多用、多上机操作,在实践中逐步深入,逐步掌握。本节采用一个脉宽调制的D/A(数字到模拟)转换器做例子。它把8位数字输入信号转换成PWM脉冲形式,输出脉冲占空比与输入数字值成正比。这是一个由两个模块组成的层次设计,顶层模块Pwmdac,低层模块counter。

1. 建立新项目

(1) 启动IspEXPERT,进入项目导航器project Navigator窗口。

(2) 单击File菜单下的New Project (新项目),进入建立新项目对话框。

(3) 创建一个新目录(文件夹),专门用于该新项目。首先选择此目录所在路径。选择方法与windows资源管理器使用方法相同。找到路径后,单击创建新文件夹按钮,则在文件名区出现“新建文件夹”字样。假定新目录取名为example1,则将新建文件夹改为example1后,按键盘上的回车键。即产生一个名为example1的新目录。双击example1,example1即成为当前目录。

(4) 在文件名对话框内,键入项目文件名,如A_D_CVT;

(5) 单击保存按钮,退出New Project对话框。

图2.2 建立新项目对话框

2.更改项目标题

(1) 双击项目源文件窗口顶部的项目记录本,即项目标题(Untitled),进入记录本对话框,在Title对话框的文本字段中键入项目的描述性文字,如Pulse-width Module D-A Convert。然后,单击按钮OK。

(2)单击File菜单中的Save,保存新项目标题。

现在可以进入设计阶段了。

3. 建立ABEL-HDL源文件

本设计有两个ABEL-HDL源文件。ABEL-HDL支持模块层次结构,使得大规模的设计容易输入和管理。

(1)单击源文件窗口下方的“N ew…”按钮,出现新建源文件对话框。

图2.3 新建源文件对话框

(2)选择ABEL-HDL Module(ABEL-HDL模块)。文本编辑器被加载,且出现一个对话框,要求输入文件名、模块名和标题。键入Pwmdac.abl做文件名(扩展名可省略),键入Pwmdac做模块名,在Title(标题)框内键入简单描述文字,如Pulse-width modulated Digital to Analog Convert。模块名和文件名必须有相同的基名(文件名中除扩展名之外的部分称之为基名)。如果文件和模块基名不同,项目导航器的某些自动功能可能不正常运行。完成了上述操作后,单击OK或者按Enter键。

(3)现在出现了2.4图所示的ABEL-HDL源文件模板。它是一个具有屏幕编

辑能力的文本编辑器。

将模块Pwmdac的源程序键入如下:

MODULE Pwmdac

TITLE ’Pulse-width modulated Digital to Analog convert’;

@CARRY 2; ”indicates 2 bits width for arithmetic functions

” Constants

c, x = .c. , .x.;

” Inputs

clk , rclk , clr , d7..d0 pin;

” Outputs

pwm pin istype ’com’;

load pin istype ’com’;

” Nodes

r7..r0 node istype ’reg,buffer’;

” Sub-module declarations

counter interface( clk , rst -> q7..q0);

”Sub-module interfaces

cntrl functional_block counter;

图2.4 文本编辑窗口

” Sets

count = cntrl.[q7..q0];

store = [r7..r0];

Equations

pwm = (count > store); ”Pulse-width Modulated

”output is low until count goes beyond data.

cntrl.clk = clk;

cntrl.rst = clr;

load = (count == 250); ”Time fo r next data byte.

”Externally connect load

”output to rclk input

store.clk = rclk; ”Load data when count is equal to 250

store := [d7..d0];

END

键入完成以后,检查有无输入错误的地方。改正出现的错误。单击文本编辑器内File菜单下的Save(保存),保存刚键入的名为pwmdac.abl的文件。单击File菜单下的Exit,退出文本编辑器。这时项目导航器更新它的源文件窗口,指出已有一个用ABEL-HDL语言写成的名为Pwmdac.abl的源文件。过程窗口也被更新,指示出对这个源文件下一步的操作。有关这些操作,看本章2.5节。

按照类似的方法,将第二个模块输入到计算机中。

MODULE counter

计算机组成原理实验题

一.这是一个判断某一年是否为润年的程序,运行可执行程序Ifleap.exe后,输入具体的年份,可输出是本年是否为闰年的提示信息。 DATA SEGMENT ;定义数据段 INFON DB 0DH,0AH,'PLEASE INPUT A YEAR: $' Y DB 0DH,0AH,'THIS IS A LEAP YEAR! $' N DB 0DH,0AH,'THIS IS NOT A LEAP YEAR! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START:MOV AX,DATA MOV DS,AX LEA DX,INFON ;在屏幕上显示提示信息 MOV AH,9 INT 21H LEA DX,BUF ;从键盘输入年份字符串 MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H

JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H 二.这是一个显示系统日期和时间的程序,运行时,在出现的提示信息中输入大写字母“D”,可显示系统当前日期;输入大写字母“T”,可显示系统当前时间;输入大写字母“Q”,可结束程序。 DATACATE PROC NEAR; PUSH CX; DEC CX LEA SI,BUF+2 TT1: INC SI LOOP TT1 ;LEA SI,CX[DI] POP CX MOV DH,30H MOV BL,10 MOV AX,1 L1: PUSH AX SUB BYTE PTR [SI],DH MUL BYTE PTR [SI] ADD W,AX POP AX MUL BL DEC SI LOOP L1 RET DATACATE ENDP

计算机组成原理实验

计算机组成原理 一、8 位算术逻辑运算 8 位算术逻辑运算实验目的 1、掌握简单运算器的数据传送通路组成原理。 2、验证算术逻辑运算功能发生器74LS181的组合功能。 8 位算术逻辑运算实验内容 1、实验原理 实验中所用的运算器数据通路如图3-1所示。其中运算器由两片74LS181以并/串形成8位字长的ALU构成。运算器的输出经过一个三态门74LS245(U33)到ALUO1插座,实验时用8芯排线和内部数据总线BUSD0~D7插座BUS1~6中的任一个相连,内部数据总线通过LZD0~LZD7显示灯显示;运算器的两个数据输入端分别由二个锁存器74LS273(U29、U30)锁存,两个锁存器的输入并联后连至插座ALUBUS,实验时通过8芯排线连至外部数据总线EXD0~D7插座EXJ1~EXJ3中的任一个;参与运算的数据来自于8位数据开并KD0~KD7,并经过一三态门74LS245(U51)直接连至外部数据总线EXD0~EXD7,通过数据开关输入的数据由LD0~LD7显示。 图中算术逻辑运算功能发生器74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M并行相连后连至SJ2插座,实验时通过6芯排线连至6位功能开关插座UJ2,以手动方式用二进制开关S3、S2、S1、S0、CN、M来模拟74LS181(U31、U32)的功能控制信号S3、S2、S1、S0、CN、M;其它电平控制信号LDDR1、LDDR2、ALUB`、SWB`以手动方式用二进制开关LDDR1、LDDR2、ALUB、SWB来模拟,这几个信号有自动和手动两种方式产生,通过跳线器切换,其中ALUB`、SWB`为低电平有效,LDDR1、LDDR2为高电平有效。 另有信号T4为脉冲信号,在手动方式下进行实验时,只需将跳线器J23上T4与手动脉冲发生开关的输出端SD相连,按动手动脉冲开关,即可获得实验所需的单脉冲。 2、实验接线 本实验用到4个主要模块:⑴低8位运算器模块,⑵数据输入并显示模块,⑶数据总线显示模块,⑷功能开关模块(借用微地址输入模块)。

计算机组成原理上机实验报告

《计算机组成原理实验》课程实验报告 实验题目组成原理上机实验 班级1237-小 姓名 学号 时间2014年5月 成绩

实验一基本运算器实验 1.实验目的 (1)了解运算器的组成原理 (2)掌握运算器的工作原理 2.实验内容 输入数据,根据运算器逻辑功能表1-1进行逻辑、移位、算术运算,将运算结果填入表1-2。 表 1-1运算器逻辑功能表 运算类 A B S3 S2 S1 S0 CN 结果 逻辑运算65 A7 0 0 0 0 X F=( 65 ) FC=( ) FZ=( ) 65 A7 0 0 0 1 X F=( A7 ) FC=( ) FZ=( ) 0 0 1 0 X F=( ) FC=( ) FZ=( ) 0 0 1 1 X F=( ) FC=( ) FZ=( ) 0 1 0 0 X F=( ) FC=( ) FZ=( ) 移位运算0 1 0 1 X F=( ) FC=( ) FZ=( ) 0 1 1 0 0 F=( ) FC=( ) FZ=( ) 1 F=( ) FC=( ) FZ=( ) 0 1 1 1 0 F=( ) FC=( ) FZ=( ) 1 F=( ) FC=( ) FZ=( ) 算术运算 1 0 0 0 X F=( ) FC=( ) FZ=( ) 1 0 0 1 X F=( ) FC=( ) FZ=( ) 1 0 1 0X F=( ) FC=( ) FZ=( ) 1 0 1 0X F=( ) FC=( ) FZ=( ) 1 0 1 1 X F=( ) FC=( ) FZ=( ) 1 1 0 0 X F=( ) FC=( ) FZ=( ) 1 1 0 1 X F=( ) FC=( ) FZ=( ) 表1-2运算结果表

计算机组成原理实验

实验一基础汇编语言程序设计 一、实验目的: 1、学习和了解TEC-XP16教学实验系统监控命令的用法。 2、学习和了解TEC-XP16教学实验系统的指令系统。 3、学习简单的TEC-XP16教学实验系统汇编程序设计。 二、预习要求: 1、学习TEC-XP16机监控命令的用法。 2、学习TEC-XP16机的指令系统、汇编程序设计及监控程序中子程序调用。 3、学习TEC-XP16机的使用,包括开关、指示灯、按键等。 4、了解实验内容、实验步骤和要求。 三、实验步骤: 在教学计算机硬件系统上建立与调试汇编程序有几种操作办法。 第一种办法,是使用监控程序的A命令,逐行输入并直接汇编单条的汇编语句,之后使用G命令运行这个程序。缺点是不支持汇编伪指令,修改已有程序源代码相对麻烦一些,适用于建立与运行短小的汇编程序。 第二种办法,是使用增强型的监控程序中的W命令建立完整的汇编程序,然后用M命令对建立起来的汇编程序执行汇编操作,接下来用G命令运行这个程序。适用于比较短小的程序。此时可以支持汇编伪指令,修改已经在内存中的汇编程序源代码的操作更方便一些。 第三种办法,是使用交叉汇编程序ASEC,首先在PC机上,用PC机的编辑程序建立完整的汇编程序,然后用ASEC对建立起来的汇编程序执行汇编操作,接下来把汇编操作产生的二进制的机器指令代码文件内容传送到教学机的内存中,就可以运行这个程序了。适用于规模任意大小的程序。

在这里我们只采用第一种方法。 在TEC-XP16机终端上调试汇编程序要经过以下几步: 1、使教学计算机处于正常运行状态(具体步骤见附录联机通讯指南)。 2、使用监控命令输入程序并调试。 ⑴用监控命令A输入汇编程序 >A 或>A 主存地址 如:在命令行提示符状态下输入: A 2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始 屏幕将显示: 2000: 输入如下形式的程序: 2000: MVRD R0,AAAA ;MVRD 与R0 之间有且只有一个空格,其他指令相同 2002: MVRD R1,5555 2004: ADD R0,R1 2005: AND R0,R1 2006: RET ;程序的最后一个语句,必须为RET 指令 2007:(直接敲回车键,结束A 命令输入程序的操作过程) 若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。 ⑵用监控命令U调出输入过的程序并显示在屏幕上 >U 或>U 主存地址

计算机组成原理实验一

_计算机_学院计算机科学与技术专业_10(5)班______组、学号3210006075 姓名钟柳贤协作者___________ 教师评定 实验题目_基础汇编语言程序设计_______________________ 一、实验目的: 1.学习和了解TEC-XP教学实验系统监控命令的用法; 2.学习和了解TEC-CP教学实验系统的指令系统; 3.学习简单的TEC-XP教学实验系统汇编程序设计; 二、实验设备与器材: TEC-XP+教学实验系统 仿真终端软件PCEC 三、实验内容: 1.学习联机使用TEC-XP教学实验系统和仿真终端软件PCEC。 2.使用监控程序的R命令显示/修改寄存器内容,D命令显示存储器内容,E命令修改存储器内容: 3.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T,P命令单步运行并观察程序单步执行情况: 四、实验步骤: 一、实验具体操作步骤 1.准备一台串口工作良好的PC机; 2.将TXC-XP放在实验台上,打开实验箱的盖子,确定电源处于断开状态; 3.将黑色的电源线一端接220V交流电源,另一端插在TEC—XP实验箱的电源插座里;4.取出通讯线,将通讯的9芯插头接在TEC—XP实验箱上的串口“COM1”或“COM2”上,另一端接到PC机的串口上; 5.将TEC—XP实验系统左下方的五个黑色的控制机器运行状态的开关置于正确的位置,在这个实验中开关应置为00110(连续、内存读指令、组合逻辑、联机、16位),控制开关的功能在开关上、下方有标示;开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意,其它实验相同; 6.打开电源,船形开关和5V电源指示灯亮。 7.在PC机上运行PCEC16.EXE文件,根据连接的PC机的串口设置所用PC机的串口为“1” 或“2”,其它设置一般不作改动,直接回车即可。 8.按一下“RESET”按键,再按一下“START”按键,主机上显示:

计算机组成原理实验完整版

河南农业大学 计算机组成原理实验报告 题目简单机模型实验 学院信息与管理科学学院 专业班级计算机科学与技术2010级1班 学生姓名张子坡(1010101029) 指导教师郭玉峰 撰写日期:二○一二年六月五日

一、实验目的: 1.在掌握各部件的功能基础上,组成一个简单的计算机系统模型机; 2.了解微程序控制器是如何控制模型机运行的,掌握整机动态工作过程; 3定义五条机器指令,编写相应微程序并具体上机调试。 二、实验要求: 1.复习计算机组成的基本原理; 2.预习本实验的相关知识和内容 三、实验设备: EL-JY-II型计算机组成原理试验系统一套,排线若干。 四、模型机结构及工作原理: 模型机结构框图见实验书56页图6-1. 输出设备由底板上上的四个LED数码管及其译码、驱动电路构成,当D-G和W/R均为低电平时将数据结构的数据送入数据管显示注:本系统的数据总线为16位,指令、地址和程序计数器均为8位。当数据总线上的数据打入指令寄存器、地址寄存器和程序寄存器时,只有低8位有效。 在本实验我们学习读、写机器指令和运行机器指令的完整过程。在机器指令的执行过程中,CPU从内存中取出一条机器指令到执行结束为一个指令周期,指令由微指令组成的序列来完成,一条机器指令对应一段微程序。另外,读、写机器指令分别由相应的微程序段来完成。

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,必须设计三个控制操作微程序。 存储器读操作(MRD):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。 存储器写操作(MWE):拨动清零开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。 启动程序(RUN):拨动开关CLR对地址、指令寄存器清零后,指令译码器输入CA1、CA2为“11”时,按“单步”键,即可转入第01号“取指”微指令,启动程序运行。 注:CA1、CA2由控制总线的E4、E5给出。键盘操作方式有监控程序直接对E4、E5赋值,无需接线。开关方式时可将E4、E5接至控制开关CA1、CA2,由开关控制。 五、实验内容、分析及参考代码: 生成的下一条微地址 UA5 UA0 MS5 MS0 微地址

计算机组成原理实验七

图16 启停单元布局图 序电路由1片74LS157、2片74LS00、4个LED PLS2、PLS3、PLS4)组成。当LED发光时 图17

图17 时序单元布局图 (二)启停、脉冲单元的原理 1.启停原理:(如图18) 启停电路由1片7474组成,当按下RUN按钮,信号输出RUN=1、STOP=0,表示当前实验机为运行状态。当按下STOP 按钮,信号RUN=0、STOP=1,表示当前实验机为停止状态。当 系统处于停机状态时,微地址、进位寄存器都被清零,并且可 通过监控单元来读写内存和微程序。在停止状态下,当HALT 时有一个高电平,同时HCK有一个上升沿,此时高电平被打入 寄存器中,信号输出RUN=1、STOP=0,使实验机处于运行状态。

图18 启停单元原理图 2.时序电路: 时序电路由监控单元来控制时序输出(PLS1、PLS2、PLS3、PLS4)。实验所用的时序电路(如图19)可产生4个等间隔的时序信号PLS1、PLS2、PLS3、PLS4。为了便于监控程序流程,由监控单元输出PO信号和SIGN脉冲来实现STEP(微单步)、GO (全速)和HALT(暂停)。当实验机处于运行状态,并且是微单步执行,PLS1、PLS2、PLS3、PLS4分别发出一个脉冲,全速执行时PLS1、PLS2、PLS3、PLS4脉冲将周而复始的发送出去。在时序单元中也提供了4个按钮,实验者可手动给出4个独立的脉冲,以便实验者单拍调试模型机。

图19 时序电路图 实验步骤 1.交替按下“运行”和“暂停”,观察运行灯的变化(运行:RUN 亮;暂停:RUN灭)。 2.把HALT信号接入二进制拨动开关,HCK接入脉冲单元的PLS1。按下表接线 接入开关位号 信号定 义 HCK PLS1孔 HALT H13孔 3.按启停单元中的停止按钮,置实验机为停机状态,HALT=1。 4.按脉冲单元中的PLS1脉冲按键,在HCK上产生一个上升

计算机组成原理实验五

上海大学计算机学院 《计算机组成原理实验》报告一 姓名:学号:教师: 时间:机位:报告成绩: 实验名称:指令系统实验 一、实验目的:1. 读出系统已有的指令,并理解其含义。 2. 设计并实现一条新指令。 二、实验原理:利用CP226实验仪(用74HC754即8D型上升沿触发器)上的K16…K23 开关为数据总线DBUS设置数据,其他开关作为控制信号,一条指令执行完 毕PC会自动加1,系统顺序执行下一条指令,但系统要进入一个新的指令序 列时,如跳转、转子程序等,必须给PC打入新的起始值——新指令序列的 入口地址。实验箱实现把数据总线的值(目标地址)打入PC的操作,以更新 PC值。 三、实验内容:1. 考察机器指令64的各微指令信号,验证该指令的功能。(假设R0=77H, A=11H, 77地址单元存放56H数据,64指令的下一条指令为E8) 2. 修改机器指令E8,使其完成“输出A+W的结果左移一位后的值到OUT” 操作。 四、实验步骤:1. 考察机器指令64的各微指令信号,验证该指令的功能。(假设R0=77H, A=11H, 77地址单元存放56H数据,64指令的下一条指令为E8) ①在初始化系统(Reset),进入微程序存储器模式(μEM状态),用NX键观 察64H,65H,66H,67H, 地址中原有的微指令,分析并查表确定其功能。 ②在EM状态下,Adr打入A0,DB打入64;按NX键,Adr显示A1,DB 打入E8。 ③在μEM状态下,在E8H、E9H、EAH、EBH下分别打入:FFDED8、CBFFFF、 FFFFFF、FFFFFF。 ④给μPC状态下,打入μPC(00)、PC(A0)、A(11)、W(00),按3次 NX输入R0(77)。 ⑤按下STEP键,观察实验现象。 2. 修改机器指令E8,使其完成“输出A+W的结果左移一位后的值到OUT” 操作。 ⑥继续按STEP键,直到进入E8状态下。 ⑦在EM状态下,打入Adr为77,DB为56。 ⑧按STEP键执行指令,观察实验现象。 五、实验现象:OUT寄存器的值为5A。 六、数据记录、分析与处理:实验结果和预期的一样。 七、实验结论:1、机器指令64对应的各微指令码为:FF77FF、D7BFEF、FFFE92、CBFFFF。其功能为:将R0寄存器的值打入地址寄存器MAR;存贮器EM将MAR输出地址所对应的值打入W寄存器;ALU直通门输出的值打入A寄存器,A、W中的值进行“与”运算,结果在A输出;PC+1,读出下一条指令并立即执行。 八、建议:暂无。

计算机组成原理实验十

上海大学计算机学院 《计算机组成原理二实验》报告十 姓名:林琦学号:xxxxxxxx 教师:王雪娟 时间:周一5-6 地点:计算机大楼609 机位:33 实验名称:十中断机制和应用(综合实验) 一、实验目的 1. 学习实验箱感知中断的硬件结构和工作原理。 2. 学习使用中断系统。 3. 学习使用扩展外设。 二、实验原理 程序中断:因“随机性”原因,使一个程序暂停执行,转而执行另一个程序,以处理随机事件,然后再返回原程序继续执行的过程成为“中断”。中断同子程序调用有共同点:执行另一个程序,然后返回。所以在调用另一个程序(中断服务子程序)时必须保存断点。中断与子程序调用有一个根本区别:中断发生的时间是随机的(不可预知,但发生后应该如何处理是安排好的),而子程序调用时间是安排好的,由程序员写下的调用指令决定。中断发生的“随机性”决定了“必须用硬件感知中断请求”、“不仅要保存断点,还必须保存现场”。中断发生时间与正在运行的程序的无关性,使得整个系统在运行一个程序的同时,还能感知其它事件的发生!这是实时监控的技术基础、是多用户、多任务、多线程技术的关键点,因此是操作系统工作的前提,是计算机系统的“点睛”之笔!深刻理解中断系统是计算机专业人员用好计算机的必备知识! 只有“中断返回”指令和复位操作使EINT为低电平,这个低电平作用到IREQ 的SD端,使上面这个D触发器的Q端为1,作用到IACK的CD端使下面这个D触发器的Q端输出0。 CK驱动下,IREQ的Q端输出D端的INT状态。当有中断请求时INT为0,则一个CK后Q端输出0,但这个0能否被CPU感知却要看①号“或门”是否允许它通过。而“非取指”微指令有IREN=1,则②号“或门”输出1,于是IREQ 的Q端无论输出0或1,①号“或门”总输出1,即不允许中断请求通过。同时这个1又送入IACK的SD端;于是下触发器的SD和CD端的输入都是无效状态,这个触发器保持稳定。

计算机组成原理实验报告材料

福建农林大学计算机与信息学院信息工程类实验报告系:计算机科学与技术专业:计算机科学与技术年级: 09级 姓名:张文绮学号: 091150022 实验课程:计算机组成原理 实验室号:___田405 实验设备号: 43 实验时间:2010.12.19 指导教师签字:成绩: 实验一算术逻辑运算实验 1.实验目的和要求 1. 熟悉简单运算器的数据传送通路; 2. 验证4位运算功能发生器功能(74LS181)的组合功能。 2.实验原理 实验中所用到的运算器数据通路如图1-1所示。其中运算器由两片74181

以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74373)锁存,锁存器的输入连接至数据总线,数据开关INPUT DEVICE用来给出参与运算的数据,并经过一个三态门(74245)和数据总线相连,数据显示灯“BUS UNIT”已和数据总线相连,用来显示数据总线内容。 图1-2中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号,其它均为电平信号。由于实验电路中的时序信号均已连至W/R UNIT的相应时序信号引出端,因此,在进行实验时,只需将W/R UNIT 的T4接至STATE UNIT的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲,而S3,S2,S1,S0,Cn,LDDR1,LDDR2,ALU-B,SW-B各电平控制信号用SWITCH UNIT中的二进制数据开关来模拟,其中Cn,ALU-B,SW-B为低电平控制有效,LDDR1,LDDR2为高电平有效。 3.主要仪器设备(实验用的软硬件环境) ZYE1603B计算机组成原理教学实验系统一台,排线若干。 4.操作方法与实验步骤

计算机组成原理实验

计算机组成原理上机实验指导

一、实验准备和实验注意事项 1.本课程实验使用专门的TDN-CM++计算机组成原理教学实验设备,使用前后均应仔细检查主机板,防止导线、元件等物品落入装置导致线路短路、元件损坏。 2.完成本实验的方法是先找到实验板上相应的丝印字及其对应的引出排针,将排针用电缆线连接起来,连接时要注意电缆线的方向,不能反向连接;如果实验装置中引出排针上已表明两针相连,表明两根引出线部已经连接起来,此时可以只使用一根线连接。 3.为了弄清计算机各部件的工作原理,前面几个实验的控制信号由开关单元“SWITCH UNIT”模拟输入;只有在模型机实验中才真正由控制器对指令译码产生控制信号。在每个实验开始时需将所有的开关置为初始状态“1”。 4.本实验装置的发光二极管的指示灯亮时表示信号为“0”,灯灭时表示信号为“1”。 5.实验接线图中带有圆圈的连线为实验中要接的线。 6.电源关闭后,不能立即重新开启,关闭与重启之间至少应有30秒间隔。 7.电源线应放置在机专用线盒中。 8.保证设备的整洁。

二、实验设备的数据通路结构 利用本实验装置构造的模型机的数据通路结构框图如下图。其中各单元部已经连接好,单元之间可能已经连接好,其它一些单元之间的连线需要根据实验目的用排线连接。 图0-2 模型机数据通路结构框图

实验一运算器实验:算术逻辑运算实验 一.实验目的 1.了解运算器的组成结构; 2.掌握运算器的工作原理; 3.掌握简单运算器的数据传送通路。 4.验证运算功能发生器(74LSl81)的组合功能。 二.实验设备 TDN-CM++计算机组成原理教学实验系统一台,排线若干。 三.实验原理 实验中所用的运算器数据通路如图1-l所示。其中两片74LSl81以串行方式构成8位字长的ALU,ALU的输出经过一个三态门(74LS245)和数据总线相连。三态门由ALU-B控制,控制运算器运算的结果能否送往总线,低电平有效。 为实现双操作数的运算,ALU的两个数据输入端分别由二个锁存器DR1、DR2(由74LS273实现)锁存数据。要将数据总线上的数据锁存到DR1、DR2中,锁存器的控制端LDDR1和LDDR2必须为高电平,同时由T4脉冲到来。 数据开关(“INPUT DEVICE”)用来给出参与运算的数据,经过三态门(74LS245)后送入数据总线,三态门由SW-B控制,低电平有效。数据显示灯(“BUS UNIT”)已和数据总线相连,用来显示数据总线上的容。 图中已将用户需要连接的控制信号用圆圈标明(其他实验相同,不再说明),其中除T4为脉冲信号外,其它均为电平信号。由于实验电路中的时序信号均已连至“W/R UNIT”的相应时序信号引出端,因此,在进行实验时,只需将“W/R UNIT”的T4接至“STATE UNIT”的微动开关KK2的输出端,按动微动开关,即可获得实验所需的单脉冲。 ALU运算所需的电平控制信号S3、S2、S1、S0、Cn、M、LDDR1、LDDR2、ALU-B、SW-B均由“SWITCH UNIT”中的二进制数据开关来模拟,其中Cn、ALU-B、SW-B为低电平有效,LDDRl、LDDR2为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

计算机组成原理实验五存储器读写实验

实验五 存储器读写实验实验目的 1. 掌握存储器的工作特性。 2. 熟悉静态存储器的操作过程,验证存储器的读写方法。 二、实验原理 表芯片控制信号逻辑功能表

2. 存储器实验单元电路 芯片状态 控制信号状态 DO-D7 数据状态 M-R M -W 保持 1 1 高阻抗 读出 0 1 6116-^总钱 写人 1 0 总线-*6116 无效 报警 ^2-10 D7—DO A7—A0

團2-8存储器实验电路逻辑图 三、实验过程 1. 连线 1) 连接实验一(输入、输出实验)的全部连线。 2) 按逻辑原理图连接M-W M-R 两根信号低电平有效信号线 3) 连接A7-A0 8根地址线。 4) 连接B-AR 正脉冲有效信号 2. 顺序写入存储器单元实验操作过程 1) 把有B-AR 控制开关全部拨到0,把有其他开关全部拨到1,使全部信号都处 于无效 状态。 2) 在输入数据开关拨一个实验数据,如“ 00000001”即16进制的01耳 把IO-R 控制开关拨下,把地址数据送到总线。 3) 拨动一下B-AR 开关,即实现“1-0-1 ”产生一个正脉冲,把地址数据送地 址寄存器保存。 4) 在输入数据开关拨一个实验数据,如“ 10000000',即16进制的80耳 把IO-R 控 制开关拨下,把实验数据送到总线。 3. 存储器实验电路 0 O O 0 0 olo O O O O 0 00 OUTPUT L/O :W 8-AR £ ■」2 ■七 ol^Fgr' L P O 74LS273 A7- AO vz 0 o|o 0 r 6116 A7 INPUT D7-O0 [olololololololol T2

计算机组成原理实验实验报告

计算机组成原理实验报告 学院信息与管理科学学院 专业班级计算机科学与技术2010级2班学生姓名毛世均 1010101046 指导教师郭玉峰 撰写日期:二○一二年六月四日

SA4=1 1.根据上边的逻辑表达式,分析58页图6-2的P1测试和P4测试两条指令的微地址转移方向。 P1测试:进行P1测试时,P1为0,其他的都为1, 因此SA4=1, SA3=I7,SA2=I6,SA1=,SA0=I4 微地址011001,下址字段为001000下址字段001000译码后,高两位不变,仍然为00,低四位受到机器指令的高四位I7-I4的影响。 机器指令的高四位为0000时,下一条微指令地址为001000,转到IN 操作。机器指令高四位0010时,下一条微指令地址为001010,转到MOV 操作。机器指令高四位为0001时,下一条微指令地址为001001,转到ADD 操作。机器指令高四位为0011时,下一条微指令地址为001011,转到OUT 操作。机器指令高四位为0100时,下一条微指令地址001100,转到JMP 操作 P4测试:进行P4测试时,P4为0,其他的都为1. 因此SA4=SA3=SA2=1,SA1=CA2,SA0=CA1 微地址000000,下址字段为010000. 010000被译码之后,高四位不变,0100低两位由CA2和CA1控制。CA2和CA1的值是由单片机的键盘填入控制的。 当实验选择CtL2=1时,CA2和CA1被填入0和1,这时低两位被译码电路翻译成01,所以下一条微地址就是010001,然后进入写机器指令的状态。当实验选择CtL2=2时,CA2和CA1被填入1和0,这时低两位被译码电路翻译成10,所以下一条微地址就是010010,然后进入读机器指令的状态。当实验选择CtL2=2时,CA2和CA1被填入1和1,这时低两位被译码电路翻译成 11,所以下一条微地址就是010011,然后进入运行机器指令的状态。 2.分析实验六中五条机器指令的执行过程。

计算机组成原理实验报告5- PC实验

2.5 PC实验 姓名:孙坚学号:134173733 班级:13计算机日期:2015.5.15 一.实验要求:利用CPTH 实验仪上的K16..K23 开关做为DBUS 的数据,其它开关做为控制信号,实现程序计数器PC的写入及加1 功能。 二.实验目的:1、了解模型机中程序计数器PC的工作原理及其控制方法。2、了解程序执行过程中顺序和跳转指令的实现方法。 三.实验电路:PC 是由两片74HC161构成的八位带预置记数器,预置数据来自数据总线。记数器的输出通过74HC245(PCOE)送到地址总线。PC 值还可以通过74HC245(PCOE_D)送回数据总线。 PC 原理图 在CPTH 中,PC+1 由PCOE 取反产生。 当RST = 0 时,PC 记数器被清0 当LDPC = 0 时,在CK的上升沿,预置数据被打入PC记数器 当PC+1 = 1 时,在CK的上升沿,PC记数器加一 当PCOE = 0 时,PC值送地址总线

PC打入控制原理图 PC 打入控制电路由一片74HC151 八选一构成(isp1016实现)。 当ELP=1 时,LDPC=1,不允许PC被预置 当ELP=0 时,LDPC 由IR3,IR2,Cy,Z确定 当IR3 IR2 = 1 X 时,LDPC=0,PC 被预置 当IR3 IR2 = 0 0 时,LDPC=非Cy,当Cy=1时,PC 被预置 当IR3 IR2 = 0 1 时,LDPC=非Z,当Z=1 时,PC 被预置 连接线表 四.实验数据及步骤: 实验1:PC 加一实验

置控制信号为: 按一次STEP脉冲键,CK产生一个上升沿,数据PC 被加一。 实验2:PC 打入实验 二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据12H 置控制信号为: 每置控制信号后,按一下STEP键,观察PC的变化。 五.心得体会: 经过上一个实验的练习,在做这个实验的时候更加得心应手,了解了模型机中程序计数器PC的工作原理及其控制方法,还有了解了程序执行过程中顺序和跳转指令的实现方法。

计算机组成原理实验报告(运算器组成、存储器)

计算机组成原理实验报告 一、实验1 Quartus Ⅱ的使用 一.实验目的 掌握Quartus Ⅱ的基本使用方法。 了解74138(3:8)译码器、74244、74273的功能。 利用Quartus Ⅱ验证74138(3:8)译码器、74244、74273的功能。 二.实验任务 熟悉Quartus Ⅱ中的管理项目、输入原理图以及仿真的设计方法与流程。 新建项目,利用原理编辑方式输入74138、74244、74273的功能特性,依照其功能表分别进行仿真,验证这三种期间的功能。 三.74138、74244、74273的原理图与仿真图 1.74138的原理图与仿真图 74244的原理图与仿真图

1. 4.74273的原理图与仿真图、

实验2 运算器组成实验 一、实验目的 1.掌握算术逻辑运算单元(ALU)的工作原理。 2.熟悉简单运算器的数据传送通路。 3.验证4位运算器(74181)的组合功能。 4.按给定数据,完成几种指定的算术和逻辑运算。 二、实验电路 附录中的图示出了本实验所用的运算器数据通路图。8位字长的ALU由2片74181构成。2片74273构成两个操作数寄存器DR1和DR2,用来保存参与运算的数据。DR1接ALU的A数据输入端口,DR2接ALU的B数据输入端口,ALU的数据输出通过三态门74244发送到数据总线BUS7-BUS0上。参与运算的数据可通过一个三态门74244输入到数据总线上,并可送到DR1或DR2暂存。 图中尾巴上带粗短线标记的信号都是控制信号。除了T4是脉冲信号外,其他均为电位信号。nC0,nALU-BUS,nSW-BUS均为低电平有效。 三、实验任务 按所示实验电路,输入原理图,建立.bdf文件。 四.实验原理图及仿真图 给DR1存入01010101,给DR2存入10101010,然后利用ALU的直通功能,检查DR1、

计算机组成原理实验说明分解

实验一运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆(组)的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验原理 上图是本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF中。

RF由一个ispLSI1016实现,功能上相当于四个8位通用寄存器,用于保存参与运算的数据,运算后的结果也要送到RF中保存。双端口寄存器堆模块的控制信号中,RS1、RS0用于选择从B端口(右端口)读出的通用寄存器,RD1、RD0用于选取从A端口(左端口)读出的通用寄存器。而WR1、WR0用于选择写入的通用寄存器。LDRi是写入控制信号,当LDRi=1时,数据总线DBUS上的数据在T3写入由WR1、WR0指定的通用寄存器。RF的A、B端口分别与操作数暂存器DR1、DR2相连:另外,RF的B端口通过一个三态门连接到数据总线DBUS上,因而RF 中的数据可以直接通过B端口送到DBUS上。 DR1和DR2各由1片74LS273构成,用于暂存参与运算的数据。DR1接ALU 的A输入端口,DR2接ALU的B端口。ALU由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。 图中尾巴上带粗短线标记的信号都是控制信号,其中S3,S2,Sl,S0,M,Cn#,LDDR2,LDDRl, ALU-BUS#,SW-BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0等是电位信号,用电平开关K0—Kl5来模拟。T2、T3是脉冲信号,印制板上已连接到实验台的时序电路上。#为低电平有效。K0—K15是一组用于模拟各控制电平信号的开关,开关向上时为1,开关向下时为0,每个开关无固定用途,可根据实验具体情况选用。 实验中进行单拍操作,每次只产生一组Tl,T2,T3,T4脉冲,需将实验台上的DP,DB开关进行正确设置。将DP开关置l,将DB开关置0,每按一次QD 按钮,则顺序产生Tl、T2、T3、T4各一个单脉冲。 三、实验任务 1.按图要求,将运算器模块与实验台操作板上的线路进行连接。 置DP=1,DB=0,编程开关拨到正常位置. 2.用开关SW7-SW0向通用寄存器堆RF内的R0-R3寄存器置数34H、21H、52H、65H。然后读出R0-R3的内容,在数据总线DBUS上显示出来。 3.令DR1=55H、DR2=0AAH、Cn#=1,验证ALU的正逻辑算术、逻辑运算功能。 四、实验要求 1.做好实验预习。掌握运算器的数据传送通路和ALU的功能特性,并熟悉本实验中所用的控制台开关的作用和使用方法。

计算机组成原理实验1.

计算机组成原理实验1 运算器(脱机)实验 通过开关、按键控制教学机的运算器执行指定的运算功能,并通过指示灯观察运算结果。实验原理: 为了控制Am2901运算器能够按照我们的意图完成预期的操作功能,就必须向其提供相应的控制信号和数据。 控制信号包括 1、选择送入ALU的两路操作数据R和S的组合关系(实际来源)。 2、选择ALU的八种运算功能中我们所要求的一种。这可通过提供三位功能选择码I5、 I4、I3实现。 3、选择运算结果或有关数据以什么方式送往何处的处理方案,这主要通过通用寄存器 组合和Q寄存器执不执行接收操作或位移操作,以及向芯片输出信息Y提供的是 什么内容。这是通过I8、I7、I6三位结果选择码来控制三组选择门电路实现的。 外部数据包括 1、通过D接收外部送来的数据 2、应正确给出芯片的最低位进位输入信号C n 3、关于左右移位操作过程中的RAM3、RAM0、Q3和Q0的处理。 4、当执行通用寄存器组的读操作时,由外部送入的A地址选中的通用寄存器的内容送 往A端口,由B地址选中的通用寄存器的内容送往B端口,B地址还用作通用寄 存器的写汝控制。 对于芯片的具体线路,需说明如下几点: 1、芯片结果输出信号的有无还受一个/OE(片选)信号的控制。 2、标志位F=0000为集电极开路输出,容易实现“线与”逻辑,此管脚需经过一个电阻 接到+5V。 3、RAM3、RAM0、Q3和Q0均为双向三态逻辑,一定要与外部电路正确连接。 4、通用寄存器组通过A端口、B端口读出内容的输出处均有锁存器线路支持。 5、该芯片还有两个用于芯片间完成高速进位的输出信号/G和/P。 6、Am2901芯片要用一个CLK(CP)时钟信号作为芯片内通用寄存器、锁存器和Q寄 存器的打入信号。 实验步骤如下: (1)选择运算器要完成的一项运算功能,包括数据来源,运算功能,结果保存等;(2)需要时,通过数据开关向运算器提供原始数据; (3)通过24位的微型开关向运算器提供为完成指定运算功能所需要的控制信号; (4)通过查看指示灯或用电表量测,观察运算器的运行结果(包括计算结果和特征标志)。实验准备 12为微型开关的具体控制功能分配如下: A口和B口地址:送给Am2901器件用于选择源与目的操作数的寄存器编号; I8~I0:选择操作数来源、运算操作功能、选择操作数处理结果和运算器输出内容的3组3位控制码; Sci,SSH和SST:用于确定运算器最低位的进位输入、移位信号的入/出和怎样处理Am2901产生的状态标志位的结果。

计算机组成原理专题实验

计算机组成原理专题实验 课程设计方案 学院:电信学院 班级:计算机16 学号:2110505136 姓名:冯旭 指导老师:姜欣宁 提交日期:2014年4月1日

设计目的 通过对一个简单模型机的设计与实现,对计算机的基本组成、部件的设计、部件间的 连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。 在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。 指令集的设计 1.机器位数及寻址特性及时间特性 计划设计一个16位系统,提供256字的寻址空间和16个16位的通用寄存器。寻址方式提供立即数寻址、寄存器寻址和直接寻址3种方式。 计划每条指令由两个机器周期完成(第一个机器周期取指令,第二个机器周期执行指令),每个机器周期固定占4个时钟周期。 2.指令类型 计划提供16种指令,其中算逻类指令8条,其他类指令8条。 指令采用类似MIPS的方式,即只能使用load和store指令来访问存储器,一切运算均在寄存器之间进行。同时由于所设计的系统是简化系统不含I/O设备,所以指令集中不提供I/O类指令。 具体指令及其所采用的寻址方式,如下所示: 非算逻类指令: 指令名指令格式指令含义 LOAD Load dr,addr 将地址addr中的数存入dr寄存器 STORE Storedr,addr 将dr寄存器中的数写入地址addr所指的空间 JMP Jmp addr 跳转到地址addr JNE Jne addr 若标志位z无效跳转到地址addr JC Jc addr 若标志位c有效跳转到地址addr NOP nop 空指令 MOV Mov dr,sr 将sr寄存器中的值复制到sr寄存器 MOVI Movi dr,imm 将8位立即数imm写入dr寄存器 算逻类指令: ADD Add dr,sr 将dr寄存器中的值与sr寄存器中的值相加,结果存dr寄存器 SUB Sub dr,sr 将dr寄存器中的值与sr寄存器中的值相减,结果存dr寄存器 AND And dr,sr 将dr寄存器中的值与sr寄存器中的值按位做逻辑与,结果存dr寄存器 OR Or dr,sr 将dr寄存器中的值与sr寄存器中的值按位做逻辑或,结果存dr寄存器 NOT Not dr 将dr寄存器中的值按位取反 SHL Shl dr,sr 将dr寄存器中的值逻辑左移sr中值那么多位 SHR Shr dr,sr 将dr寄存器中的值逻辑右移sr中值那么多位 INC Inc dr 将dr寄存器中的值自增1 3.指令格式 我们采用16位固定位指令格式,根据操作数寻址方式的不同,对这16位可以划分为两种不同的理解方式,即可以认为是提供两种相似的格式: 其中操作码部分均为4位,占指令中15到12的高4位。DR和SR均为通用寄存器的编号,各占4位,ADDR/IMM部分为地址或立即数(8位)占指令中最低8位。 根据指令中操作数的数量和寻址类型的不同选用不同的格式,其主导思想为:

计算机组成原理实验五参考

实验五CPU组成与机器指令执行实验 第一步,对机器指令系统组成的简单程序进行译码。 第二步,接线 本实验的接线比较多,需仔细。 1.将跳线开关J1用短路子短接。时序发生器的输入TJI接控制存储器的输出TJ。控制器的输入C接运算器ALU的C。控制器的输入IR7、IR6、IR5、IR4依次指令寄存器IR的输出IR7、IR6、IR5、IR4。共6条线。

2.控制器的输出LDIR(CER)、LDPC(LDR4)、PC_ADD、PC_INC、M4、LDIAR、LDAR1(LDAR2)、AR1_INC、M3、LDER、IAR_BUS#、SW_BUS#、RS_BUS#、ALU_BUS、CEL#、LRW、WRD、LDDR1(LDDR2)、M1(M2)、S2、S1、S0 依次与数据通路的对应信号连接。共27条线。

3.指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。共6条线。 合上电源。按CLR#按钮,使实验系统处于初始状态。 第三步,利用控制台微程序KLD设置通用寄存器R2、R3的值 在本操作中,我们打算使R2 = 60H,R3 = 61H。 1.令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令SWC = 0、SWB = 1、SWA = 1,使实验系统处于寄存器加载工作方式KLD。按CLR#按钮, 使实验系统处于初始状态。 2.在SW7—SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。 该存储器地址最好是不常用的一个地址,以免设置通用寄存器操作破坏重要的存储 器单元的内容。例如可将该地址设置为0FFH。按一次QD按钮,将0FFH写入AR1 和AR2。

计算机组成原理实验

计算机组成原理 实验报告 学院(系):软件学院 专业:软件设计 班级:软件设计一班 学号:1415925365 姓名:沈烨 2016年11月24日

实验1 Cache模拟器的实现 一.实验目的 (1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。 (4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验内容和步骤 1、启动CacheSim。 2、根据课本上的相关知识,进一步熟悉Cache的概念和工作机制。 3、依次输入以下参数:Cache容量、块容量、映射方式、替换策略和写策略。 4、读取cache-traces.zip中的trace文件。 5、运行程序,观察cache的访问次数、读/写次数、平均命中率、读/写命中率。思考:1、Cache的命中率与其容量大小有何关系? Cache 的容量与块长是影响cache效率的重要因素; Cache 容量越大,其CPU命中率就越高,当然容量过大,增加成本,而且cache 容量达到一定值时,命中率已不因容量的增加而又明显的提高; 2、Cache块大小对不命中率有何影响? Cache 当块由小到大,在已被访问字的附近,近期也可能访问,增大块长,可将更多有用字存入缓存,提高命中率;但是继续增大块长,命中率可能下降,因为所装入缓存的有用数据反而少于被替换掉的有用数据,由于块长增大,块数减少,装入新的块要覆盖旧块,很可能出现少数块刚装入就被覆盖,故命中率可能下降; 3、替换算法和相联度大小对不命中率有何影响? 替换算法中:LRU算法的平均命中率比FIFO的高 LRU算法比较好地利用访存局部性原理,替换出近期用得最少的字块,它需要随时记录cache 各个字块使用情况。FIFO不需要记录各个字块的使用情况,比较容易实现开销小,但是没有根据访存的局部性原理,最早调入的信息可能以后还要用到,或经常用到例如循环程序; Cache 容量一定时,随着相联度的不断增加,不命中率渐渐减小,但是当相连度增加到一定程度时,不命中率保持不变;

相关文档
相关文档 最新文档