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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机科学系实验报告

课程名称计算机组成原理班级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表示)。

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个控制信号。

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

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

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

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

三、实验内容和步骤

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

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

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

A组指令:ADD R0,R1

⑴置SW=00000000 00000001

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

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

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

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

B组指令:PUSH R0

⑴置SW=10000100 00000000

⑵按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=11001110 00000000

⑵按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;(执行本指令的第三步)

相关文档
最新文档