一、实验类型

本实验为原理型+分析型

二、实验目的

(1)掌握微程序控制器的原理

(2)掌握TEC-8模型计算机中微程序控制器的实现方法,尤其是微地址转移逻辑的实现方法

(3)理解条件转移对计算机的重要性

三、实验设备

(1)TEC-8实验系统

四、实验电路

(1)TEC-8模型计算机框图

(2)微指令格式

(3)微程序控制电路图

(4)操作模式

操作模式

DP SWC SWB SWA

实验功能

1 0 0 0

启动程序运行

1 0 0 1

写存储器

1 0 1 0

读存储器

1 0 1 1

读寄存器

1 1 0 0

写寄存器

1 1 0 1

运算器组成实验

1 1 1 0

双端口存储器实验

1 1 1 1

数据通路实验

五、实验要求

(1)掌握TEC-8模型计算机微控制器的工作原理。

(2)做好实验预习,按要求预先填写实验步骤中各表格。

六、实验任务

(1) 设置SWC/SWB/SWA,用单微指令方式跟踪控制台操作运算器组成实验等的执行过程,记录每一步的微地址uA5-uA0、P4-P0和有关控制信号的值,写出每一步所执行的微指令的作用。

(2)手工设置操作码IR7-IR4,用单微指令方式跟踪STP以外指令的执行过程,记录每一步的微地址uA5-uA0、P4-P0和有关控制信号的值,写出每步所执行的微指令的作用。

七、实验步骤(参见教材第十章相关实验)

(1)将控制器转换开关拨到微程序位置,将编程开关设置为正常位置,将开关DP拨到向上位置打开电源。

(2)跟踪控制台操作读寄存器、写寄存器、运算器组成实验的执行。

a) 按下CLR复位键,注意此时uA5-uA0全灭,表示当前执行的是CM中的0号微指令,按一次QD键执行一条微指令。

b) 请预先填写下表内容,在实验箱上验证所写信号是否正确。如果不一致,请分析原因。按QD结束每个操作。记录每一步的微地址uA5-uA0、P4-P0和有关控制信号的值,写出每一步所执行的微指令的作用。

操作1:读寄存器(操作模式:1011)

操作

当前微指令地址

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

uA5-uA0

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

复位

00H

RD1-RD0=00

RS1-RS0=11

0

0

0

0

1

01H

SWC SWB SWA=011,07H

实验现象解释:

复位的微地址为00H;P0=1表示根据后继微地址NuA5~NuA0和模式开关SWC、SWB、SWA确定下一条微指令的地址。此时下地址字段NuA5~NuA0=01H、SWC SWB SWA=011,根据微程序控制器电路图可以得出下一条微指令地址是07H。然后按QD,进入下一条微指令。

读寄存器

A/B指示灯上显示R0和R1

07H

RD1-RD0=00

RS1-RS0=01

STOP=1

SELCTL=1

0

0

0

0

0

06H

SWC SWB SWA=011,06H

读寄存器

A/B指示灯上显示R2和R3

06H

RD1-RD0=10

RS1-RS0=11

STOP=1

SELCTL=1

0

0

0

0

0

00H

SWC SWB SWA=011,00H

实验现象解释:

由于指示灯只有两个但寄存器有4个,所以要读两次,第一次读R0和R1,第二次读R2和R3,指令地址分别为07H和06H;RD1-RD0、RS1-RS0:分别控制A、B指示灯显示的值;

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

操作2:写寄存器(操作模式:1100)

操作

当前微指令地址

uA5-uA0

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

复位

00H

RD1-RD0=00

RS1-RS0=11

0

0

0

0

1

01H

SWC SWB SWA=100,09H

实验现象解释:

复位的微地址为00H;P0=1表示根据后继微地址NuA5~NuA0和模式开关SWC、SWB、SWA确定下一条微指令的地址。

此时下地址字段NuA5~NuA0=01H、SWC SWB SWA=100,根据微程序控制器电路图可以得出下一条微指令地址是09H。

然后按QD,进入下一条微指令。

写R0

09H

SBUS=1

RD1-RD0=00

RS1-RS0=01

SELCTL=1

DRW=1, STOP=1

0

0

0

0

0

08H

SWC SWB SWA=100,08H

写R1

08H

SBUS=1

RD1-RD0=01

RS1-RS0=00

SELCTL=1

DRW=1, STOP=1

0

