文档库

最新最全的文档下载
当前位置:文档库 > 惠州学院-计算机组成原理实验四 含流程图

惠州学院-计算机组成原理实验四 含流程图

计算机科学系实验报告(首页)

课程名称计算机组成原理班级14软件工程一班

实验名称组合逻辑控制器实验教导教师麦山

姓名魏树杰学号1414080902132日期2016年06月11日

一、实验目的

1、深入理解计算机控制器的功能和组成;

2、学习和掌握计算机各类典型指令的执行流程;

3、学习组合逻辑控制器的控制原理和相关技术。

二、实验说明

1、TEC-XP+计算机的指令分类

TEC-2000指令系统按指令的功能和执行步骤可划分为A、B、C、D四组:

A组:主要完成通用寄存器之间的数据传送或运算,以及少数特殊操作,在取指后一步完成。

基本指令:ADD,SUB,AND,OR,XOR,CMP,TEST,MVRR,INC,DEC,SHR,SHL,JR,JRC,JRNC,JRZ,JRNZ

扩展指令:ADC,SBB,NOT,RCL,RCR,ASR,STC,CLC,EI,DI,JRS,JRNS,JMPR B组:需完成一次主存读/写操作,或IO读/写操作,在取指后二步完成。第一步向地址寄存器送入16位(或8位的I/O端口)地址,第二步完成读、写操作。

基本指令:LDRR,STRR,PUSH,POP,PSHF,POPF,MVRD,IN,OUT,JMPA,RET C组:完成两次主存读/写操作(间址操作),在取指令后三步完成。第一次读出的数据是操作数的地址,读出后直接(或经过一次加法运算)将其送入地址寄存器,省掉第二次内存读/写操

作的地址传送步骤。CALR指令先用第2步保存PC内容到堆栈,第3步把寄存器中的子程

序入口地址传送到程序计数器PC中。

扩展指令:CALR,LDRA,STRA,LDRX,STRX

D组:完成两次内存的读、写操作,在取指之后四步完成。

基本指令:CALA

扩展指令:TRET

8位指令操作码(记作“IR15–IR8”)的特殊含义:

①IR15–IR14用于区分指令组,0X表示A组,10表示B组,11表示C、D组;

②IR11用于区分C、D组,IR11=0为C组,IR11=1为D组;

③IR13用于区分基本指令和扩展指令,基本指令为0,扩展指令为1。

④IR12用于简化控制器实现,暂定为0。

⑤IR10–IR8用于区分同一指令组的不同指令。

TEC-XP+的基本指令已全部实现,扩展指令只完成了指令格式和执行流程的设计,控制信号的逻辑尚未实现,可由用户扩展实现。

2、TEC-XP+计算机的指令执行流程

TEC-2000计算机指令的执行流程由节拍发生器(即时序产生器)控制,节拍(即机器周期或CPU 周期)用T4T3T2T1T0来编码,其中,在组合逻辑控制器中T4恒为0(T4=0)。下图为TEC-2000的指令执行流程图,方框表示1个节拍(即机器周期),左上角为节拍的编码(用T3T2T1T0表示)。

PC←0,关中断PC ←AR ,PC ←PC+1IR ←读内存

寄存器间的数据传送或运算

读写内存或I/O 端口

读、写内存

传地址:AR ←地址中断请求扫描

RESET

1000

0000

0010

0011

0100

0110

A 组

0101

读内存,AR ←地址传地址:AR ←地址0111

0110

读内存传地址:AR ←地址0100

0110

传地址:AR ←地址0111

读、写内存

0101

B 组

C 组

D 组

3、TEC-XP+计算机组合逻辑控制器的主要控制信号

TEC-2000计算机组合逻辑控制器涉及到大量的控制信号,此处仅对输出的控制信号进行简要介绍。1)运算器控制信号

与运算器有关的控制信号有I8~I0、A3~A0、B3~B0、SCI 、SSH1~SSH0、SST2~SST0,这些信号的含义在脱机运算器实验中已作了介绍。

