当前位置:文档之家› 实验四常规型微程序控制器组成实验

实验四常规型微程序控制器组成实验

实验四常规型微程序控制器组成实验
实验四常规型微程序控制器组成实验

实验四常规型微程序控制器组成实验

一、实验目的

掌握时序发生器的组成原理。

掌握微程序控制器的组成原理。

二、实验电路

时序发生器

本实验所用的时序电路见图。电路由一个500KHz晶振、2片GAL22V10、一片74LS390组成,可产生两级等间隔时序信号T1-T4、W1-W3,其中一个W由一轮T1-T4组成,相当于一个微指令周期或硬连线控制器的一拍,而一轮W1-W3可以执行硬连线控制器的一条机器指令。另外,供数字逻辑实验使用的时钟由MF经一片74LS390分频后产生。

图时序信号发生器

本次实验不涉及硬连线控制器,因此时序发生器中产生W1-W3的部分也可根据需要放到硬连线控制器实验中介绍。

产生时序信号T1-T4的功能集成在图中左边的一片GAL22V10中,另外它还产生节拍信号

W1-W3的控制时钟CLK1。该芯片的逻辑功能用ABEL语言实现。其源程序如下:MODULE TIMER1

TITLE 'CLOCK GENERATOR T1-T4'

CLK = .C.;

"INPUT

MF, CLR, QD, DP, TJ, DB PIN 1..6;

W3 PIN 7;

"OUTPUT

T1, T2, T3, T4 PIN 15..18 ISTYPE 'REG';

CLK1 PIN 14 ISTYPE 'COM';

QD1, QD2, QDR PIN ISTYPE 'REG';

ACT PIN ISTYPE 'COM';

S = [T1, T2, T3, T4, QD1, QD2, QDR];

EQUATIONS

QD1 := QD;

QD2 := QD1;

ACT = QD1 & !QD2;

QDR := CLR & QD # CLR & QDR;

T1 := CLR & T4 & ACT # CLR & T4 & ! (DP # TJ # DB & W3) & QDR;

T2 := CLR & T1;

T3 := CLR & T2;

T4 := !CLR # T3 # T4 & !ACT & (DP #TJ# DB& W3) # !QDR;

CLK1 = T1 # !CLR & MF;

= MF;

END

节拍电位信号W1-W3只在硬连线控制器中使用,产生W信号的功能集成在右边一片GAL22V10中,用ABEL语言实现。其源程序如下:

MODULE TIMER2 .;

"INPUT

CLK1, CLR, SKIP PIN 1..3;

"OUTPUT

W1, W2, W3 PIN 16..18 ISTYPE 'REG';

W = [W1, W2, W3];

EQUATIONS

μA 0

μA 1μA 2μA 3μA 4μA 5P0

P1P2备用

TJ

L D I R

P C +1L D P C #A R +1L D A R #L D D R 1L D D R 2L D R i S W -B U S #R s -B U S #A L U -B U S #R A M -B U S #C E R #C E L #L R W C n #M S0S1S3S2图3.5 微指令格式

C IR7IR6IR5IR4SWC SWB SWA

图3.6 微程序控制器电路图

00

KT Array

图3.7 微程序流程图

. . . . . . . . . . . . . . .

P1 . . . . . . . . . . . . . . . . 1

P2 . . . . . . . . . . . . . . . . .

备用. . . . . . . . . . . . . . . . . TJ . 1 . . 1 1 . 1 1 . 1 . 1 . 1 . . LDIR . . . 1 . . . 1 . . . . . . . . 1

PC+1 . . . . . . . . . . . . . . . . .

LDPC# . 1 . . . 1 . . . . . . . . . 1 .

AR+1 . . . . . . . . . . . 1 . . 1 . .

LDAR# . 1 . . . 1 . . . 1 . . 1 . . . .

LDDR1 . . . . . . . . . . . . . . . . .

LDDR2 . . . . . . . . . . . . . . . . .

LDRi . . . . . . . . 1 . . . . . . . .

SW_BUS# . 1 1 . . 1 1 . 1 1 . . 1 1 . 1 .

RS_BUS# . . . . 1 . . . . . . . . . . . .

ALU_BUS# . . . . . . . . . . . . . . . . .

RAM_BUS# . . . . . . . . . . 1 . . . . . .

CER# . . . 1 . . . 1 . . . . . . . . 1

CEL# . . 1 . . . 1 . . . 1 . . 1 . . .

LR/W# . . 0 . . . 0 . . . 1 . . 0 . . .

Cn# . . . . . . . . . . . . . . . . .

M . . . . . . . . . . . . . . . . .

S0 . . . . . . . . . . . . . . . . .

S1 . . . . . . . . . . . . . . . . .

S2 . . . . . . . . . . . . . . . . .

S3 . . . . . . . . . . . . . . . . .

注:后缀为#的信号都是低电平有效信号,为了在控存ROM中用“1”表示有效,这些信号在控制器中经过反相后送往数据通路。

表微程序代码表(续)

微指令ADD SUB AND STA LDA JC STP OUT

当前微地址10 18 11 19 12 1A 13 1B 14 1C 15 1F 16 17

下一微地址18 0F 19 0F 1A 0F 1B 0F 1C 0F 0F 0F 0F 0F

P0 . . . . . . . . . . . . . .

P1 . . . . . . . . . . . . . .

P2 . . . . . . . . . . 1 . . .

备用. . . . . . . . . . . . . .

TJ . . . . . . . . . . . . 1 1

LDIR . . . . . . . . . . . . . .

PC+1 . 1 . 1 . 1 . 1 . 1 1 . 1 1

LDPC# . . . . . . . . . . . 1 . .

AR+1 . . . . . . . . . . . . . .

LDAR# . . . . . 1 . 1 . . . . .

LDDR1 1 . 1 . 1 . 1 . . . . . . .

LDDR2 1 . 1 . 1 . . . . . . . . .

LDRi . 1 . 1 . 1 . . . 1 . . . .

SW_BUS# . . . . . . . . . . . . . .

RS_BUS# . . . . . . 1 . 1 . . 1 . 1

ALU_BUS# . 1 . 1 . 1 . 1 . . . . . .

RAM_BUS# . . . . . . . . . 1 . . . .

CER# . . . . . . . . . . . . . .

CEL# . . . . . . . 1 . 1 . . . .

LR/W# . . . . . . 0 . 1 . . . .

Cn# . . . 1 . . . . . . . . . .

M . 0 . 0 . 1 . 0 . . . . . .

S0 . 1 . 0 . 1 . 0 . . . . . .

S1 . 0 . 1 . 1 . 0 . . . . . .

S2 . 0 . 1 . 0 . 0 . . . . . .

S3 . 1 . 0 . 1 . 0 . . . . . .

注:后缀为#的信号都是低电平有效信号,为了在控存ROM中用“1”表示有效,这些信号在控制器中经过反相后送往数据通路。