0

0

0

0

0AH

SWC SWB SWA=100,0AH

写R2

0AH

SBUS=1

RD1-RD0=10

RS1-RS0=01

SELCTL=1

DRW=1, STOP=1

0

0

0

0

0

0CH

SWC SWB SWA=100,0CH

写R3

0CH

SBUS=1

RD1-RD0=11

RS1-RS0=10

SELCTL=1

DRW=1, STOP=1

0

0

0

0

0

00H

SWC SWB SWA=100,00H

实验现象解释:

写R0写R1写R2写R3的操作指令地址为09H、08H、0AH、0CH;

SBUS=DRW=1:允许外界数据进入R0-R3寄存器

RD1-RD0:决定外界的值进入到哪个寄存器;

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

操作3:运算器组成实验(操作模式:1101)

操作

当前微指令地址

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

uA5-uA0

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

复位

00H

RD1-RD0=00

RS1-RS0=11

0

0

0

0

1

01H

SWC SWB SWA=101,0BH

实验现象解释:

复位的微地址为00H;P0=1表示根据后继微地址NuA5~NuA0和模式开关SWC、SWB、SWA确定下一条微指令的地址。

此时下地址字段NuA5~NuA0=01H、SWC SWB SWA=100,根据微程序控制器电路图可以得出下一条微指令地址是09H。

然后按QD,进入下一条微指令。

写R0

0BH

RD1-RD0=00

RS1-RS0=01

STOP=1 DRW=1

SUBS=1

0

0

0

0

0

15H

SWC SWB SWA=101,15H

写R1

15H

RD1-RD0=01

RS1-RS0=00

STOP=1 DRW=1

SUBS=1

0

0

0

0

0

16H

SWC SWB SWA=101,16H

实验现象解释:

当指示灯uA5--uA0显示0BH时,在数据开关S70~SD0上设置R0。在数据总线DBUS指示灯D7~D0 上可以看到数据是否设置正确,发现错误需及时改正。设置数据正确后,按一次QD按钮,将SD7~SD0上的数据写入R0,进入下一步。设置R0时,74LS181不需要运转,因此它的指示灯全为0;SBUS=1表示数据可以送往DBUS;DRW=1表示允许数据写入到寄存器;ABUS=0表示禁止将ALU运算结果送往DBUS;RD1-RD0值取00表示选择R0的数据送往A端口,RS1-RS0值取01表示选择R1的数据送往B端口。

在数据开关S70~SD0上设置R1。设置数据正确后,按一次QD按钮,将SD7~SD0上的数据写入R1,进入下一步。指示灯uA5--uA0显示15H,这时R0已经写,在指示灯B7~B0上可以观察到设置的R0数值;设置R1时,74LS181不需要运转,因此它的指示灯全为0;SBUS=1表示数据可以送往DBUS;DRW=1表示允许数据写入到寄存器;ABUS=0表示禁止将ALU运算结果送往DBUS;RD1-RD0值取01表示选择R1的数据送往A端口,RS1-RS0值取00表示选择R0的数据送往B端口。

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

R0+R1

16H

RD1-RD0=00

RS1-RS0=01

M=0

S3-S0=1001

CIN=1  LDC=1

LDZ=1  SBUS=0  DRW=0  ABUS=1

STOP=1 SETCTL=1

0

0

0

0

0

17H

SWC SWB SWA=101,17H

实验现象解释:

指示灯uA5--uA0显示16H。指示灯A7~A0显示被加数R0,指示灯B0~B7显示加数R1,D7~D0指示灯显示运行结果R0+R1;M=0表示算数运算,S3~S0=1001表示进行的加法运算,CIN=1表示低进位输入,LDC=1表示保存C标志,LDZ=1表示保存Z标志;SBUS=0表示数据不可以送往DBUS;DRW=0表示不允许数据写入到寄存器,此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

R0-R1

17H

RD1-RD0=00

RS1-RS0=01

M=0

S3-S0=0110

CIN=0  LDC=1

LDZ=1  SBUS=0

DRW=0  ABUS=1

STOP=1  SETCTL=1

0

0

0

0

0

18H

SWC SWB SWA=101,18H

实验现象解释:

指示灯uA5--uA0显示17H。指示灯A7~A0显示被减数R0,指示灯B0~B7显示减数R1,D7~D0指示灯显示运行结果R0-R1;M=0表示算数运算,S3~S0=0110表示进行的减法运算,CIN=0表示低位不进位输入,LDC=1表示保存C标志,LDZ=1表示保存Z标志;SBUS=0表示数据不可以送往DBUS;DRW=0表示不允许数据写入到寄存器,此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

R0 and R1

18H

RD1-RD0=00

RS1-RS0=01

M=1

S3-S0=1011

CIN=0  LDC=0

LDZ=1  SBUS=0

DRW=0  ABUS=1

STOP=1  SETCTL=1

0

0

0

0

0

19H

SWC SWB SWA=101,19H

实验现象解释:

观察并记录与运算结果和相应的指示灯信息,完成后按一次QD按钮,进入下一步。

现象解释:指示灯uA5--uA0显示18H。指示灯A7~A0显示R0,指示灯B0~B7显示R1,D7~D0指示灯显示运行结果R0 and R1;M=1表示逻辑运算,S3~S0=1011表示进行与逻辑运算,CIN=0表示低位不进位输入,LDC=0表示不保存C标志,LDZ=1表示保存Z标志;SBUS=0表示数据不可以送往DBUS;DRW=0表示不允许数据写入到寄存器,此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

R0 or R1

19H

RD1-RD0=00

RS1-RS0=01

M=1

S3-S0=1110

CIN=0  LDC=0

LDZ=1  SBUS=0

DRW=0  ABUS=1

STOP=1  SETCTL=1

0

0

0

0

0

00H

SWC SWB SWA=101,00H

实验现象解释:

指示灯uA5--uA0显示19H。指示灯A7~A0显示R0,指示灯B0~B7显示R1,D7~D0指示灯显示运行结果R0 or R1;M=1表示逻辑运算,S3~S0=1110表示进行的或运算,CIN=0表示低位不进位输入,LDC=0表示保存C标志,LDZ=1表示保存Z标志;SBUS=0表示数据不可以送往DBUS;DRW=0表示不允许数据写入到寄存器,此时RD1-0与RS1-0信号无意义;ABUS=1表示允许将ALU运算结果送往DBUS。

判定字段全为0:表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

(3)验证机器指令对应的微指令

将实验箱上信号C-I、Z-I、IR7-I、IR6-I、IR5-I、IR4-I与开关K6-K0接起来,用单微指令方式跟踪STP以外指令的执行过程,记录每一步的微地址uA5-uA0、P4-P0和有关控制信号的值,写出每一步所执行的微指令的作用。

要求:至少跟踪3条机器指令的微指令,表格行数根据具体指令的微指令条数进行增删。

指令1:JMP                    操作码IR7-IR4 = 1001          

操作

当前微指令地址

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

uA5-uA0

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

复位

00H

RD1-RD0=00

RS1-RS0=11

0

0

0

0

1

01H

SWC SWB SWA=000,01H

取指

01H

LIR=1

PCINC=1

0

0

0

1

0

20H

SWC SWB SWA=000,29H

实验现象解释:

复位的微地址为00H;P0=1表示根据后继微地址NuA5~NuA0和模式开关SWC、SWB、SWA确定下一条微指令的地址。此时下地址字段NuA5~NuA0=01H、SWC SWB SWA=000,根据微程序控制器电路图可以得出下一条微指令地址是01H。然后按QD,进入下一条微指令。

P1=1表示根据后继微地址NuA5-0和指令操作码IR7~IR4确定下一条微指令的地址;此时地址字段NuA5~NuA0=20H,IR7-IR4 = 1001,根据微程序控制器电路图可以得出下一条微指令地址是29H。然后按QD,进入下一条微指令。

执行第1步:

读出JMP指令

29H

M=1  S=1111

ABUS=1  LPC=1

1

0

0

0

0

01H

SWC SWB SWA=000,01H

实验现象解释:

  该指令置M=1、S=1111、ABUS=1、LPC=1、P4=1;

P4=1表示根据后继微地址NuA5-0和中断信号INT确定下一条微指令的地址;此时地址字段NuA5~NuA0=01H,INT=0,根据微程序控制器电路图可以得出下一条微指令地址是01H.

指令2:JC                    操作码IR7-IR4 =1000         

操作

当前微指令地址

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

uA5-uA0

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

执行第1步:

进入JZ

28H

Z=1

0

1

0

0

0

12H

SWC SWB SWA=000,13H