2)存储器、I/O 端口读写控制信号

与存储器、I/O 端口读写有关的控制信号/MIO 、REQ 、/WE ,这3个控制信号通过译码后产生6个控制信号。

/MIO REQ /WE

译码信号功能说明

000/MWR 主存写信号,低电平有效001/MRD 主存读信号,低电平有效010/WR I/O 写信号,低电平有效011/RD I/O 读信号,低电平有效00X /MEMREQ 主存读写请求,低电平有效01X I/OREQ I/O 读写请求,低电平有效1X X

-无读写操作

3)总线操作、中断控制信号

与总线操作、中断有关的控制信号有DC13~DC10、DC23~DC20。

DC12~DC10通过3-8译码器74LS138产生8个控制信号。DC13在组合逻辑控制器中未使用。

DC12~DC10

译码信号功能说明

000/SWTOIB 开关量SW 到内部数据总线001/RTOIB ALU 输出到内部数据总线010/ETOIB 16位机扩展符号到内部数据总线011

/FTOIB

状态寄存器到内部数据总线

100/STOIB8位机扩展符号到内部数据总线

101/INTVH中断向量高8位到内部数据总线

110/INTVL中断向量低8位到内部数据总线

111-无操作

DC22~DC20通过3-8译码器74LS138产生8个控制信号。DC23直接送到中断逻辑,DC23=1表示下一拍操作为取指令,否则DC23=0。

DC22~DC20译码信号功能说明

000-无操作

001/GIR指令寄存器接收

010/GARL地址寄存器低8位接收

011/GARH地址寄存器高8位接收

100/INTR恢复中断优先级

101/INTN新中断优先级

110/EI开中断,置中断允许位INTE=1

111/DI关中断,置中断允许位INTE=0

三、实验内容和步骤

在单步方式下观察TEC-2000计算机典型的基本指令执行的节拍流程以及控制信号。

1、基本指令的执行节拍流程

将TEC-XP+教学机运行控制开关置为111100(单步、手动置指令、组合逻辑、联机),然后按RESET 键,通过16位数据开关SWH、SWL置入指令操作码,在单步方式下,通过指示灯观察每组典型基本指令的节拍流程。

A组指令:ADD R0,R1

⑴置SW=0000000000000001

⑵按RESET键,节拍指示灯T4~T0显示01000;(本拍在复位后才会出现)

⑶按START键,节拍指示灯T4~T0显示00000;(本拍在手动情况下无意义)

⑷按START键,节拍指示灯T4~T0显示00010;(执行IR←指令编码)

⑸按START键,节拍指示灯T4~T0显示00011;(执行本指令)

B组指令:PUSH R0

⑴置SW=1000010000000000

⑵按RESET键,节拍指示灯T4~T0显示01000;(本拍在复位后才会出现)

⑶按START键,节拍指示灯T4~T0显示00000;(本拍在手动情况下无意义)

⑷按START键,节拍指示灯T4~T0显示00010;(执行IR←指令编码)

⑸按START键,节拍指示灯T4~T0显示00110;(执行本指令的第一步)

⑹按START键,节拍指示灯T4~T0显示00100;(执行本指令的第二步)

D组指令:CALA addr(调用地址为addr的子程序,CALA指令比较特殊)

⑴置SW=1100111000000000

⑵按RESET键,节拍指示灯T4~T0显示01000;(本拍在复位后才会出现)

⑶按START键,节拍指示灯T4~T0显示00000;(本拍在手动情况下无意义)

⑷按START键,节拍指示灯T4~T0显示00010;(执行IR←指令编码)

⑸按START键,节拍指示灯T4~T0显示00110;(执行本指令的第一步)

⑹按START键,节拍指示灯T4~T0显示00100;(执行本指令的第二步)

⑺按START键,节拍指示灯T4~T0显示00111;(执行本指令的第三步)

⑻按START键,节拍指示灯T4~T0显示00101;(执行本指令的第四步)