为了向RAM和寄存器堆中装入程序和数据、检查写入是否正确,并能启动程序执行,还设计了以下五个控制台操作微程序:

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

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

读存储器(RRM):按下复位按钮CLR#,置SWC=0、SWB=1、SWA=0。①在SW7-SW0中置好存储器地址,按QD按钮将此地址打入AR,RAM此地址单元的内容读至DBUS显示。

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

寄存器写操作(WRF):按下复位按钮CLR#,置SWC=0、SWB=1、SWA=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、SWA=0。①首先在SW7—SW0置好存储器地址,按QD按钮,则将此地址打入AR寄存器和PC寄存器。②在SW3、SW2置好寄存器选择信号RS1、RS0,按QD按钮,通过双端口存储器的右端口将RS1、RS0(即SW3、SW2)送到指令寄存器IR的第3、2位。RS1、RS0选中的寄存器的数据读出到DBUS上显示出来。③返回②继续下去,直到按复位键CLR#为止。这个控制台操作的主要作用是在程序执行前检查写入寄存器堆中的数据是否正确,在程序执行后检查程序执行的结果(在寄存器堆中的部分)是否正确。

四、实验设备

TEC-5计算机组成原理实验系统1台

逻辑测试笔一支(在TEC-5实验台上)

双踪示波器一台(公用)

万用表一只(公用)

五、实验任务

按实验要求,连接实验台的电平开关K0-K15、时钟信号源和微程序控制器。连接完成后应仔细检查一遍,然后才可以加上电源。

注意:本次实验只做微程序控制器本身的实验,故微程序控制器输出的微命令信号与执行部件(数据通路)的连线不连接。

观察时序信号。

用双踪示波器观测时序发生器的输入、输出信号:MF、T1-T4、W1-W3。比较相位关系,画出其波形图,并标注出测量所得的脉冲宽度。观察时须将DB、DP开关置为0状态,然后按QD按钮。

熟悉启停控制按钮的功能,并熟练使用这些控制按钮或开关。

熟悉微指令格式的定义,按此定义将图所示的全部微程序变换成二进制代码,并列表登记。此表请在预习时完成。

控制台操作的功能由SWC、SWB、SWA三个二进制开关的状态配合P0判断来决定。用单拍(DP)方式执行控制台操作微程序,观察判别字段和微地址指示灯的显示,跟踪微指令的执行情况,并与上表数据对照。

深刻理解0FH微指令的功能和P1测试的状态条件(IR7-IR4),用二进制开关设置IR7-IR4的不同状态,观察ADD至OUT八条机器指令对应微程序的微命令信号,特别是微地址转移的实现,并与上面表格进行对照。

六、实验要求

做好实验预习,掌握微程序控制器和时序发生器的工作原理。

根据实验任务所提的要求,在预习时完成表格填写、数据和理论分析值。

写出实验报告,内容是:

实验目的。

实验任务2的时序波形图和测量值。

实验任务3的表格。

七、实验步骤和实验结果

接线

注意:接线表中的TJ 是时序电路中的TJ ,不是控制器中的TJ (该TJ 由控制器产生,不能接输入信号),千万不要接错。

(2)观察时序信号的波形

置DP=0,DB=0。先按CLR#按钮复位,再QD 按钮。则时序部分开始不停止地运行,直到按CLR#按钮为止。用双踪示波器观察MF 、T1、T2、T3、

T4

W1、W2

、W3信号。观察的方法

是同时观察两路信号,以便于比较相位。可按下述顺序进行观察:

MF

T1,T1和T2,T2和T3,T3和T4,T1和W1,W1和W2,W2和W3。根据观察的结果,可绘出波形图。

MF T1T2T3T4W1W2W3

图3.8 基本时序图

MF 的周期为2000毫秒,占空比为50%。

(3)控存代码表

(4) 控制台操作微指令编码测试

控制台微代码在58C65的D0—D7输出,D0是最低位,D7是最高位,CM0是最低字节,CM3是最高字节。D0—D7对应于28C64的引脚11、12、13、15、16、17、18、19。对于控存的输出,有相应的32个指示灯指示。

置DP = 1,DB =0,使实验系统处于单拍状态。置SWC = 0、SWB = 0、SWA = 1,实验系统处于写存储器WRM工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H,测得的微码是00H 00H 00H 48H。按一次QD按钮,微地址为09H,测得的微码是00H 08H 84H 04H。按一次QD按钮,微地址为04H,测得的微码是01H 08H 00H 05H。按一次QD按钮,微地址为05H,测得的微码是00H 00H 44H 04H。按一次QD按钮,微地址为04H。由于微地址又返回04H,停止测试。

置DP = 1,DB =0,使实验系统处于单拍状态。置SWC = 0、SWB = 1、SWA = 0,实验系统处于读存储器RRM工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H,测得的微码是00H 00H 00H 48H。按一次QD按钮,微地址为0AH,测得的微码是00H 08H 80H 02H。按一次QD按钮,微地址为02H,测得的微码是03H 40H 04H 03H。按一次QD按钮,微地址为03H,测得的微码是00H 00H 40H 02H。按一次QD按钮,微地址为02H。由于微地址又返回02H,停止测试。

置DP = 1,DB =0,使实验系统处于单拍状态。置SWC = 0、SWB = 1、SWA = 1,实验系统处于写寄存器WRF工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H, 测得的微码是00H 00H 00H 48H。按一次QD按钮,微地址为0BH,测得的微码是00H 08H 0A4H 1DH。按一次QD按钮,微地址为1DH,测得的微码是01H 08H 00H 0DH。按一次QD按钮,微地址为0DH,测得的微码是00H 80H 0CH 0EH。按一次QD按钮,微地址为0EH,测得的微码是00H 0CH 04H 1DH。按一次QD按钮,微地址为1DH。由于微地址又返回1DH,停止测试。

置DP = 1,DB =0,使实验系统处于单拍状态。置SWC = 1、SWB = 0、SWA = 0,实验系统处于读寄存器工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H, 测得的微码

是00H 00H 00H 48H。按一次QD按钮,微地址为0CH,测得的微码是00H 08H 0A4H 1EH。按一次QD按钮,微地址为1EH,测得的微码是01H 08H 00H 06H。按一次QD按钮,微地址为06H,测得的微码是00H 80H 08H 07H。按一次QD按钮,微地址为07H,测得的微码是00H 10H 04H 1EH。按一次QD按钮,微地址为1EH。由于微地址又返回1EH,停止测试。

置DP = 1,DB =0,使实验系统处于单拍状态。置SWC=0、SWB = 0、SWA = 0,实验系统处于PR工作模式。按CLR#按钮,使实验系统处于初始状态,微地址为00H。按一次QD按钮,微地址为08H,测得的微码是00H 08H 20H 0FH。按一次QD按钮,微地址为0FH,测得的微码是00H 80H 08H 90H。由于以后的微码与机器指令有关,停止测试。