实验现象解释:

    地址28H中没任何控制信号,同时由P3来判定下一条微指令地址。当P3=1时,根据下地址字段NuA5-0和结果为0标志Z确定下一条微指令的地址。此时设Z=1,根据微程序流程图可知,下一条地址为13H。

执行第2步:

读出指令JC

13H

PCADD=1

1

0

0

0

0

01H

SWC SWB SWA=000,01H

实验现象解释:

    该指令设置PCADD=1—让PC和IR中的转偏移量相加。

P4=1表示根据后继微地址NuA5-0和中断信号INT确定下一条微指令的地址;此时地址字段NuA5~NuA0=01且INT=0,根据微程序控制器电路图可以得出下一条微指令地址是01H.

指令3:ST                     操作码IR7-IR4 =0110           

操作

当前微指令地址

与本操作有关的控制信号及取值

判定字段

下地址字段

实际下地址

uA5-uA0

P4

P3

P2

P1

P0

NuA5-0

NuA5- NuA0

执行第1步:

读入指令ST

26H

M=1、S=1111

ABUS=1、LAR=1

0

0

0

0

0

10H

SWC SWB SWA=000,10H

实验现象解释:

 ST指令的第一步地址为26H,置M=1、S=1111、ABUS=1、LAR=1,判定字段全为0,表示不需要对地址字段进行判定,后继微地址NuA5-0就是下一条指令的地址。

执行第2步:

进入下一步操作

10H

M=1、S=1010

ABUS=1、MEMW=1

1

0

0

0

0

01H

SWC SWB SWA=000,01H

实验现象解释:

 ST指令的第二步地址为10H,置M=1、S=1010、ABUS=1、MEMW=1,P4=1表示根据后继微地址NuA5-0和中断信号INT确定下一条微指令的地址;此时地址字段NuA5~NuA0=01且INT=0,根据微程序控制器电路图可以得出下一条微指令地址是01H.

八、思考题

(1)TEC-8模型计算机的微指令地址有多少位?最多能寻址多少条微指令?

答:有6位,最多能寻址26=64条。

  1. 能对TEC-8模型计算机的微指令格式压缩长度吗?如果能,可以怎么做?

答:能;方法如下:

1. 改直接表示为编码表示(压缩互斥性微指令)

1)互斥性微命令

输出信号不能同时为 1 XXX(out)

运算器的 +1, ADD, SUB 信号也不能同时给出

2)7 个out型命令有7 个状态 --> 3:8译码器

所有输出里面一定有一个为高电平,所以 000 不用

预留的一个状态表示什么信号也不给

3)加法类的运算器信号 --> 2:4译码器

+1,ADD, SUB

无信号

缩短了微指令长度,增加了硬件开销(3:8译码器,2:4译码器),硬件被所有微程序共 享,所以开销可忽略

2. 去掉下址字段,采用 μPC = μPC + 1 的方式生成微指令地址

每一条指令都有一个下址字段,对控存的浪费是巨大的

增加了一个运算器,减少了下址字段,节约了控存空间

  1. 改水平型微指令为垂直型微指令(牺牲并行性)

水平型微指令:

并行操作能力强,效率高,灵活性强

微指令字较长,微程序短,控存容量大,性能佳

垂直型微指令:

子长短,微程序长,控存容量小,性能差

垂直型与指令相似,易于掌握

基本被淘汰

(3)试根据运算器组成实验的实验过程,请画出该实验的微程序流程图。

承诺:

本实验和实验报告均系本人独立完成,未抄袭他人,实验过程、数据、结果真实。

签名

时间:20年月日

