[计算机组成原理课程设计]2023浙江理工大学 | 您所在的位置:网站首页 › 计算机网络CRC题目 › [计算机组成原理课程设计]2023浙江理工大学 |
一、目的和要求
深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。 要进行这项大型实验,必须清楚地懂得: TEC-2机的功能部件及其连接关系 TEC-2机每个功能部件的功能与具体组成 TEC-2机支持的指令格式 TEC-2机的微指令格式,AM2910芯片的用法 已实现的典型指令的执行实例,即相应的微指令与其执行次序的安排与衔接 要实现的新指令的格式与功能。 二、实验环境TEC-2模拟机 三、具体内容选定指令格式、操作码,设计如下指令: (1)加法指令。指令格式:D5DRSR,DISP 双字指令(控存入口100H) 功能: [DR]=[DR] +[[SR]+DISP] 微程序设计与实现 执行顺序微指令说明1PC->AR将DISP的地址放入AR,为偏移量读出做准备2MEM->Q将DISP从内存读出放入Q寄存器3SR->AR将SR寄存器的值放入AR,为SR读出做准备4MEM+Q->AR将SR从内存读出并加上DISP后放入AR寄存器,为[[SR]+DIP]的读出做准备5MEM->Q将[[SR]+DIP]读出放入Q寄存器6DR->AR将DR放入AR,为DR读出做准备7MEM+Q->Q将DR从AR中读出,让后放入Q寄存器8Q->MEM,CC#=0将Q寄存器的值放入DR中(上次放入AR的值是DR指向的地址)。1.PC->AR 0000 0E00 9030 5002微码介绍: 2.MEM->Q 0000 0E00 00F0 0000微码介绍: 3.SR->AR 0000 0E00 9040 0082微码介绍: 4.MEM+Q->AR 0000 0E01 10E0 0002微码介绍: 5.MEM->Q 0000 0E00 00F0 0000微码介绍: 6.DR->AR 0000 0E00 90B0 008A微码介绍: 7.MEM+Q->Q 0000 0E01 00E0 0000微码介绍: 8.Q->MEM,c#=0 0029 0300 1020 0010微码介绍: 如下图所示,[1800H]单元存储了100,[1700H]单元存储了1800,[1805H]单元存储了10,在使用该指令后,[1800H]单元加上了[1805H]单元的10后存放在[1800]单元中得到正确结果:110. 指令格式:D8××,ADDR1,ADDR2 三字指令(控存入口110H) 功能: [ADDR1]←[ADDR2] 微程序设计与实现 执行顺序微指令说明1PC+1->AR将ADDR2的指针地址放入AR,为ADDR2地址读出做准备2MEM->AR将ADDR2的地址从地址中读出放入AR,为ADDR2读出做准备3MEM->Q将ADDR1的值读出放入Q寄存器中4PC->AR,PC+1->PC将ADDR1的内存地址送入AR,为ADDR1地址读出做准备5MEM->AR将ADDR1的值读出放入AR,为ADDR1读出做准备6Q->MEM,CC#=0将Q寄存器的值放入,AR指向的内存单元(此时AR指向的内存单元是[ADDR1])1.PC+1->AR 0000 0E00 9035 5402微码介绍: 2.MEM->AR 0000 0E00 10F0 0002微码介绍: 3.MEM->Q 0000 0E00 00F0 0000微码介绍: 4.PC->AR,PC+1->PC 0000 0E00 A0B5 5402微码介绍: 5.MEM->AR 0000 0E00 10F0 0002微码介绍: 6.Q->MEM,c#=0 0029 0300 1020 0010微码介绍: 如下图所示[1800H]单元存储了1,[1805H]单元存储了2,使用该微程序后[1800]H单元存储了[1805H]单元的2结果正确。 注意:本题结果有误,但是用E501,0004可以得正确结果但不符合题目要求。期末复习任务重,具体正确做法请读者自行探究。 判断两个通用寄存器内容是否相等,若相等则转移到指定目的地址((IP)+DISP),否则顺序执行。 指令格式:E1 DR SR,DISP 双字指令(控存入口130H, DISP为相对转移地址偏移量) 功能: if DR=SR goto (IP)+DISP else 顺序执行。 微程序设计与实现 执行顺序微指令说明1DR-SR,CC#=CND测试DR与SR是否相等,如果Z=1(/Z=0)则程序跳转到A4H2PC->AR,PC+1->PC为读取转移地址做准备3IP+MEM->PC,CC#=0读取偏移量并且加上当前地址,然后跳至指定地址1.DR-SR,#CC=CND 0029 0371 9190 0088微码说明: 2.PC->AR,PC+1->PC 0000 0E00 A0B5 5402微码说明: 3.IP+MEM->PC,CC#=0 0029 0300 30D6 5000微码说明: 如图所示在R0,R1中分别存放1,1 使用该指令后不执行`MOV R2,0指令R2的值仍为1. 略 五.附加材料下面是对Tec-2机的一些总结 字长TEC-2机字长为10位。 指令TEC-2机指令字长位16位,其中有6位(IR_{15-10})操作码,之后两位IR_{9-8}是条件码。最多支持2^{6}=64条指令,其中有53条已经实现。 IR:指令寄存器,用于存储当前正在执行的指令 主存主存支持64K字,4K\times 8的ROM存放监控程序,2K \times 8的RAM存放用户数据和数据。 运算器运算器由四片AM2901级联而成,可以实现8种运算功能,16哥双端口(A,B)读出、单端口(B)写入的通用寄存器,其中R_{4-6} 分别为SP,PC,IP寄存器,其余寄存器可用于用户编程。 IP 寄存器 保存当前正在运行的指令的地址,用于转移变址的目的 I_{8-6} 进行寄存器结果和Y输出选择 I_{5-3} 进行运算功能选择 I_{2-0} 进行数据来源选择 控制器控制器由一篇AM2910,7片6116(RAM,2K \times 8)(微控)、16位的指令寄存器IR和2片2716(存储用于实现53条机器指令的微程序,加电后读取送入微控存)等组成。 PC寄存器 程序计数器PC用运算器的R5寄存器表示,保存下一条指令的地址 IP寄存器 指令地址寄存器IP由运算器的R6寄存器表示,保存当前执行的指令 微控 已实现的53条指令的微程序存放在2片单独的8位 中,加电的过程自动调入控存(装入微 码)。 AR 地址总线的输入信号仅有一组,即地址寄存器( AR),而AR只能接收来自运算器的结果输出信号。 常用微指令19H 取指令, 增量。 该条微指令公用于所有指令。 1AH 1AH 按新取来的指令的操作码找到该条指令本身的微程序段的入口地址。 19H之后一定是1AH。 A4H A4H 根据有无中断请求,决定是进入中断处理过程,还是顺序执行。 任何一条机器指令执行完都要去A4H检测中断 程序调试以第一个微程序为例 前期准备 S_{2}S_{1}S_{0} 设为100 FS_{1}FS_{2}FS_{3}FS_{4} 设为1010 STEP/CONT 设为CONT 输入并查看微码 E900 将微码输入到900H开始的内存单元中 D900 查看900H开始的内存单元的数据 将微码加载到微控 A800 输入加载微码的程序 G800 运行上边的代码,把微码装入微控存100H开始的单元中 测试指令 A820 输入测试指令的程序到820H开始的内存单元中 E830 把新指令写到830H开始的内存单元中 U820 反汇编,查看输入的测试指令的程序 G820 运行从820H开始的程序 观察运算结果 DA00 |
CopyRight 2018-2019 实验室设备网 版权所有 |