(5) 深刻理解0FH微指令的功能和P1测试的状态条件(IR7-IR4),用二进制开关设置IR7

-IR4的不同状态,观察ADD至OUT八条机器指令对应微程序的微命令信号,特别是微地址转移的实现。

0FH微指令的功能是根据程序计数器PC从存储器取指令,送往指令寄存器IR。0FH微指令的下一微指令地址是10H。不过,10H只是一个表面的下一微地址,由于该微指令中P1 = 1,因此实际的微指令地址的低4位要根据IR7—IR4确定,实际微地址为10H + IR7 IR6 IR5 IR4。置DP = 1,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)= 0,K3(IR6)=0,K2(IR5)= 0,K1(IR4)= 0,相当于ADD指令的操作码。按一次QD按钮,微地址变为10H,微代码是00H 03H 00H 18H。按一次QD按钮,微地址变为18H,微代码是90H 24H 10H 0FH。按一次QD按钮,微地址回到0FH。

置DP = 1,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)= 0,K3(IR6)=0,K2(IR5)= 0,K1(IR4)= 1,相当于SUB指令的操作码。按一次QD按钮,微地址变为11H,微代码是00H 03H 00H 19H。按一次QD按钮,微地址变为19H,微代码是64H 24H 10H 0FH。按一次QD按钮,微地址回到0FH。

置DP = 1,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)= 0,K3(IR6)=0,K2(IR5)= 1,K1(IR4)= 0,相当于AND指令的操作码。按一次QD按钮,微地址变为12H,微代码是00H 03H 00H 1AH。按一次QD按钮,微地址变为

1AH,微代码是0B8H 24H 10H 0FH。按一次QD按钮,微地址回到0FH。

置DP = 1,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)= 0,K3(IR6)=0,K2(IR5)= 1,K1(IR4)= 1,相当于STA指令的操作码。按一次QD按钮,微地址变为13H,微代码是00H 11H 80H 1BH。按一次QD按钮,微地址变为

1BH,微代码是01H 20H 10H 0FH。按一次QD按钮,微地址回到0FH。

置DP = 1,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)= 0,K3(IR6)=1,K2(IR5)= 0,K1(IR4)= 0,相当于LDA指令的操作码。按一

次QD按钮,微地址变为14H,微代码是00H 10H 80H 1CH。按一次QD按钮,微地址变为

1CH,微代码是03H 44H 10H 0FH。按一次QD按钮,微地址回到0FH。

置DP = 1,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD按钮,微地址变为0FH。令K4(IR7)= 0,K3(IR6)=1,K2(IR5)= 0,K1(IR4)= 1,相当于JC指令的操作码。按一次QD按钮,微地址变为15H,微代码是00H 00H 11H 0FH。令K0(C)=0。按一次QD按钮,微地址变为0FH,微代码为00H 80H 08H 90H。按一次QD按钮,微地址变为15H。令K0(C)=1,按一次QD按钮,微地址变为1FH,微代码是00H 10H 20H 0FH。按一次QD按钮,微地址回到0FH。

置DP = 1,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)= 0,K3(IR6)=1,K2(IR5)= 1,K1(IR4)= 0,相当于STP指令的操作码。按一次QD按钮,微地址变为16H,微代码是00H 00H 14H 0FH。按一次QD按钮,微地址回到

0FH。

置DP = 1,DB =0,使实验系统处于单拍状态。选择SWC = 0、SWB = 0、SWA = 0,按CLR#按钮,使实验系统处于初始状态,微地址是00H。按一次QD按钮,微地址变为08H,微代码为00H 08H 20H 0FH。按一次QD按钮,微地址变为0FH,微代码为00H 80H 08H 90H。令K4(IR7)= 0,K3(IR6)=1,K2(IR5)= 1,K1(IR4)= 1,相当于OUT指令的操作码。按一次QD按钮,微地址变为17H,微代码是00H 10H 14H 0FH。按一次QD按钮,微地址回到

0FH。

微程序控制器实验

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称微程序控制器实验 班级

