模型机指令系统的设计与实现.doc
《模型机指令系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《模型机指令系统的设计与实现.doc(12页珍藏版)》请在沃文网上搜索。
1、 目录1 问题描述11.1 设计目的11.2 设计要求22 数据格式和指令系统22.1 数据格式22.2 指令格式32.3指令系统53 模型机的数据通路54 详细设计75 调试分析96 设计体会11参考文献121 问题描述1.1 设计目的本课程设计是计算机组成原理课程结束以后开设的大型实践性教学环节。通过本课程设计,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对微程序控制器的理解,进一步巩固所学的理论知识,并提高运用所学知识分析和解决实际问题的能力;锻炼计算机硬件的设计能力、调试能力;培养严谨的科学实验作风和良好的工程素质,为今后的工作打下基础。1.2 设计要求(1) 确定设计目标
2、参考指导书上模型机综合实验设计的过程,运用其微指令格式,独立设计指令系统。并用该指令系统中的指令编写一个简单运算的程序,并进行调试运行。(2) 确定指令系统确定数据的表示格式、位数、指令的编码、类型、需要设计哪些指令及使用的寻址方式。(3) 总体结构与数据通路总体结构设计包含确定各部件设置以及它们之间的数据通路结构。在此基础上,拟出各种信息传送路径,以及实现这些传送所需要的微命令。(4) 设计指令执行流程数据通路确定后,就可以设计指令系统中每条指令的执行流程。根据指令的复杂程度,每条指令所需要的机器周期数。对于微程序控制的计算机,根据总线结构,需考虑哪些微操作可以安排在同一个微指令中,哪些微操
3、作不能安排在同一条微指令中。(5) 确定微程序地址根据后续微地址的形成方法,确定每条微程序地址及分支转移地址。(6) 微程序的编写根据微指令格式,将微程序流程中的所有微指令代码化,转化成相应的二进制代码,写入到控制存储器中的相应单元中。(7) 调试在模型机上,用单步微指令方式执行机器指令的微程序流程图,当全部微程序流程图检查完后,若运行结果正确,则在内存中装入一段机器指令,进行其他的运行方式等功能调试及执行指令的正确性验证。2 数据格式和指令系统2.1 数据格式模型机规定采用定点补码表示数据,字长是8位的,其中最高位为符合位,其它都是数值位。数据格式如表2-1所示76543210符号位数值位表
4、2-1 数据格式2.2 指令格式模型机设计四大类指令,即数据处理、数据存储、数据传送、程序控制,具体有数据传送指令、算术运算类指令、逻辑运算指令、程序控制类指令、输入输出类指令、字符串类指令、系统控制指令。指令格式,是指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成。操作码字段表征指令的操作特性与功能,而地址码字段通常指定参与操作的操作数的地址。因此,一条指令的结构可用如下形式来表示:操作码字段OP地址码字段A表2-2 指令格式微指令是一组实现一定操作功能的微命令的组合。图2-1表示一个具体的微指令结构。图2-1 微指令结构上图中24位控制位分别介绍如下:XRD:外部设备读信
5、号,当给出个外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号EMRD:程序存储器EM读信号 PCOE:将程序计数器PC的值送到地址总线ABUS上EMEN:将程序存储器EM与数据总线DBUS接通,有EMWR和EMRD决定是将DBUS数据写入EM中,还是从EM读出数据到DBUSIREN:将程序存储器EM独处的数据打入指令寄存器IR和微指令计数器uPCEINT:中断返回时清除中断响应和中断请求标志,便于下次中断。ELP:PC打入允许,与指令寄存器的IR2.,IR3位结合,控制程序跳转。MAREN:将数据总线DBUS上数据打入地址寄存器MARMAROE:将地址寄存器MAR的
6、值送到地址总线ABUS上OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里STEN:将数据总线DBUS上数据存到堆栈寄存器里RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位FEN:将标志位存入ALU内部的标志寄存器X2,X1,X0三位组合来译码选择将数据送到DBUS上的哪个寄存器,见表2-3WEN:将数据总线DBUS的值打入工作寄存器W中AEN:将数据总线DBUS的值打入累加器A中S2,S1,S0三位组合决定ALU做何种运算,见表2-4
7、X2 X1 X0输出寄存器0 0 0IN_OE 外部输入门0 0 1IA_OE 中断向量0 1 0ST_OE 堆栈寄存器0 1 1PC_OE PC寄存器1 0 0D_OE 直通门1 0 1R_OE 右移门1 1 0L_OE 左移门1 1 1没有输出表2-3 数据输出选择器原理图S2 S1 S0功能0 0 0A+W 加0 0 1A-W 减0 1 0A|W 或0 1 1A & W 与1 0 0A+W+C 带进位加1 0 1A-W-C 带进位减1 1 0A A取反1 1 1A 输出A表2-4 运算器的选择2.3指令系统模型机的指令集分几大类: 算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转
8、指令、中断返回指令、输入/输出指令。2.3.1数据传输指令主要包括取数指令、存数指令、传送指令、成组传送指令、字节交换指令、清寄存器指令等等。这类指令主要用来实现主存和寄存器之间,或寄存器和寄存器之间的数据传送。2.3.2算术运算指令该指令包括二进制定点加、减、乘、除指令,浮点加、减乘、除指令,求反、求补指令,算术移位指令,算术比较指令,十进制加、减运算指令等。这类指令主要用于定点或浮点的算术去处。2.3.3逻辑运算指令这类指令包括逻辑加、逻辑乘、按们加,逻辑移位等指令,主要用于无符号数的们操作、代码的转换、判断及运算。2.3.4程序控制指令又叫转移指令。机器执行到某条指令时,出现了几种不同的
9、结果,这时机器必须执行一条转移指令,根据不同结果进入转移,从而改变程序原来执行的顺序。在注册软件的时候经常遇到。2.3.5输入输出指令主要是用来启动外围设备,检查测试外围设备的工作状态,并实现外部设备和CPU之间,或外围设备与外围设备之间的信息传送。2.3.6字符串处理指令字符串处理指令是一种非数值处理指令,一般包括字符串传送、字符串转换、字符串比较、字符串查询等等。2.3.7特权指令特权指令是指具有特殊权限的指令。这种指令如果使用不当就会破坏系统,所以一般不直接提供给用户用。3 模型机的数据通路 模型机的数据通路如图3-1所示:图3-1 模型机的数据通路图3-2示出了模型机的运算器的数据通路
10、:图3-2 模型机的运算器的数据通路其中ALU为算术逻辑单元,R1、R2、R3为三个寄存器。4 详细设计根据图2-1微指令格式,我们可以 了解到许多的微指令在执行的时候,只需要把它所需要用到的位置有效(即为0)就可以了。我们知道,每个程序开始执行的第一条微指令必须是取指操作。而取指操作要做的工作是从程序存储器EM中读出下条将要执行的指令,并将指令的机器码存入指令寄存器IR和微程序计数器uPC中,读出下条将要执行的指令。要从EM中读数,EMRD必需有效;读EM的地址要从PC输出,所以PCOE要有效,它有效的同时还会使PC加1;IREN是将EM读出的指令码存入uPC和IR。此微指令的状态为“T0”
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模型 指令系统 设计 实现