欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    XX大学本科学生毕业设计论文.doc

    • 资源ID:4745670       资源大小:1.02MB        全文页数:38页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    XX大学本科学生毕业设计论文.doc

    1绪论12 Logisim仿真软件33 计算机组成原理实验5 3.1 实验简介5 1.1.1运算器实验51.1.2 静态随机存储器实验6 1.1.3微程序控制器实验6 1.1.4 简单模型机实验8 1.1.5复杂模型机实验9 3.2 指令系统9 1.2.1 简单模型机指令91.2.2 复杂模型机指令10 3.3 微指令设计12 3.4 时序单元134 仿真实现15 4.1 运算器实验15 4.2 存储器实验18 4.3 微程序控制器实验19 4.4 模型机实验24 4.4.1简单模型机24 4.4.2 复杂模型机275 结论32 5.1 体会32 5.2 总结32附录A:实验微程序35 1 绪论计算机组成原理是计算机科学与技术及其相关专业的一门非常重要的专业基础课程,课程配套的实验对该课程内容的掌握至关重要。教学反映,该课程对初学者难度较大,它要求学生熟练掌握计算机各子系统的组成原理、设计方法、相互关系以及各子系统互相连接构成整机系统的技术。受到总学时、实验场所和实验设备的限制,实验课上同学们要在实验中观察得到正确的结果,必须具有扎实的基础、清晰的概念、正确的逻辑设计以及合理的操作步骤。目前国内大部分高校采用的实验方式主要是利用一些现有的计算机组成原理实验箱来完成实验1。我院采用的是TD-CMX计算机体系结构与计算机系统设计平台,此平台由一个教学实验箱、FPGA开发板和动态图形调试软件组成。实验箱已将计算机的各个逻辑组成部件芯片全部做好并焊接在实验板上,学生只需按实验指导书中的要求进行连线并拨动相应开关,然后观察实验结果就能完成实验1。这种实验过程简单死板,仅有验证没有设计,并且实验箱的费用高,淘汰快,易损坏且难维护,学生对实验设备利用率低,实验效果也不太理想。同时,这种实验方式离不开实验箱,所以学生只能在指定的实验室中完成实验,在短暂的实验时间内,学生第一次接触实验箱就要完成连线和操作,难度较大,如果实验前没有预习,实验效果将大打折扣。种种弊端说明计算机组成原理实验中引入EDA技术是实验方式改革的必然1。EDA技术的进步使得构建虚拟实验室也成为了可能,虚拟实验2是一种用虚拟仪器、设备代替传统的实验仪器和设备进行的实验,虚拟实验技术大大降低了实验成本,使实验更加“自由”。实现虚拟实验必须有一套交互性强、开放程度高、易操作的设计软件2。目前,具备这一功能的软件很多,最受欢迎的是加拿大Interactive Image Technologies公司推出的电路仿真与绘制软件Multisim2。基于multisim的虚拟实验系统可以更好的开发学生的潜力,随着仿真技术的发展,将来有望代替实验室教学。 现今主流的计算机组成原理实验仿真技术有两种:一种是基于EDA+PLD技术的实验方式,此方式一般都是利用软件供应商提供的EDA工具软件(例如quartus)进行模拟仿真;另一种是基于multisim的虚拟实验系统。这两种方式都具有验证设计方案的正确性与合理性、发现并纠正原理图中错误、识别由于电路连接或控制不当导致的数据冲突、利用课外学时和支持多样化设计性实验的功能,同时两种方式各有各的特点。基于EDA+PLD技术的实验方式1所需要的实验环境比较复杂,不但要提供硬件的实验仪器平台还需要提供计算机仿真软件,因此实验成本会比较高。除此之外,学生在做实验之前不但要熟悉掌握EDA仿真软件4的使用,还需要掌握某种硬件描述语言,因此对学生要求较高,学生上手会比较慢。基于multisim的虚拟实验系统使用multisim软件,该软件用户界面友好,操作简单,上手容易。并且,这种实验方式只需要在普通机房安装仿真软件即可实现,实验的通用性好,实验成本低1。在实验过程中,学生可以自由地探讨实验的优化方案,用不同的方案实现统一功能,能激发学生的设计和创新能力。但是,计算机组成原理单元实验比较复杂,某些单元实验所需要的功能元件Multisim并没有直接提供,它只能辅助计算机组成原理教学,而不能代替实验教学1。本课题利用Logisim软件完成计算机组成原理实验仿真,以提高实验的成功率,帮助学生更好的理解实验原理和完成实验。基于logisim的计算机组成原理实验移植类似于multisim虚拟实验,此方式具备了multisim虚拟实验的优点。相对multisim仿真软件,Logisim软件运行时占用的内存资源更小,对逻辑电路设计和逻辑单元仿真更具有针对性,而multisim适用于模拟和数字电路的设计,应用面广,针对性弱。除此之外,Logisim在电路的封装上更为灵活,它可以随意改变引脚排列和封装的形状,这是multisim无法实现的。所以我们选取Logisim软件来实现计算机组成原理实验的仿真。Logisim是一个开源跨平台的软件,界面友好上手容易,易于仿真,在这样一个形象逼真的软件平台上预习,再到实验室进行实验,能够大大提高实验效率。针对设计性的实验,学生可以在实验前利用logisim软件,自主设计实验方案和实验步骤来仿真,从而避免了实验时的盲目操作,锻炼和拓展了学生的逻辑电路设计能力和创新设计思维。引入软件仿真使同学们突破时间和空间的限制,无需在实验室也可以进行组成原理实验,从而大大提高了实验设施的利用率。2 Logisim仿真软件logisim软件5是一个基于java的开源软件,是用于设计和模拟数字逻辑电路的教育工具,它的简单的工具栏界面和模拟电路构建,使其非常适合初学者学习最基本的概念与逻辑电路。由于能够从较小的子电路构建更大的电路,并能用鼠标拖动画出电路,Logisim软件还可以在教学上用来设计和模拟整个CPU。logisim软件在世界各地的大学和学院的学生中得到了广泛使用,一般用于普通教育领域的计算机科学研究,大学二年级的计算机组成原理相关课程或大三及大四的计算机体系结构课程中。logisim软件界面如下图所示。图2.1 Logisim软件界面软件界面上部分是菜单栏,一共有六个菜单选项分别为:文件、编辑、工程、仿真、窗口和帮助。文件菜单提供打开、创建、保存、打印和退出项目等功能。编辑菜单提供复制、剪切、粘贴、全选、撤销等功能。工程菜单支持创建新的子电路,并且可以给项目加载或卸载库,这里的库有三种:内置的logisim库文件;logisim建立并保持在本地磁盘上的工程项目;也可以是java开发的并未加入到logisim中的jar文件。另外,工程菜单还提供电路分析和统计的功能,电路分析功能可以得到当前电路的真值表和相应的逻辑表达式,两者显示在组合分析窗口中,需要注意的是电路分析只能用于组合电路;电路统计功能显示出一个包含有当前查看的电路的元件数据的对话框,该对话框中有一个表格,表格具有以下五个属性:该组件的名称、该组件来自的库的名称、该组件直接出现在电路中的次数、该组件出现在电路的次数(相同子电路只计算一次)、该组件出现在电路及所有子电路的次数(每个子电路都要计算)。仿真菜单提供仿真过程中的控制功能,包括开始仿真、电路复位、单步仿真、进入/退出子电路、单脉冲、连续脉冲和选择时钟频率等功能,为电路的仿真提供了多样化的有效的控制操作。窗口菜单支持窗口最大化、窗口最小化、关闭窗口、组合分析窗口和多个窗口相互切换等功能。众所周知,电路分为两种:组合电路和时序电路。组合电路中,所有的电路输出是一个当前电路输入的严格组合,而在时序电路中,一些电路输出取决于过去的输入,即输出和时序也有关系。组合分析窗口用三种技术描述了组合电路的行为:逻辑电路、布尔表达式和真值表。三者可以相互转化,即画出逻辑电路可以自动得到电路的布尔表达式和真值表,也可以给出布尔表达式或真值表,让软件自动生成逻辑电路。这给电路的设计和分析带来了便利。帮助菜单提供了一个logisim参考指南,该指南提供了Logisim的功能的官方参考,几乎涵盖了logisim软件的每个细节,可以引导新手快速入门,即学即用。软件界面右侧是工具栏,提供一些逻辑电路构造中常用的工具,包括与或非逻辑门、输入输出引脚和连线等。软件界面左侧显示了当前项目的主电路及所有子电路列表,还有logisim的标准参考库(如下图2.2所示)。左侧居中显示的是当前选定的组件的属性,有名称、朝向、标签等,其属性随组件不同而有不同的内容。左侧下面是一个下拉框,可以改变页面显示的比例,在设计庞大系统逻辑电路时可以缩小显示比例,使整个逻辑电路显示在一个页面上,便于观察仿真结果。图2.2 Logisim参考指南logisim提供的参考库几乎涵盖了逻辑电路设计和仿真要用到的所有基本组件,参考库对每一个组件工具进行了详细介绍,有些比较复杂的组件提供了真值表和逻辑设计样例,对初学者帮助很大。参考库细分为布线库、逻辑门库、复用器库、运算库、存储器库、输入输出库和基本工具库。3 计算机组成原理实验3.1 实验简介计算机组成原理实验是计算机组成原理课程必不可少的实践环节,共包括基本运算器实验、阵列乘法器实验等九个实验。由于教学时间紧凑,酌情删减至四个基础实验,为了更好的体现CPU的设计思想和指令系统复杂性,本次研究仿真五个由简到难、由部分到整体的基本实验,即基本运算器实验、静态随机存储器实验、微程序控制器实验、简单模型机设计实验和复杂模型机设计实验。3.1.1运算器实验运算器实验旨在搭建一个具有运算功能的逻辑电路。计算机有五大组成部分,分别是控制器、运算器、存储器、输入设备和输出设备6,运算器实验也就是模拟出五大部件之一的运算器。该实验有两个输入端A和B,需要手动输入两个八位二进制数,有三个输出端,分别用来输出本次运算的结果、进位标志寄存器内容和零标志寄存器内容。本实验还有一个时钟信号,影响数据输入和标志寄存器内容的改变。运算器通过四位二进制控制信号选择运算类型,并且通过低进位标志影响运算结果,因此该运算器支持逻辑运算、算术运算和移位运算等三种类型的运算,共十六种功能运算,完全适应计算机运算器所需要的各种功能。运算器逻辑功能表3.1运算类型S3 S2 S1 S0CN功能逻辑运算0 0 0 0XF=A(直通) (FZ)0 0 0 1XF=B(直通) (FZ)0 0 1 0XF=AB(直通) (FZ)0 0 1 1XF=A+B(直通) (FZ)0 1 0 0XF=/A(直通) (FZ)移位运算0 1 0 1XF=A 不带进位循环右移B(取低3位) (FZ)0 1 1 00F=A 逻辑右移一位 (FZ)1F=A 带进位逻辑右移一位 (FC,FZ)0 1 1 10F=A 逻辑左移一位 (FZ)1F=A 带进位逻辑左移一位 (FC,FZ)算术运算1 0 0 0X置FC=CN (FC)1 0 0 1XF=A 加B (FC,FZ)1 0 1 0XF=A 加B加FC (FC,FZ)1 0 1 1XF=A 减B (FC,FZ)1 1 0 0XF=A 减1 (FC,FZ)1 1 0 1XF=A 加1 (FC,FZ)1 1 1 0X(保留)1 1 1 1X(保留)如表中所示,A和B为两个输入数据,F为输出结果,X表示既可以为0也可以为1,CN为低位进位标志,FC和FZ分别为进位标志寄存器和零标志寄存器中内容,功能栏中的(FC,FZ)表示此运算会影响到这两个标志位。3.1.2静态随机存储器实验静态随机存储器实验旨在搭建一个具有访存数据功能的逻辑电路。存储器是计算机五大组成部分之一,也是计算机各种信息存储与交换的中心。冯诺依曼型计算机的基本特征就是将程序指令和数据存储在存储器中,存储器使程序的执行更加的连续、自动且高效10。该实验有一个输入端,需要存放的数据和指定的存放地址都由该输入端输入。有两个输出端分别输出地址锁存器中的内容和存储器取出的数据。另外,该实验通过两个控制信号决定存储器的读写状态,并且使用另外两个门控信号决定占用总线的是数据还是地址。实验完整演示了静态随机存储器RAM的工作特性及数据的读写过程(见图3.2),完全适应计算机存储器所需要的各种功能。图3.1 存储器读写过程图中所示过程为,先将数据00010001送入存储器的00000000地址中,即存储器写过程;然后将地址00000000中的数据取出来为00010001,此为存储器读过程。两个过程都需要对总线的占用进行分配,并且总线还可以双向传输,传输方向也需协调。3.1.3微程序控制器实验微程序控制器实验旨在搭建一个可以翻译和执行当前指令的逻辑电路。微程序控制器的任务是将当前指令分解为可控的硬件逻辑部件工作的微命令序列,以便完成数据传送和各种处理操作。执行指令时,要将控制各部件动作的微命令的集合进行二进制编码,这种编码就是微指令。每条机器指令可以用一个微指令序列来表示,该微指令序列存放在只能访问不能写入的存储器中,称为控制存储器,微指令序列称为微程序。微程序控制有一个输入端口,用来接收指令(用二进制数编码),有一个输出端口,用于输出当前指令产生的一系列控制信号。为了使微程序的运行过程更加清晰,本实验将微程序控制器部件与运算器部件结合起来,向微程序控制器输入各种运算指令,然后产生相应的控制信号,使运算器在各种信号的控制中进行运算并产生结果。此过程还需要时序控制逻辑部件,使各种运算在一定的时钟周期下运行。图3.2 微程序控制组成原理框图微程序控制器组成原理如图所示。指令寄存器8位,用来存放当前指令。地址转移逻辑是一个组合逻辑电路,用于确定下一条微指令的地址。微地址寄存器6位,用来存放下一条微指令的地址,初始值为0。控制存储器是一个具有掉电保护功能的只读存储器,用来存放程序用到的所有微指令。微命令寄存器共18位,分为3位P字段和15位控制字段两部分,P字段直接传给地址转移逻辑,控制字段通过规定的组合逻辑电路产生大量的控制信号给计算机的其它组成部件。微程序控制器的工作过程需要严格按照系统时序来进行。每个时钟周期有T1、T2、T3和T4等四个脉冲,每个时钟周期 执行一条微指令,即每条指令的执行周期的长度取决于该指令的微指令序列的长度。当控制器接收一条指令,将指令的低5位传入地址转移逻辑,此时P字段初始默认为0,通过两者计算出微指令地址并传入微地址寄存器。然后控制存储器从微地址寄存器中获取微地址,并取出相应位置的微指令。然后将微指令的低六位送入微地址寄存器作为下一条微指令的顺序地址,将微指令的第六到八位送入P字段,将微指令的第九到二十四位送入控制字段,使其通过组合逻辑产生大量的控制信号。然后运算器等其它部件接收到此控制信号,按部就班地完成该条微指令的功能。此条微指令至此执行完毕,同时这个机器周期也结束。需要注意的是,在此机器周期的末尾,还要根据当前执行的微指令的P字段、微指令的低六位和机器指令的低五位来决定下条微指令的地址,这也是地址转移逻辑的功能,这样下个机器周期就可以直接取出相应的微指令了。3.1.3简单模型机实验简单模型机实验是在掌握上述部件单元电路的基础上,进一步将各单元组合起来构造一个简单的CPU,然后再进一步构造出简单模型机的过程。简单模型机由CPU、主存和简单的输入输出三部分构成。CPU 由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0)、指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成。需要注意的是,虽然CPU的时序单元没有单独区分出来,但是时序控制对CPU乃至整个模型机的运行都非常重要。图3.3 基本CPU构成原理图向CPU的控制器中写入微程序,那么CPU就可以执行输入到IR中的符合编码规则的指令了。为了真实模拟计算机的运行过程,实验的指令和数据都存放在外部存储器中,即主存。运行程序时,程序计数器(PC)送入地址寄存器(AR)中后自增,再将地址送入主存取出相应指令,将指令送到指令寄存器(IR)中,再经由控制器产生各种控制新号以确保微指令序列的执行。当前指令执行完毕,则再次从主存中取出下条指令。程序运行过程中也需要访问内存数据或将中间数据写入内存,运行结束后将结果送到输入输出部件。这就是简单模型机运行全过程。本实验采用了五条指令和对应的十一条微指令,实现了两数求和的小程序。3.1.3复杂模型机实验在所有实验中,复杂模型机是计算机组成原理的各部件组合应用,设计并实现了比较完整的计算机,这个实验是前面所有实验的综合,对于计算机组成原理及运行过程的理解十分重要。此实验在简单模型机的基础上增加了寄存器的个数,简单模型机只有一个寄存器R0,而复杂模型机有四个寄存器R0、R1、R2和R3,因此指令的设计需要考虑源寄存器和目的寄存器的问题。其次,复杂模型机也增加了输入输出的端口,事实上真实计算机存在多个输入输出的端口,因此这种设计更加贴近实际,所以实验中也需考虑输入输出端口的选择问题。另外,为了更加体现计算机指令系统的复杂性,复杂模型机指令不仅长度可变(有的指令是8位,有的指令是16位,视指令功能而定),指令类型有多种(有运算指令、跳转指令、访存指令和输入输出指令),并且寻址方式也不是单一的(有立即、直接、间接、变址和相对寻址等五种寻址方式)。复杂模型机非常接近真实的计算机,由此带来的指令格式、指令类型和指令功能的改变,使模型机各部分逻辑电路都有所改变。由于跳转指令的存在,复杂模型机的微程序控制器也会受到进位标志寄存器和零标志寄存器的影响。指令类型的增加使微指令的数目也增加,并且微指令地址的跳转也更复杂,微指令序列需要重新编码,这意味着地址转移逻辑部件也会更加复杂。寄存器数量的增加,使微程序控制器产生的微命令控制信号也要增加,故控制信号相关电路也会更加复杂。虽然电路设计更加复杂,但复杂模型机的功能更加强大,可以实现更多功能的指令和程序。本实验采用了17条指令和54条微指令,在模型机上实现了根据输入数据的第四位值X,求1+2+X的累加和的运算。3.2 指令系统要控制计算机的硬件工作,就必须使用它的语言,机器语言的单词称为指令,其单词表称为指令集。指令系统是一个CPU能够处理的全部指令的集合,它表征了计算机的基本功能,也决定了CPU所要求的能力和指令的格式以及机器的结构。本节将介绍模型机实验中的指令系统,包括指令的格式、类型及操作功能。3.2.1简单模型机指令运算器实验和静态随机存储器实验没有涉及到指令。微程序控制器中涉及到了相加(ADD)、输入(IN)、输出(OUT)和停机(HLT)等四条指令,指令格式如下:微程序指令描述 表3.2 助记符号指令格式指令功能INADDOUTHLT0010 00000000 00000011 00000101 0000IN R0R0 R0 R0R0 OUT停机微程序控制器中所有指令都是等长的,且需手动输入。指令中没有指定寄存器,因为实验中只有一个寄存器R0。指令也没有指定输出和输出的端口号,因为输入单元和输出单元都只有一个。停机指令是指什么操作也不进行。简单模型机是前面三个部件饰演的组合,相对于微程序控制器实验多了一个自动取指令的功能,即不需要手动输入指令,只需将指令序列存放在存储器中,程序运行时再按规则取出。简单模型机实验并没有增加通用寄存器数量,也没有增加输入和输出的端口,故指令格式不变,仅新增加了一条无条件跳转指令。指令格式如下:简单模型机指令描述表3.3 助记符号指令格式指令功能INADDOUTJMP addrHLT0010 00000000 00000011 00001110 0000 * *0101 0000IN R0R0 R0 R0R0 OUTaddr PC停机简单模型机增加了一条双字节的无条件跳转指令,该指令的第一个字节表示跳转命令,第二个字节表示跳转的目的地址,由于此实验不涉及到多种寻址方式,故addr的内容就是目的地址。JMP指令的功能是取出指令第二个字节的内容并赋给程序计数寄存器PC。 3.2.2复杂模型机指令复杂模型机设计了十五条指令,分为运算类指令、控制转移类指令和数据传送类指令三大类指令。这些指令涉及到4种寻址方式,如表3.4所示。有四种寻址模式(M),故采用二位数编码。直接寻址表示有效地址就是指令中直接给出的8位地址(D);间接寻址中,指令中给出的8位地址(D)并不是有效地址,以D作为地址从主存中取出的数据才是有效地址;RI变址寻址过程中,指定的寄存器RI的值与指令给出的值(D)相加,得到的便是有效地址;相对寻址是相对于程序计数器(PC)当前指向的地址来寻址的,即程序计数器(PC)中的值与指令给出的值(D)相加,得到有效地址。寻址方式表3.4 寻址模式M有效地址E说明00011011E = DE =(D)E =(RI)+ DE =(PC)+ D直接寻址间接寻址RI变址寻址相对寻址复杂模型机指令描述 表3.5 助记符号指令格式指令功能MOV RD,RS 0100RSRDRS RDADD RD,RS 1001RSRDRDRS RDSUB RD,RS 0000RSRDRDRS RDAND RD,RS1000RSRDRDRS RDOR RD,RS0001RSRDRDRS RDRR RD,RS1010RSRDRS右环移 RDINC RD 0111*RDRD1 RDLAD M D,RD1100MRDDE RDSTA M D,RS1101MRDDRD EJMP M D1110M*DE PCBZC M D1111M*D当FC或FZ=1时,E PCIN RD,P0010*RDPP RDOUT P,RS0011RS*PRS PLDI RD,D0110*RDDD RDHALT0101*停机运算类指令共有6条,分为算术运算、逻辑运算和移位运算等三种运算,几乎涵盖了计算机需要的所有运算,这六条指令分别为:ADD、AND、INC、SUB、OR、RR。所有运算类指令都为单字节,寻址方式都采用寄存器直接寻址10。控制转移类指令10有三条HLT、JMP、BZC,用以控制程序的分支和转移,其中HLT 为单字节指令,JMP 和BZC 为双字节指令,寻址方式各有不同,据指令中的寻址模式编码(M)而定。数据传送类指令有IN、OUT、MOV、LDI、LAD、STA 共6 条,用以完成寄存器和寄存器、寄存器和I/O、寄存器和存储器之间的数据交换,除MOV 指令为单字节指令外,其余均为双字节指令。指令的具体说明见表3.5,表中M表示寻址模式,RS和RD用二位二进制编码表示源寄存器和目的寄存器,D是一个八位二进制数,P是端口号,占用一个字节,*表示任意值都可以。3.3 微指令设计微指令是若干个、实现一定操作功能的微命令的集合,这里的微命令是指控制部件向执行部件发出的各种控制命令。微程序则是若干个微指令的有序集合。微程序控制器实验、简单模型机实验和复杂模型机实验都需要用到微指令,实验中每条指令都对应着一个微指令序列,指令和微指令的编码必须符合一定的规则。微指令字长24位,一般包含两个部分:操作控制字段和顺序控制字段。操作控制字段用于产生当前微操作需要的控制信号;顺序控制字段用于产生下一条要执行的微指令的地址。微指令格式如下:微指令格式表3.62322212019181514121198650M23M22WRRDIOMS3S0A字段B字段C字段MA5MA0ABC字段功能表3.7A字段选择B字段选择C字段选择000001010011100101110111NOPLDALDBLDRi保留LOADLDARLDIR000001010011100101110111NOPALU_BRS_BRD_BRI_B保留PC_B保留000001010011100101110111NOPP<1>P<2>P<3>保留LDPC保留保留表中的低六位即为顺序控制字段,其它十八位为操作控制字段。A字段、B字段和C字段的不同的编码表示不同的信号,000表示没有信号产生(NOP),即该字段可以选择的所有信号都为0(假设高电平为有效电平)。当A字段为001时,表示选择信号LDA,此时LDA为1,而其它信号,LDB、LDRi、LOAD、LDAR和LDIR都为0(仍然假设高电平为有效电平)。需要注意的是,操作控制字段中的C字段为判断逻辑字段,在指令执行过程中,判断逻辑按约定好的规则(即微程序的地址转移逻辑),根据状态修正顺序控制字段的地址,从而得到下一条微指令的地址。在实验仿真之前,需要将微程序加载到微程序存储器中,加载的文件后缀为TXT,微指令加载格式为:$M XX XXXXXX其中,$M是微指令的标志,后面的XX是微指令的地址,最后面的是微指令代码。如$M 01 007070,表示微指令的地址为01H,微指令值为00H(高)、70H(中)、70H(低),微指令后可以加注释,但需要用注释符分号隔开。微程序控制器存储和控制微指令的有序执行,微程序的工作过程也是在微程序控制器的控制之下,计算机执行机器指令的过程。(来自PPT:处理机设计 172张)每个指令周期都是由取指微指令开始的,即从控制存储器中运行取指令微程序,完成从主存储器中取得机器指令的工作;然后根据取到的指令的二进制编码,得到此条指令对应的微指令序列的入口地址;然后根据这个微指令地址逐条取序列上的微指令,并执行相应的微操作,直到序列执行完毕;当前指令结束,开始执行下一条机器指令。3.4 时序单元计算机的工作是按照时序分步地执行的,所以计算机内部需要能产生周期节拍、脉冲等时序信号的部件,称为时序发生器。时序发生器在微程序控制器实验、简单模型机实验和复杂模型机实验中都有使用。时序发生器里面有时钟源、脉冲分配器和启停控制逻辑三部分。时钟源是基准时钟信号,脉冲分配器主要对主频脉冲进行分频,而启停控制逻辑则是控制主脉冲的启动与停止。图3.4 时序状态图图中TS为时钟源,为计算机提供基准时钟信号。脉冲分配器对TS进行分频,从而产生节拍电位和脉冲信号T1、T2、T3和T4。每个CPU周期都分为四个相等的时间段,每个时间段对应一个节拍电位。每条指令的执行时间称为指令周期,每个指令周期由若干个CPU周期组成,第一个CPU周期总是取指令周期,指令的CPU周期数取决于指令的复杂性,如操作数数目及操作数的寻址方式等。计算机组成原理实验的时序控制单元需要实现单节拍、单CPU周期和连续运行等仿真功能,还需具备调整时钟源频率、清零和启停等功能。4 仿真实现4.1 运算器实验运算器实验的仿真严格按照实验指导书中运算器实验的要求进行,下面是实验数据通路图和Logisim仿真界面的对比,可以发现,Logisim仿真界面体现了更多连线上的细节,底层的每个部件都更加清晰。图4.1 运算器数据通路图4.1是我院使用的TD-CMX计算机组成原理实验平台提供的运算器实验的动态图形调试界面,其中T4、S0、FC等都是运算过程中的输入信号,其它的如进位、判零、ART和多路开关等都是封装好的具有一定功能的逻辑部件,数据从最下端输入AB两个暂存器,结果通过多路开关输出。Logisim仿真界面如图4.2所示。图中的ART、LOG和SHF分别代表算术运算部件、逻辑运算部件和以为运算部件。A和B两个寄存器中的数据由IN7.0输入,然后传入上面三个部件中进行运算。同时S3.0传入译码器中进行译码,并将译码结果传给三选一开关来选择一种运算结果作为输出,输出的结果影响零标志寄存器(FZ),运算过程影响进位标志寄存器(FC)。此时,A寄存器中的十六进制数62和B寄存器中的十六进制数a7进行运算,运算类型由S3.0决定,此时是A直通,故三选一开关选择逻辑运算部件的结果输出,结果为62。此运算结果不为0,故FZ为0,此运算过程不影响FC,FC保持不变。图4.2 Logisim运算器仿真图4.3 逻辑运算部件逻辑运算部件是一个由逻辑门组成的组合电路,比较简单,可以直接用logisim提供的库中的逻辑门进行搭建。逻辑运算部件有两个输入数和一个控制信号S3.0,控制信号决定逻辑运算类型,从而产生一个输出结果。图4.3中选择的是A直通逻辑运算,结果为62H。算术运算部件中需要考虑进位标志寄存器是否改变。如图4.4所示,该部件除了A和B两个输入数之外,还有FC和Cn了两个输入信号,这两个信号对运算结果是否进位以及进位标志寄存器是否改变有影响。该部件除了运算结果之外,还需要输出是否产生进位(CY1)。此时S3.0为0000,多路选择器不选择任何算术运算,没有输出结果,不改变进位标志(CY1)。图4.4 算术运算部件移位运算比较复杂,实验箱中移位运算采用的是桶形移位器,本次仿真是利用了Logisim内置的库组件。移位运算7分为不带进位循环右移、带进位逻辑右(左)移和逻辑右(左)移三种。其中,不带进位循环右移N位是指将二进制数的最低位移至最高位,其它每一位顺序右移一位,并重复这个过程N次。带进位逻辑右(左)移N位是指将二进制数的每一位数向右(左)移动N位,最低(高)位丢弃,空出的高(低)位填上进位标志寄存器中的值,寄存器置0。逻辑右移N位是指将二进制数的每一位数向右(左)移动N位,最低(高)位丢弃,最高(低)位补0,这种运算不改变进位标志寄存器中的值。图4.5 移位运算部件运算器中的移位运算部件如上图所示,此时输入两个十六进制数为62和a7,S3.0为0000,没有选中逻辑运算,故没有运算结果。4.2 存储器实验存储器是计算机自动、连续快速工作的基础。下面是TD-CMX计算机组成原理实验平台提供的存储器器实验的动态图形调试界面:图4.6 存储器动态图形调试界面存储器实验相对简单,可以直接使用Logisim的基本组件搭建电路。但是此实验对结果显示方面要求较高,故软件中使用了探针灯和九段LED数码管来加强显示功能,效果较好。下面是Logisim仿真界面:图4.7 Logisim存储器仿真图4.7表示的是存储器的写过程。此时,地址寄存器(AR)中的内容是01(十六进制,后面都用H表示),说明当前选定的是存储器的01H地址。这个时候关闭LDAR(LDAR高电平有效,低电平无效),从IN单元输入数据11H至存储器(MEM单元),打开WR表明此时要写存储器,给存储器一个脉冲T3,数据11H就写入了存储器的01H地址单元。4.3 微程序控制器微程序控制器是计算机的重要组成部分,计算机各部件高效有序工作的总指挥。微程序控制器由控制部分和执行部分组成,控制部分即微程序控制器,由地址转移逻辑、控制存储器和微指令寄存器三部分组成,执行部分即运算器。下图是TD-CMX计算机组成原理实验平台提供的微程序控制器的动态图形调试界面。图4.8 微控器动态图形调试界面微程序控制器实验的仿真建立在运算器实验仿真的基础上,界面比较复杂,输入信号和数据通路比较多,实验界面力求和上述微程序控制器的动态图形调试界面保持一致。图4.9 Logisim微控器仿真上图是执行输入指令时的Logisim微程序控制器仿真界面。输入的指令为20H,表示从IN单元输入数据到R0寄存器。指令寄存器(IR)存放的是当前指令操作码20H,微地址寄存器中的01H是下条微指令的地址,控制存储器中的007070H是下条微指令的内容,下条微指令要完成取指令功能,即当前指令(20H)已经完成从IN单元到R0寄存器的数据输入,即将开始执行下条指令。微程序控制器实验需要用到时序单元(见图4.9的左下角),前面已经介绍了时序电路的功能,即对主频时钟进行分频,以产生时钟脉冲和节拍信号。时序电路需要提供单节拍、单周期和连续运行等三种时序控制模式。实验箱采用启停控制逻辑和环形脉冲发生器实现时序单元,本次仿真则是采用计数器和多路输出选择器的组合。图4.10 时序单元仿真如图所示,时序单元8有一个主频时钟的输入,计数器对主频时钟脉冲进行计数,并把它分为四个等长的节拍T1、T2、T3和T4。连续运行按钮使计数器不停地循环计数产生连续的CPU周期;单拍/单步模式选择按钮与连续运行按钮不能同时有效,当单拍/单步模式选择按钮有效时,按动单节拍按钮或单周期按钮即可产生一个节拍(如T1)或一个周期的时钟脉冲,其中,单周期按钮的实现也是通过计数器来实现的。微程序控制器中的地址转移逻辑在T4时进行测试判别,当需要转移时,根据机器指令的操作码字段和状态条件及P字段实现对下条指令的微地址的修改。地址转移逻辑仿真电路如图4.11所示。图中的P<1>是分支判断字段,当P<1>为001是表示要产生分支。当T4为上升沿时,指令操作码与P<1>共同作用产生SE6.0。SE0为1,则下条微指令地址MA0保持不变;SE0为0,则MA0取反,SE6.0就是利用这种机制来控制地址的跳转。图中SE6.0的每一位都是1,则MA6.0就是下条微指令的地址,无需跳转。控制存储器是专门用于存放全部指令系统的微程序的只读存储器,它要求读出周期短、速度快,这部分可直接由Logisim基本库中的ROM组件代替。微指令寄存器由微地址寄存器和微命令寄

    注意事项

    本文(XX大学本科学生毕业设计论文.doc)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开