学号 姓名 同组人员 实验日期 一、实验目的与要求 实验目的 (1)掌握微程序控制器的组成原理 (2)掌握微程序控制器的编制、写入,观察微程序的运行过程 实验要求 (1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说懂得了些什么重要教学内容; (2)应在实验前掌握所有控制信号的作用,写出实验预习报告并带入实验室; (3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要仔细思考实验有关内容,把自己想不明白的问题通过实验理解清楚; (4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。还应写出自己的心得体会,也可以对教学实验提出新的建议等。实验报告要交给教师评阅后并给出实验成绩; 二、实验逻辑原理图与分析 画实验逻辑原理图

逻辑原理图分析 微程序控制器的基本任务是完成当前指令的翻译个执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。 它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示成为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器。 三、数据通路图及分析(画出数据通路图并作出分析) (1)连接实验线路,检查无误后接通电源。如果有警报声响起,说明有总线竞争现象,应关闭电源,检查连线,直至错误排除。 (2)对微控制器进行读写操作,分两种情况:手动读写和联机读写。 1、手动读写

硬件基础-微程序控制器实验报告

大学 HUNAN UNIVERSITY 硬件基础实验2 实验报告 一、实验预习 1.书中的图形实现微程序控制器,中间的映射逻辑究竟是怎么实现的? 答:但出现分支时,预设端信号由IR决定。IR为1时信号有效,输出为1. 通过IR的值映射为下址的低三位,从而产生下址。 2.书中设计用到了强写强读,为什么要设计这个功能? 答:满足用户因为没有初始化mif文件时输入数据的需要。

二、实验目的 微程序控制器实验的主要任务:生成CPU里的控制信号,并使程序按正确的顺序执行。核心部分是ROM,存放机器指令的微程序。 1、掌握微程序控制器的组成、工作原理; 2、掌握微程序控制器的基本概念和术语:微命令、微操作、微指令、微 程序等; 3、掌握微指令、微程序的设计及调试方法; 4、通过单步运行若干条微指令,深入理解微程序控制器的工作原理; 二、实验电路 图1 附:电路图过大,请放大观察详情 三、实验原理 将机器指令的操作(从取指到执行)分解为若干个更基本的微操作序列,并将有关的控制信息(微命令)以微码的形式编成微指令输入到控制存储器中。这样,每条机器指令将与一段微程序对应,取出微指令就产生微命令,以实现机器指令要求的信息传送与加工。

四、实验步骤及概述 1)设计状态机部分 a、编写VHDL代码如下 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY zhuangtaiji IS PORT ( reset : IN STD_LOGIC := '0'; clock : IN STD_LOGIC; qd : IN STD_LOGIC := '0'; dp : IN STD_LOGIC := '0'; tj : IN STD_LOGIC := '0'; t1 : OUT STD_LOGIC; t2 : OUT STD_LOGIC; t3 : OUT STD_LOGIC; t4 : OUT STD_LOGIC ); END zhuangtaiji; ARCHITECTURE BEHAVIOR OF zhuangtaiji IS TYPE type_fstate IS (idle,st1,s_st2,st4,st2,st3,s_st4,s_st3); SIGNAL fstate : type_fstate; SIGNAL reg_fstate : type_fstate; BEGIN PROCESS (clock,reset,reg_fstate) BEGIN IF (reset='1') THEN fstate <= idle; ELSIF (clock='1' AND clock'event) THEN fstate <= reg_fstate; END IF; END PROCESS; PROCESS (fstate,qd,dp,tj) BEGIN t1 <= '0'; t2 <= '0'; t3 <= '0'; t4 <= '0'; CASE fstate IS WHEN idle => IF (NOT((qd = '1'))) THEN reg_fstate <= st1;

计算机组成原理实验1_脱机运算器

实验一.脱机运算器部件实验 一、教学计算机的通电启动和关闭操作 1.教学计算机系统通电启动的操作步骤: (1) 准备一台串行接口运行正常的PC机; (2) 将TH-union计原16放在实验台上,打开实验箱的盖子,确定电源处于断开状态; (3) 将黑色的电源线一端接220V交流电源,另一端插在计原16实验箱的电源插座; (4) 取出通讯线,将通讯线的9芯插头接在计原16实验箱后板上左侧位置的串口插座,另一端接 到PC机的串口上; (5) 将计原16实验系统左下方的五个黑色的功能控制开关置于00010的位置(连续、内存读指令、 微程序、联机、16位),开关拨向上方表示“1”,拨向下方表示“0”; (6) 接通电源,船形开关和5V电源指示灯亮。 (7) 在PC机上运行PCEC16.EXE文件,根据使用的PC机的串口情况选“1”或“2”,其它的设置一 般不用改动,直接回车即可。(具体步骤附后) (8) 按一下“RESET”按键,再按一下“START”按键,PC机屏幕上显示: TH-union CRT MONITOR Version 1.0 April 2001 Computer Architectur Lab., Tsinghua University Programmed by He Jia > 这个版权信息显示出来之后,表示教学机已经进入正常运行状态,等待输入监控命令。 实验注意事项: 1.连接电源线和通讯线前TH-union计原16实验系统的电源开关一定要处于断开状态,否则可能 损坏教学计算机系统的或PC机的串行接口电路; 2.五个黑色控制开关的功能示意图如下: 开关位置,自左向右共5个,分别控制 1 2 3 4 5 向上拨:单步手工拨指令组合逻辑运算器联机 8位 向上拨:连续读内存指令微程序运算器脱机 16位 几种常用的工作方式,(开关向上拨表示为1,向下拨表示0) 工作方式功能开关状态 连续运行程序、硬连线控制器、联机、16位机 00110 连续运行程序、微程序控制器、联机、16位机 00010 单步、手拨指令、硬连线控制器、联机、16位机 11110 单步、手拨指令、微程序控制器、联机、16位机 11010 单步、脱机运算器实验、16位机 10000 2.关闭教学计算机系统 在需要关闭教学计算机系统时,应首先通过安装在机箱右侧板上的开关关闭交流电源,教学机上的全部指示灯都会熄灭。(在需要时,还可以拨掉交流电源连线,断开教学计算机和PC机的串行接口连线),收拾好实验设备并盖好机箱的箱盖。 3.运行仿真终端程序的操作步骤: 1.在PC机上建一个文件夹TH-union计原16(若原来已有则不必重建); 2.若PCEC16程序尚未拷入,将其拷贝到在用户硬盘中刚建的文件夹里; 3.双击PCEC16图标,出现如图所示的界面:

微程序控制器的设计与实现

微程序控制器的设计与实现 一、设计目的 1、巩固和深刻理解“计算机组成原理”课程所讲解的原理, 加深对计算机各模块协同工作的认识。 2、掌握微程序设计的思想和具体流程、操作方法。 3、培养学生独立工作和创新思维的能力,取得设计与调试的 实践经验。 4、尝试利用编程实现微程序指令的识别和解释的工作流程。 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计具体要求 1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、 据掌握的理论写出要设计的指令系统的微程序流程。指令系统至少要包括六条指令,具有上述功能和寻址方式。 2、根据微操作流程及给定的微指令格式写出相应的微程序 3、将所设计的微程序在虚拟环境中运行调试程序,并给出测试思 路和具体程序段 4、撰写课程设计报告。

四、设计环境 1、伟福COP2000型组成原理实验仪,COP2000虚拟软件。 2、VC开发环境或者Java开发环境。 五、设计方案 (1)设计思想 编写一个指令系统,根据所编写的指令的功能来设计相应的微程序。首先利用MOV传送指令来给寄存器和累加器传送立即数,实现立即数寻址;利用寄存器寻址方式,用ADDC指令对两者进行相加运算;利用寄存器间接寻址方式,用SUB指令实现减运算;利用累加器寻址方式,用CPL指令实现对累加器寻址;利用存储器寻址方式,用JMP 指令实现程序的无条件跳转。这样,所要设计的指令系统的功能就全部实现了。 (2)微指令格式 采用水平微指令格式的设计,一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。其一般格式如下: 按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译法)微指令,字段译码法水平型微指令,以及直接和译码相混合的水平型微指令。 (3)24个微指令的意义 COP2000 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右

基本运算器实验定稿版

基本运算器实验 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称计算机组成原理 项目名称基本运算器实验 班级 学号 姓名 同组人员 实验日期 一、实验目的与要求 实验目的 (1)了解运算器的组成结构 (2)掌握运算器的工作原理 实验要求

(1)实验之前,应认真准备,写出实验步骤和具体设计内容,否则实验效率会很低,一次实验时间根本无法完成实验任务; (2)应在实验前掌握所以控制信号的作用,写出实验预习报告并带入实验室; (3)实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要自习思考实验有关内容; (4)实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的问题和分析与解决思路。还应写出自己的心得体会,也可以对教学实验提出新的建议等。实验报告要上交老师。 二、实验逻辑原理图与分析 画实验逻辑原理图 逻辑原理图分析 上图为运算器原理图。如图所示运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A 和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3…S0和CN来决定(三选一开关),任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志FZ。ALU中所有模块集成在一片CPLD中。

微程序控制器实验2

实 验 项 目 微程序控制器实验实验时间2015年10月31日 实验目的(1) 掌握微程序控制器的组成原理。 (2) 掌握微程序的编制、写入,观察微程序的运行过程。 实 验 设 备 PC机一台,TD-CMA实验系统一套 实验原理 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件工作的微命令序列,完成数据传送和各种处理操作。它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,称为控制存储器,微程序控制器原理框图如图3-2-1 所示。 控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分为四拍TS1、TS2、TS3、TS4,时序单元的介绍见附录2。 微程序控制器的组成见图3-2-2,其中控制存储器采用3 片2816 的E2PROM,具有掉电保 护功能,微命令寄存器18 位,用两片8D 触发器(273)和一片4D(175)触发器组成。微地址寄存器6 位,用三片正沿触发的双D 触发器(74)组成,它们带有清“0”端和预置端。在不判别测试的情况下,T2 时刻打入微地址寄存器的内容即为下一条微指令地址。当T4 时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。

在实验平台中设有一组编程控制开关KK3、KK4、KK5(位于时序与操作台单元),可实现对存储器(包括存储器和控制存储器)的三种操作:编程、校验、运行。考虑到对于存储器(包括存储器和控制存储器)的操作大多集中在一个地址连续的存储空间中,实验平台提供了便利 的手动操作方式。以向00H 单元中写入332211 为例,对于控制存储器进行编辑的具体操作步骤如下:首先将KK1 拨至‘停止’档、KK3 拨至‘编程’档、KK4 拨至‘控存’档、KK5 拨至 ‘置数’档,由CON 单元的SD05——SD00 开关给出需要编辑的控存单元首地址(000000),IN 单元开关给出该控存单元数据的低8 位(00010001),连续两次按动时序与操作台单元的开关ST(第一次按动后MC 单元低8 位显示该单元以前存储的数据,第二次按动后显示当前改动的数据),此时MC 单元的指示灯MA5——MA0 显示当前地址(000000),M7——M0 显示当前数据(00010001)。然后将KK5 拨至‘加1’档,IN 单元开关给出该控存单元数据的中8 位(00100010),连续两次按动开关ST,完成对该控存单元中8 位数据的修改,此时MC 单元的指示灯MA5——MA0 显示当前地址(000000),M15——M8 显示当前数据(00100010);再由IN 单元开关给出该控存单元数据的高8 位(00110011),连续两次按动开关ST,完成对该控存单元高8 位数据的修改此时MC 单元的指示灯MA5——MA0 显示当前地址(000000),M23——M16 显示当前数据(00110011)。此时被编辑的控存单元地址会自动加1(01H),由IN 单元开关依次给出该控存单元数据的低8 位、中8 位和高8 位配合每次开关ST 的两次按动,即可完成对后续单元的编辑。

计算机组成原理 实验一 运算器组成实验

实验一运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验电路 S3 S2 S1 S0 M 图3.1 运算器实验电路 图3.1示出了本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF中。 RF(U54)由一个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(U47)和DR2(U48)各由1片74LS273构成,用于暂存参与运算的数据。DR1接ALU 的A输入端口,DR2接ALU的B输入端口。ALU(U31、U35)由两片74LS181构成,ALU的输出通过一个三态门(74LS244)发送到数据总线DBUS上。 实验台上的八个发光二极管DBUS7-DBUS0显示灯接在DBUS上,可以显示输入数据或运算结果。另有一个指示灯C显示运算器进位标志信号状态。 图中尾巴上带粗短线标记的信号都是控制信号,其中S3、S2、S1、S0、M、Cn#、LDDR1、LDDR2、ALU_BUS#、SW_BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0都是电位信号,在本次实验中用拨动开关K0—K15来模拟;T2、T3为时序脉冲信号,印制板上已连接到实验台的时序电路。实验中进行单拍操作,每次只产生一组T1、T2、T3、T4时序脉冲,需将实验台上的DP、DB开关进行正确设置。将DP开关置1,DB开关置0,每按一次QD按钮,则顺序产生T1、T2、T3、T4一组单脉冲。 三、实验设备 1.TEC-5计算机组成实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、实验任务 1.按图3.1所示,将运算器模块与实验台操作板上的线路进行连接。由于运算器模块 内部的连线已由印制板连好,故接线任务仅仅是完成数据开关、控制信号模拟开 关、与运算器模块的外部连线。注意:为了建立清楚的整机概念,培养严谨的科 研能力,手工连线是绝对必要的。 2.用开关SW7—SW0向通用寄存器堆RF内的R0—R3寄存器置数。然后读出R0—R3 的内容,在数据总线DBUS上显示出来。 3.验证ALU的正逻辑算术、逻辑运算功能。 令DR1=55H,DR2=0AAH,Cn#=1。在M=0和M=1两种情况下,令S3—S0的值从0000B变到1111B,列表表示出实验结果。实验结果包含进位C,进位C由指示灯显示。 注意:进位C是运算器ALU最高位进位Cn+4#的反,即有进位为1,无进位为0。 五、实验要求 1.做好实验预习,掌握运算器的数据传输通路及其功能特性,并熟悉本实验中所用 的模拟开关的作用和使用方法。 2.写出实验报告,内容是: (1)实验目的。 (2)按实验任务3的要求,列表表示出实验结果。 (3)按实验任务4的要求,在表中填写各控制信号模拟开关值,以及运算结果值。 六、实验步骤和实验结果 (1)实验任务2 的实验步骤和结果如下:(假定令R0=34H,R1=21H,R2=52H,R3=65H)1.置DP=1,DB=0,编程开关拨到正常位置。 接线表如下:

实验四 微程序控制器原理实验

2015 年 5 月 24 日 课程名称:计算机组成原理实验名称:微程序控制器原理实验 班级:学号:姓名: 指导教师评定:_________________ 签名:_____________________ 一、实验目的: 1.掌握微程序控制器的组成及工作过程; 2.通过用单步方式执行若干条微指令的实验,理解微程序控制器的工作原理。 二、预习要求: 1.复习微程序控制器工作原理; 2.预习本电路中所用到的各种芯片的技术资料。 三、实验设备: EL-JY-II型计算机组成原理实验系统一台,连接线若干。 四、电路组成: 微程序控制器的原理图见图4-1(a)、4-1(b)、4-1(c)。 图4-1(a)控制存储器电路

图4-1(b)微地址形成电路 图4-1(c)微指令译码电路 以上电路除一片三态输出8D触发器74LS374、三片EFPROM2816和一片三态门74LS245,其余逻辑控制电路均集成于EP1K10内部。28C16、74LS374、74LS245

芯片的技术资料分别见图4-2~图4-4. 图4-2(a )28C16引脚 图4-2(b ) 28C16引脚说明 工作方式 /CE /OE /WE 输入/输出 读 后 备 字 节 写 字节擦除 写 禁 止 写 禁 止 输出禁止 L L H H × × L H L L 12V L × × H × L × × H × 数据输出 高 阻 数据输入 高 阻 高 阻 高 阻 高 阻 图4-2(c )28C16工作方式选择 图4-5(a )74LS374引脚 图4-5(b )74LS374功能

图4-8(a)74LS245引脚图4-8(b)74LS245功能 五、工作原理: 1.写入微指令 在写入状态下,图4-1(a)中K2须为高电平状态,K3必须接至脉冲/T1端,否则无法写入。MS1-MS24为24位写入微代码,由24位微代码开关(此次实验采用开关方式)。uA5-uA0为写入微地址,采用开关方式则由微地址开关提供。K1须接低电平使74LS374有效,在脉冲T1时刻,uAJ1的数据被锁存形成微地址(如图4-1(b)所示),同时写脉冲将24位微代码写入当前微地址中(如图4-1(a)所示)。 2.读出微指令 在写入状态下,图4-1(a)中K2须为低电平状态,K3须接至高电平。 K1须接低电平使74LS374有效,在脉冲T1时刻,uAJ1的数据被锁存形成微地址uA5-uA0(如图4-1(b)所示),同时将当前微地址的24位微代码由MS1-MS24输出。 3.运行微指令 在运行状态下,K2接低电平,K3接高电平。K1接高电平。使控制存储器2816处于读出状态,74LS374无效因而微地址由微程序内部产生。在脉冲T1时刻,当前地址的微代码由MS1-MS24输出;T2时刻将MS24-MS7打入18位寄存器中,然后译码输出各种控制信号(如图4-1(c)所示,控制信号功能见实验五);在同一时刻MS6-MS1被锁存,然后在T3时刻,由指令译码器输出的SA5-SA0将其中某几个触发器的输出端强制置位,从而形成新的微地址uA5-uA0,这就是将要运行的下一条微代码的地址。当下一个脉冲T1来到

运算器部件实验报告

实验一运算器部件实验报告 班级姓名学号日期 一、实验目的 ●熟悉与深入理解4位运算器芯片Am2901的功能和内部组成,运行中要求 使用的控制信号及其各自的控制作用。 ●熟悉与深入理解用4片4位的运算器芯片构成16位的运算器部件的具体方 案,各数据位信号、各控制位信号的连接关系。 ●熟悉与深入理解用2片GAL20v8芯片解决ALU最低位的进位输入信号和 最高、最低位的移位输入信号、实现4位的标志位寄存器的方案,理解为什么这些功能不能在运算器芯片之内实现而要到芯片之外另外处理。 ●明确教学计算机的运算器部件,使用总计24位的控制信号就完全确定了它 的全部运算与处理功能,脱机运算器实验中可以通过24位的微型开关提供这些控制信号。 二、实验说明 脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过24位的微型开关来完成,通过开关、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。 三、实验要求 1、实验之前认真预习,写出预习报告,包括操作步骤,实验过程所用数据和运行结果等 2、实验过程当中,要仔细进行,防止损坏设备,分析可能遇到的各种现象,判断结果是否正确,记录运行结果 3、实验之后,认真写出实验报告,包括对遇到的各种现象的分析,实验步骤和实验结果,自己在这次实验的心得体会与收获。 四、实验所使用到的控制信号 AM2901所用的控制信号

1、将教学机设置为单步、16位、脱机状态下,即把教学机左下方的5个控制开关置为1XX00。 2、按一下RESET按键,进行初始化。 3、按照指定功能给出控制信号和数据信息,观察各信号指示灯状态。 4、按压START键,给出脉冲信号,观察各信号灯状态。 六、实验内容 1、下表中所列操作在教学机上进行运算器脱机实验。并将结果填入表中。 运算器功能所用到的控制信号

微程序控制器实验报告 (2)

组成原理No、4实验--- 微程序控制器实验 组员: 组号:21号 时间:周二5、6节?

【实验目的】 (1)掌握时序发生器的组成原理。 (2)掌握微程序控制器的组成原理。 (3)掌握微程序的编制、写入、观察微程序的运行情况 【实验设备】 TDN-CM++, 【实验原理】 微程序控制器的基本任务就是完成当前指令的翻译与执行,即将当前指令的功能转换成可以控制硬件逻辑部件工作的微命令序列,以完成数据传输与各种处理操作。它的执行方法就就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数字代码的形式表示,这种表示称为微指令。这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。微程序存储在一种专用的存储器中,该存储器称为控制存储器。 实验所用的时序控制电路框图如图1 所示, 可产生四个等间隔的时序信号TS1~TS4。在 图1中,为时钟信号,由实验台左上方的 方波信号源提供,可产生频率及脉宽可调额 方波信号;STEP就是来自实验板上方中部的 一个二进制开关STEP的模拟信号;START 键就是来自实验板上方左部的一个微动开关 START的按键信号。当STEP开关为EXEC(0)时,一旦按下START启动键,时序信号TS1~TS4将周而复始地发送出去。当STEP为STEP(1)时,按下START启动键,机器便处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机了。利用单步方式,每次只读一条微指令,可以观察微指令的代码与当前微指令的执行结果。另外,如果STEP开关置“STEP”,会使机器停机,CLR开关执行1→0→1操作可以使时序清零。时序状态图如下图所示。 ?由于时序电路的内部线路已经连好,因此只需将时序电路与方波信号源连接,即将时序电路的时钟脉冲输入端接至方波信号发生器输入端H23上,按动启动 键START后,就可产生时序信号TS1~TS4、时序电路的CLR已接至CLR 模拟开关上。 ?编程开关具有三种状态:PROM(编程)、READ(校验)与RUN(运行)。 微指令格式如 下: 【实验步骤】

嵌入式--计算器--实验报告

计算器设计实验报告 一、实验设计主要分工 04009320 文斌:算法设计,LCD显示。 04** 张希:界面(按钮控件)设计,文件内容读取。 共同调试、完善设计。 二、程序设计实现功能效果 (1)支持整数、小数基本加减乘除运算; (2)有优先级的判别计算。优先级由高到低一次为括号运算、乘除运算、加减运算。(3)支持键盘输入和触摸屏输入; (4)能读取指定目录下文本内容(内容为计算表达式)并计算得出结果,将内容和结果显示在LCD上。 程序任务开始后,等待键盘或触摸屏的输入。输入键有0~9数字键、+-*/()运算符、del退格键、clear清屏键、read读指定目录文本内容并计算键、enter'='键、‘.’小数点键。 每当有字符输入时,触摸屏相应键显示“AAA”,100ms后恢复原相应按键符号,同时LCD 屏幕上显示相应字符。当输入'del'键时,屏幕显示去掉最后一位字符。当输入'='号后,得出计算结果,结果显示于表达式的下一行。若是除零错误,则结果显示为“/0ERROR!”。若有非法字符(触摸点不能识别为设计按键符则视为非法字符),则结果输出为“Syntax Error!!”。若表达式有运算符连续输入,则忽略前面的运算符,只取最后一位运算符计算,正常显示数字结果。当输入'clear'键时,情况显示区域。当输入'read'键时,从指定目录文本文件中读取表达式并计算。将表达式内容和计算结果显示在LCD上。 三、程序算法实现 1、计算算法 首先将输入的0~9数字、+-*/()运算符的内容存储于一个全局变量cal[number]中, 表达为中缀表达式。用void str2repol()函数,将输入字符串cal[number]转换成逆波 兰表达式并存于全局数组char repol[maxs]中。str2repol()函数中缀表达式转成逆波兰 后缀表达式算法如下: (1)首先构造一个运算符栈stack[maxs],此运算符在栈内遵循越往栈顶优先级越高的 原则。

微程序控制器实验审批稿

微程序控制器实验 YKK standardization office【 YKK5AB- YKK08- YKK2C- YKK18】

评语: 课中检查完成的题号及题数: 课后完成的题号与题数: 成绩: 自评成绩: 实验报告 实验名称:微程序控制器实验 日 期: 班级:学号: 姓 名: 一、实验目的: 1.掌握微程序控制器的组成原理。 2.掌握微程序的编制、写入,观察微程序的运行过程。 二、实验内容: 1.了解如何将微码加载到微控存中,了解指令并运行。 2.通过微程序控制器实验能得简单运算结果。 3.设计并修改电路,编写用微程序实现存储器中两个单字节十六进制数的加法运算,结果输出至OUT单元。 三、项目要求及分析: 要求:操作数由IN单元输入至MEM,在由MEM中读出操作数并在ALU中运算。 四、具体实现: 1. 按图1-3-10 所示连接实验线路,仔细查线无误后接通电源。如果有‘滴’报警声,说明总线有竞争现象,应关闭电源,检查接线,直到错误排除。

图1-3-10 实验接线图 2. 对微控器进行读写操作,分两种情况:手动读写和联机读写。 1) 手动读写 进行手动读或是写,都需要手动给出地址,系统专门安排了一个ADDR 单元,做为地址输入。ADDR 单元原理如图1-3-11 所示,可以看出本单元实为一个加减计数器。当开关为‘加1’档时,在T2 的下沿计数器进行加1 计数,当开关为‘减1’档时,在T2 的下沿计数器进行减1计数,当开关置为‘置数’档时,计数器置初值,其作用相当于直通,SA7…SA0 的输出值就是二进制开关组的值。 在实验中选择什么档位,取决于写入数据的地址是否连续,如果是连续地址,选 择‘加1’或是‘减1’档会方便一些。如果是离散地址,选择‘置数’档会方便一些。

计算机组成原理运算器实验—算术逻辑运算实验

实验报告 、实验名称 运算器实验—算术逻辑运算实验 、实验目的 1、了解运算器的组成原理。 2、掌握运算器的工作原理。 3、掌握简单运算器的数据传送通路。 4、验证运算功能发生器( 74LS181)的组合功能 三、实验设备 TDN-CM++ 计算机组成原理教学实验系统一套,导线若干四、实验原理 实验中所用的运算器数据通路如图1-1 所示。其中两片74LSl81以串行方式构成8 位字长的ALU,ALU 的输出经过一个三态门(74LS245)和数据总线相连。三态门由ALU-R 控制,控制运算器运算的结果能否送往总线,低电平有效。为实现双操作数的运算,ALU 的两个数据输入端分别由二个锁存器DR1、DR2 (由74LS273实现)锁存数据。要将数据总线上的数据锁存到DRl、DR2 中,锁存器的控制端LDDR1 和DDR2必须为高电平,同时由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、LDDRl、 LDDR2 、ALU-B 、SW-B均由“ SWITCH UNIT ”中的二进制数据开关来模拟,其中Cn、ALU —B、SW 一 B 为低电平有效LDDR1 、LDDR2 为高电平有效。 对单总线数据通路,需要分时共享总线,每一时刻只能由一组数据送往总线。

五邑大学计算机组成原理实验报告三:微程序控制器实验

《计算机组成原理》 实验报告 学院:计算机学院 专业:计算机科学与技术 班级学号:150801 3115000820 学生姓名:黄家燊 实验日期:2016.12.25 指导老师:李鹤喜 五邑大学计算机学院计算机组成原理实验室

实验一 一、实验名称:微程序控制器实验 二、实验目的 (1)掌握微程序控制器的功能、组成知识。 (2)掌握为程序的编制、写入、观察微程序的运行 二、实验设备: PC机一台,TD-CM3+实验系统一套 三、实验原理: 微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑部件的为命令序列,完成数据传送和个汇总处理操作,他的执行方法是将控制各部件的微命令的集合进行编码,即将微命令的集合仿照及其指令一眼,用数字代码的形式表示,这种表示陈伟微指令。这样就可以用一个微指令序列表示一条机器指令,这种为指令序列称作为程序。微程序存储在一种专用的存储器中,成为控制储存器 四、实验步骤 1.对为控制器进行读写操作: (1)手动读写: ①按图连线:

②将MC单元编程开关置为“编程”档,时序单元状态开关置为“单步”档,ADDR 单元状态开关置为“置数”档 ③使用ADDR单元的低六位SA5…SA0给出微地址MA5…MA0,微地址可以通过MC 单元的MA5…MA0微地址灯显示 ④CON单元SD27…SD20,SD17…SD10,SD07…SD00开关上置24位微代码,待写入值由MC单元的M23…M024位LED灯显示 ⑤启动时序电路(按动一次TS按钮),即将微代码写入到E2PROM2816的相应地址对应单元中 ⑥重复③④⑤三步,将下图微代码写入2816芯片中 二进制代码表 (2)联机读写: ①将微程序写入文件,联机软件提供了微程序下载功能,以代替手动读写微控制器,但微程序得以指定的格式写入 本次试验的微程序如下: ://************************************************************// :// // :// 微控器实验指令文件 // :// // ://************************************************************// ://***************Start Of MicroController Data****************//

java计算器实验报告

Java计算器实验报告 计算机032 胡勇健 03095218 2005年5月5日

目录 1.设计名称与要求 2.各模块功能的介绍和实现3.系统的特色和不足4.参考书

一. 实验名称及其要求: A)名称: java计算器的设计 B)要求:1.实验目的:图形界面设计。 熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。 2.题意: 请设计并实现Windows系统中“计算器”的窗口及功能。 3.实验要求: (1)设计图形界面添加菜单:窗口上添加各种组件及菜单,并处理组件及菜单的事件监听程序。 (2)运算:实现多种运算,保证运算正确性。 二.各模块功能的介绍和实现: A)GUI图形界面的组件: a)所用到的Java类库包: java.awt.*; 基本的图形界面组件来源于awt包。 java.awt.event.*; 事件的属性处理来源于awt.event包。 javax.swing.*; swing组件增加了awt包中所不具备的各种优越功能。 java.awt.datatransfer.*; 用于计算器与外部的程序进行复制粘贴。 b)所用的各部分图形组件的定义: Frame mainFrame; //主框架 JTextField answerText; //显示计算结果 JTextField memoryState; //显示计算器内存的使用情况MenuBar menuGroup; //菜单栏 Menu editMenu,viewMenu,helpMenu; //编辑,查看,帮助菜单 MenuItem copyItem,pasteItem; //复制,粘贴 MenuItem standardModel; //标准型 CheckboxMenuItem numGroup; //数字分组 MenuItem aboutCal; //关于计算器 Button buttonBackSpace,buttonCE,buttonC; //退格,清除,清空按钮 Button buttonMC,buttonMR,buttonMS,buttonMADD; //内存操作按钮 Button buttonNum[]; //数字按钮 Button buttonAdd,buttonSub,buttonMul,buttonDiv; //+,-,*,/ Button buttonDot,buttonSign,buttonEqual; //. +/- =