实验3 微程序控制器实验相关推荐

  1. 计算机组成原理实验四 微程序控制器实验报告

    我班算是几乎最后一个做实验的班级了,报告参考了一些朋友提供的数据加上一些自己的主观拙见,本人水平有限加之制作仓促难免有错误,望大家批评指正. 4.1 微程序控制器实验 一.实验目的 (1) 掌握微程序 ...

  2. 《计算机组成原理》实验报告——TEC-2实验系统——微程序控制器实验

    实验名称: TEC-2机微程序控制器实验 实验地点:10-413 一.实验目的 比较深入透彻地学懂计算机各种指令的执行过程,以及控制器的组成.设计的具体知识.理解动态微程序设计的概念. 二.实验原理 ...

  3. 实验四 微程序控制器实验

    1.相关控制信号说明 ALU的选通信号ALU_BUS:PC的选通信号PC_B:RAM8的选通信号RAM_BUS:地址寄存器AR的锁存信号LDAR:存储器RAM8的写使能WR=1允许写,WR=0禁止写, ...

  4. 计算机组成实验微程序控制器实验,计算机组成原理实验报告3++微程序控制器实验.doc...

    文档介绍: 计算机组成原理实验报告3微程序控制器实验计算机组成原理实验报告实验三微程序控制器实验一.实验目的与要求:实验目的:1.理解时序产生器的原理,了解时钟和时序信号的波形;2.掌握微程序控制器的 ...

  5. 计算机微程序控制器实验报告,计算机组成原理实验报告三:微程序控制器实验.doc...

    计算机组成原理实验报告三:微程序控制器实验.doc 微程序控制器实验报告一. 实验目的1 掌握微程序控制器的功能.组成知识.(2)掌握为程序的编制.写入.观察微程序的运行二.实验设备PC机一台,TD- ...

  6. 计算机微程序控制器实验报告,计算机组成原理微程序控制器实验报告

    计算机组成原理实验报告三:微程序控制器实验 2011-05-06 01:00:09| 分类: 实验报告 | 标签:实验 微程序 字段 微指令 信号 |字号大中小 订阅 实验三:微程序控制器实验 一. ...

  7. 计算机组成原理微控制设计实验总结,计算机组成原理微程序控制器实验报告.doc...

    计算机组成原理微程序控制器实验报告.doc 计算机组成原理实验报告三:微程序控制器实验?? 2011-05-06 01:00:09|??分类: 实验报告 |??标签:实验??微程序??字段??微指令? ...

  8. 计算机组成原理 微程序控制器实验

    微程序控制器实验 实验环境 计算机组成原理实验环境 实验目的 掌握微程序控制器的组成原理和工作过程. 理解微指令和微程序的概念,理解微指令与指令的区别与联系. 掌握指令操作码与控制存储器中微程序的对应 ...

  9. 控制器设计与仿真 实验计算机组成,计算机组成原理——微程序控制器实验

    (一) 微程序控制器实验 一.实验目的与要求 实验目的:1.掌握时序产生器的原理和具体操作. 2.掌握微程序控制器的功能.组成知识. 3.掌握微程序的编制.写入.观察微程序的运行,学习基本指令的执行流 ...

最新文章

  1. 线上接口经常超时,我用线程池+ FutureTask解决了,YYDS
  2. 科普云计算知识,迎接云计算大会
  3. Java Web学习计划
  4. python xlrd处理表格常用方法
  5. row_number() over (partition by....order by...)用法 分组排序
  6. 文治者必有武备不然长大了挨欺负_【博古斋·六月春拍】人文事者必有武备
  7. windows7如何实现屏幕不休眠
  8. 拓展名php,取扩展名_php
  9. ROS入门 TF与URDF
  10. Xpath定位方法深入探讨及元素定位失败常见情况
  11. sqlite数据库下载安装和初步操作和所遇到的问题
  12. Python练习题和答案
  13. 字符打印流(PrintWriter)
  14. vsto mysql_VSTO安装部署(完美解决XP+2007)
  15. ps2硬盘接linux,PS2加装硬盘详细指导
  16. 深度学习 --- Hopfield神经网络详解(吸引子的性质、网络的权值的设计、网络的信息存储容量)
  17. steam无法连接至计算机,大神传授win7系统游戏无法连接至steam网络一直卡在“正在连接steam”界面的设置技巧...
  18. 如何理解移动端设计稿的计算问题(移动端屏幕适配和px转rem)
  19. GDOUCTF比赛WEBCRYPTO方向全解!!
  20. 啊哈,381654729!

热门文章

  1. 高效能技术领导者,不仅是首席技术官,更是首席情绪官
  2. chrome 未连接到互联网 代理服务器出现问题,或者地址有误
  3. uni-app watch事件监听三种用法
  4. Hub能新建但不能打开项目 Failed to connect to pipe_20220313
  5. linux环境下GXL软件的安装
  6. 安装vs2013出现此预许可证已过期--解决办法
  7. 850是什么意思_850w是什么意思 孤存850w是什么梗
  8. [回炉计划]当输入xxxxhub的时候,居然是这样
  9. web调用身份证读卡器品牌选择及技术实现
  10. 阿里云部署公司网盘实例