2、基本指令执行过程的控制信号

将TEC-2000教学机运行控制开关置为111100(单步、手动置指令、组合逻辑、16位、联机),然后按RESET键,通过16位数据开关SWH、SWL置入指令操作码,在单步方式下,通过指示灯观察典型基本指令的控制信号。

1)A组指令:ADD R0,R1

置开关SW=0000000000000001(ADD指令的编码),先按RESET键,进入节拍01000,以后每按一次START键将进入下一个节拍,观察每一个节拍的控制信号,并填入下表。

节拍/MIO REQ/WE A B SCi

SSH

I

8

-I

6

I

5

-I

3

I

2

-I

SST DC1DC2

1000100010101010100011001001000000111 0000100010101010100010000011000000011 0010001000000000000001000000000000001 001110000010000000011000001001000000 2)A组指令:SHR R2

置开关SW=0000101100100000(SHR的指令编码),先按RESET键,进入节拍01000,以后每按一次START键将进入下一个节拍,观察每一个节拍的控制信号,并填入下表。

节拍/MIO REQ/WE A B SCi

SSH

I

8

-I

6

I

5

-I

3

I

2

-I

SST DC1DC2

1000100010101010100011001001000000111 0000100010101010100010000011000000011 0010001000000000000001000000000000001 001110000000010101101000011101000000 3)B组指令:PUSH R3

置开关SW=1000011000000011(PUSH指令的编码),先按RESET键,进入节拍01000,以后每按一次START键将进入下一个节拍,观察每一个节拍的控制信号,并填入下表。

节拍/MIO REQ/WE A B SCi

SSH

I

8

-I

6

I

5

-I

3

I

2

-I

SST DC1DC2

1000100010101010100011001001000000111 0000100010101010100010000011000000011 0010001000000000000001000000000000001 011010000000000000001000111000010011 010001000000000000001000100000001000 4)B组指令:JMPA addr

置开关SW=1000000000000000(JMPA指令的编码),先按RESET键,进入节拍01000,以后每按一次START键将进入下一个节拍,观察每一个节拍的控制信号,并填入下表。

节拍/MIO REQ/WE A B SCi

SSH

I

8

-I

6

I

5

-I

3

I

2

-I

SST DC1DC2

100010001010101010001100100100000011100001000101010101000100000110000000110010001000000000000

0010000000000000010110100010101010010100000110000000110100

1

0000

0101

000

011

000

111

000

000

000

5)D 组指令:CALA addr

置开关SW=1100111000000000(CALA 指令的编码),先按RESET 键,进入节拍01000,以后每按一次START 键将进入下一个节拍,观察每一个节拍的控制信号,并填入下表。节拍/MIO REQ /WE A B SCi SSH

I 8-I 6I 5-I 3I 2-I 0SST DC1DC2100010001010101010001100100100000011100001000101010101000100000110000000110010001000000000000

0010000000000000010110100010101010010100000110000000110100001000000000000000001110000000000111100000001000000110010110000000110101

0101

0101

000010

000

010

000

001

000

四、实验要求

1、实验前请认真做好预习。

2、实验后写出实验报告,在实验报告中作出5条典型指令详细的流程图,并写出实验的心得体会。

五、实验结论、实验体会

流程图如下:

PC←0,关中断PC ←AR ,PC ←PC+1IR ←读内存

寄存器间的数据传送或运算

读写内存或I/O 端口

读、写内存

传地址:AR ←地址中断请求扫描

RESET

1000

0000

0010

0011

0100

0110

ADD R0,R1;SHR R2

0101

读内存

传地址:AR ←地址0100

0110

传地址:AR ←地址0111

PUSH R3;JMPA addr

CALA addr

通过指示灯观察各类基本指令的节拍后发现各类指令的公共节拍都一样,区别在于公共节拍之后的指令节拍,不同的节拍各自对应相应的数据处理,由这些节拍的结合完成一个指令。