实验四 常规型微程序控制器组成实验

实验员述职报告 实验四常规型微程序控制器组成实验 一、实验目的 1.掌握时序发生器的组成原理。 2.掌握微程序控制器的组成原理。 二、实验电路 1.时序发生器 本实验所用的时序电路见图3.4。电路由一个500KHz晶振、2片GAL22V10、一片74LS390组成,可产生两级等间隔时序信号T1-T4、W1-W3,其中一个W由一轮T1-T4组成,相当于一个微指令周期或硬连线控制器的一拍,而一轮W1-W3可以执行硬连线控制器的一条机器指令。另外,供数字逻辑实验使用的时钟由MF经一片74LS390分频后产生。 图3.4 时序信号发生器 本次实验不涉及硬连线控制器,因此时序发生器中产生W1-W3的部分也可根据需要放到硬连线控制器实验中介绍。 产生时序信号T1-T4的功能集成在图中左边的一片GAL22V10中,另外它还产生节拍信号W1-W3的控制时钟CLK1。该芯片的逻辑功能用ABEL语言实现。其源程序如下:MODULE TIMER1 TITLE 'CLOCK GENERATOR T1-T4' CLK = .C.; "INPUT MF, CLR, QD, DP, TJ, DB PIN 1..6; W3 PIN 7; "OUTPUT T1, T2, T3, T4 PIN 15..18 ISTYPE 'REG'; CLK1 PIN 14 ISTYPE 'COM'; 常用软件课程设计

实验员述职报告 QD1, QD2, QDR PIN ISTYPE 'REG'; ACT PIN ISTYPE 'COM'; S = [T1, T2, T3, T4, QD1, QD2, QDR]; EQUATIONS QD1 := QD; QD2 := QD1; ACT = QD1 & !QD2; QDR := CLR & QD # CLR & QDR; T1 := CLR & T4 & ACT # CLR & T4 & ! (DP # TJ # DB & W3) & QDR; T2 := CLR & T1; T3 := CLR & T2; T4 := !CLR # T3 # T4 & !ACT & (DP #TJ# DB& W3) # !QDR; CLK1 = T1 # !CLR & MF; S.CLK = MF; END 节拍电位信号W1-W3只在硬连线控制器中使用,产生W信号的功能集成在右边一片GAL22V10中,用ABEL语言实现。其源程序如下: MODULE TIMER2 //头部 TITLE 'CLOCK GENERATOR W1-W3' DECLARATIONS //说明部 CLK = .C.; "INPUT CLK1, CLR, SKIP PIN 1..3; "OUTPUT W1, W2, W3 PIN 16..18 ISTYPE 'REG'; W = [W1, W2, W3]; EQUATIONS //逻辑描述部 W1 := CLR & W3; W2 := CLR & W1 & !SKIP; W3 := !CLR # W2 # W1 & SKIP; W.CLK = CLK1; END TIMER2 //结束部 左边GAL的时钟输入MF是晶振的输出,频率为500KHz。T1-T4的脉宽为2μs。CLR实际上是控制台的CLR#信号,因为ABEL语言的书写关系改为CLR,仍为低有效。CLR#=0将系统复位,此时时序停在T4、W3,微程序地址为000000B。建议每次实验台加电后,先按CLR#复位一次。实验台上CLR#到时序电路的连接已连好。 对时序发生器TJ输入引脚的连接要慎重,当不需要暂停微程序的运行时,将它接地;常用软件课程设计

计算机组成原理实验-运算器组成实验报告

计算机组成原理课程实验报告 9.3 运算器组成实验 姓名:曾国江 学号: 系别:计算机工程学院 班级:网络工程1班 指导老师: 完成时间: 评语: 得分:

9.3运算器组成实验 一、实验目的 1.熟悉双端口通用寄存器堆的读写操作。 2.熟悉简单运算器的数据传送通路。 3.验证运算器74LS181的算术逻辑功能。 4.按给定数据,完成指定的算术、逻辑运算。 二、实验电路 ALU-BUS# DBUS7 DBUS0 Cn# C 三态门(244) 三态门(244)ALU(181) ALU(181) S3S2S1S0M A7A6A5A4F7F6F5F4 F3F2F1F0B3B2B1B0 Cn+4 Cn Cn Cn+4 LDDR2T2 T2 LDDR1LDRi T3 SW-BUS# DR1(273) DR2(273) 双端口通用寄存器堆RF (ispLSI1016) RD1RD0RS1RS0WR1WR0 数据开关(SW7-SW0)数据显示灯 A3A2A1A0B7B6B5B4 图3.1 运算器实验电路 LDRi T3A B 三态门 R S -B U S # 图3.1示出了本实验所用的运算器数据通路图。参与运算的数据首先通过实验台操作板上的八个二进制数据开关SW7-SW0来设置,然后输入到双端口通用寄存器堆RF 中。

RF(U30)由一个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上。 实验台上的八个发光二极管DBUS7-DBUS0显示灯接在DBUS上,可以显示输入数据或运算结果。另有一个指示灯C显示运算器进位标志信号状态。 图中尾巴上带粗短线标记的信号都是控制信号,其中S3、S2、S1、S0、M、Cn#、LDDR1、LDDR2、ALU_BUS#、SW_BUS#、LDRi、RS1、RS0、RD1、RD0、WR1、WR0都是电位信号,在本次实验中用拨动开关K0—K15来模拟;T2、T3为时序脉冲信号,印制板上已连接到实验台的时序电路。实验中进行单拍操作,每次只产生一组T1、T2、T3、T4时序脉冲,需将实验台上的DP、DB开关进行正确设置。将DP开关置1,DB开关置0,每按一次QD 按钮,则顺序产生T1、T2、T3、T4一组单脉冲。 三、实验设备 1.TEC-5计算机组成实验系统1台 2.逻辑测试笔一支(在TEC-5实验台上) 3.双踪示波器一台(公用) 4.万用表一只(公用) 四、实验任务 1、按图3.1所示,将运算器模块与实验台操作板上的线路进行连接。由于运 算器模块内部的连线已由印制板连好,故接线任务仅仅是完成数据开关、控制信号

相关主题
文本预览
相关文档 最新文档