090401010侯佳伟_第1页
090401010侯佳伟_第2页
090401010侯佳伟_第3页
090401010侯佳伟_第4页
090401010侯佳伟_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、辽 宁 工 业 大 学 计算机组成原理 课程设计(论文)题目:一台模型计算机设计与测试 乘法指令流程 院(系): 电子与信息工程学院 专业班级: 计算机091 学 号: 090401010 学生姓名: 侯佳伟 指导教师: 张军 教师职称: 副教授 起止时间:2012-01-02至2012-01-06课程设计(论文)任务及评语院(系): 电子与信息工程学院 教研室:计算机科学与技术学 号090401010学生姓名侯佳伟专业班级计算机091班课程设计(论 文)题 目 一台模型计算机设计与测试乘法指令流程课程设计(论文)任务利用试验箱中的电路模块组合成为一台简单计算机,数据通路的控制由微程序控制器完

2、成,CPU从内存取出一条机器指令到执行指令结束的一个机器指令周期,是由微指令组成的序列完成。主要设计内容:1. 将微程序控制器同执行部件联机,组成一台模型计算机;2. 用微程序控制器控制模型机数据通路;3. 通过CPU运行机器指令,编写加法指令所对应的微程序。要求:1、根据题目和试验箱中的电路模块设计一台简单计算机,并画出电路原理图以及微程序流程图。2、认真独立完成所规定的设计内容(4000字左右),严禁相互抄袭;3、撰写、打印设计说明书一份。指导教师评语及成绩平时成绩: 论文质量: 答 辩: 总成绩 : 指导教师签字: 学生签字: 年 月 日辽 宁 工 业 大 学 计 算 机 组 成 原 理

3、目 录第1章设计方案11.1 引言11.2 总体方案论述1第2章 一台模型计算机的硬件设计32.1 数据通路的设计32.2微程序控制器的设计52.3 模型机的设计与调试8第3章 微程序设计103.1微程序流程图103.2微程序代码的设计与测试10第4章 课程设计总结13参考文献14第1章设计方案1.1 引言综合运用所学的计算机原理知识,通过对一个简单计算机的设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,在此基础上完成一台基本计算机的组成设计,从而加深对理论课程的理解,锻炼学生的独立思考和动手能力。通过计算机组成原理理论课和

4、几次实验的学习,尝试设计1条加法机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下产生各部件单元的正常工作控制信号。在设计基本模型机的实验过程中,个别部件单元的控制信号是人为模拟产生的,而本课程设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序。1.2 总体方案论述(1)对机器指令系统组成的简单程序进行译码。(2)按照下面框图,参考前面实验的电路图完

5、成连线,控制器是控制部件,数据通路(包括上面各模块)是执行部件,时序产生器是时序部件。连线包括控制台、时序部分、数据通路和微程序控制器之间的连接。其中,为把操作数传送给通用寄存器组RF,数据通路上的RS1、RS0、RD1、RD0应分别与IR3至IR0连接,WR1、WR0也应接到IR1、IR0上。 开关控制 控制台 时序发生器 时序信号 开关控制 指示灯信号 控制信号 时序信号 控制信号 微程序控制器 数据通路 指令代码、条件信号 图1.1 系统总体框图(3)将上述任务(1)中的程序机器代码用控制台操作存入内存中,并根据程序的需要,用数码开关SW7SW0设置通用寄存器R2、R3及内存相关单元的数

6、据。注意:由于设置通用寄存器时会破坏内存单元的数据,因此一般应先设置寄存器的数据,再设置内存数据。 (4)用单拍(DP)方式执行一遍程序,列表记录通用寄存器堆RF中四个寄存器的数据,以及由STA指令存入RAM中的数据(程序结束后从RAM的相应单元中读出),与理论分析值作对比。单拍方式执行时注意观察微地址指示灯、IR/DBUS指示灯、AR2AR1指示灯和判断字段指示灯的值,以跟踪程序中取指令和执行指令的详细过程(可观察到每一条微指令)。(5)以单指(DZ)方式重新执行程序一遍,注意观察IR/DBUS指示灯、AR2/AR1指示灯的值(可观察到每一条机器指令)。执行结束后,记录RF中四个寄存器的数据

7、,以及由STA指令存入RAM中的数据,与理论分析值作对比。注意:单指方式执行程序时,四个通用寄存器和RAM中的原始数据与第一遍执行程序的结果有关。(6)以连续方式(DB、DP、DZ都设为)再次执行程序。这种情况相当于计算机正常运行程序。由于程序中有停机指令STP,程序执行到该指令时自动停机。执行结束后,记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。同理,程序执行前的原始数据与第二遍执行结果有关。第2章 一台模型计算机的硬件设计2.1 数据通路的设计数据通路的设计是TEC4计算机组成原理实验系统最有特色的部分。首先它采用了数据总线和指令总线双总线形式,使得流

8、水实验能够实现。它还使用了大规模在系统可编程器件作为运算器和寄存器堆,使得设计简单明了,可修改性强。数据通路位于实验系统的中部。图2.1是数据通路总体图。数据通路主要部件有:1运算器:运算器ALU由一片ispLSI1024(U47)组成,在选择端S2、S1、S0控制下,对数据A和B进行加、减、与、直通、乘五种运算,功能如下:表1 运算器功能表 选 择 操 作 S2 S1 S0 0 0 0 A & B 0 0 1 A & A(直通) 0 1 0 A + B 0 1 1 A - B 1 0 0 A(低4位) X B(低4位)进位C只在加法运算和减法运算时产生。加运算中,C表示进位;减运算中,C代表

9、借位。加、减运算产生的进位(借位)在T4的上升沿送入C寄存器保存。与、乘、直通操作不影响进位C的状态,即进位C保持不变。当ALU_BUS = 1时,运算结果送往数据总线DBUS。加、减运算产生的进位(借位)C与控制台的C指示灯相连。2运算操作数寄存器DR1和DR2,DR1和ALU的B数据口相连,DR2和ALU的A数据口相连。DR1和DR2各由2片74HC298(U23、U24、U21、U22)组成。U23是DR1的低4位,U24是DR1的高4位;U21是DR2的低4位,U22是DR2的高4位。当M1=0 且LDDR1=1 时,在T3的下降沿,DR1接收来自寄存器堆B端口的数据;当M1=1 且L

10、DDR1=1 时,在T3的下降沿,DR1接收来自数据总线D_BUS的数据。当M2=0 且LDDR2=1 时,在T3的下降沿,DR2接收来自寄存器堆A端口的数据;当M2=1 且LDDR2=1 时,在T3的下降沿,DR2接收来自数据总线DBUS的数据。3双端口存储器由一片IDT7132(U36)及少量附加控制电路组成。IDT7132是2048字节的双端口静态随机存储器,本机实际使用256字节。IDT7132两个端口可同时进行读、写操作。在本机中,左端口的数据连接数据总线DBUS,可进行读、写操作,右端口数据和指令总线INS连接,输出到指令寄存器IR,作为只读端口使用。存储器IDT7132有6个控制

11、引脚:CEL#、LRW、OEL#、CER#、RRW、OER#。CEL#、LRW、OEL#控制左端口读、写操作,CER#、RRW、OER#控制右端口读、写操作。CEL#为左端口选择引脚,低有效,为高时禁止左端口操作;LRW为高时,左端口进行读操作,LRW为低时,左端口进行写操作;OER#为低时,将左端口读出的数据放到数据总线DBUS上。CER#、RRW、OER#控制右端口读、写操作的方式与CEL#、LRW、OER#控制左端口读、写操作的方式类似,不过右端口读出的数据放到指令总线上而不是数据总线上。本机设计中,OER#已固定接地,RRW固定接高电平,CER#由CER反相产生。当CER=1 时,右端

12、口读出数据,并放到指令总线INS上;当CER=0 时,禁止右端口操作。左端口的OEL#由LRW经反相产生,不需单独控制。当CEL#=0且LRW=1时,左端口进行读操作;当CER#=0且LRW=0时,在T3的上升沿开始进行写操作,将数据总线DBUS上的数据写入存储器。4址寄存器AR1(U37)和AR2(U27、U28)提供双端口存储器的地址。AR1是1片GAL22V10,具有加1功能,提供双端口存储器左端口的地址。AR1从数据总线DBUS接收数据。AR1的控制信号是LDAR1和AR1_INC。当AR1_INC = 1 时,在T4的上升沿,AR1的值加1;当LDAR1 = 1时,在T4的上升沿,将

13、数据总线DBUS的数据打入地址寄存器AR1。AR2由2片74HC298组成,有两个数据输入端,一个来自程序计数器PC,另一个来自数据总线DBUS 。AR2的控制信号是LDAR2和M3。M3选择数据来源,当M3 = 1 时,选中数据总线DBUS;当M3 = 0 时,选中程序计数器PC。LDAR2控制何时接收地址,当LDAR2 = 1时,在T2的下降沿将选中的数据源上的数据打入AR2。5寄存器IR是一片74HC374(U20)。它的数据端从双端口存储器接收数据(指令)。当LDIR = 1时,在T4的上升沿将来自双端口存储器的指令打入指令寄存器IR保存。指令的操作码部分送往控制器译码,产生各种所需的

14、控制信号。大多数情况下,指令的操作数部分应连到寄存器堆(用户自己连接),选择参与运算的寄存器。在某些情况下,指令的操作数部分也参与新的PC的计算。本实验系统设计了12条基本的机器指令,均为单字长(位)指令。指令功能及格式如表2所示。表2中的X代表随意值,RS1、RS0指的是寄存器堆的B端口选择信号RS1、RS0,RD1、RD0指的是寄存器堆的A端口选择信号RD1、RD0,不过由于运算结果需写回,因此它也同时指WR1、WR0,用户需将它们对应连接。2.2微程序控制器的设计控制器位于本实验系统的中上部,产生数据通路操作所需的控制信号。出厂时,提供了一个微程序控制器,使用户能够进行基本的计算机组成原

15、理实验。在进行流水微程序控制器实验,硬布线控制器实验和流水硬布线控制器实验等课程设计时,用户可设计自己的控制器,部分或者全部代替出厂时提供的控制器。图3是控制器的框图。1控制存储器:控制存储器由5片28C64(U8、U9、U10、U11、U12)组成。28C64是电擦除的可编程ROM,存储容量为8K,本实验系统仅使用了128字节。微指令格式采用全水平型,微指令字长35位。其中顺序控制部分10位:后继微地址mA0mA5,判别标志P0、P1、P2、P3;操作控制字段25位,全部采用直接表示法,用于控制数据通路的操作。2微地址寄存器:微地址寄存器mAR(74HC273)对控制存储器提供微程序地址。当

16、CLR# = 0时,将其复位到零,使微程序从000000B地址开始执行。在T1的上升沿将新的微程序地址mD0mD5打入微地址寄存器mAR。控制台开关SWC直接连到74HC273,作为D6,用于实现读寄存器操作KRR。3跳转开关JUMP:这是一组6个跳线开关(J1)。当用短路子将它们连通时,微地址寄存器mAR从本实验系统提供的微程序地址译码电路得到新的微程序地址mD0mD5。当他们被断开时,用户提供自己的新微程序地址mD0mD5。这样用户能够使用自己设计的微程序地址译码电路。4微程序地址译码电路DECORDER:微程序地址译码电路DECORDER产生后继微程序地址,它由2片74HC32(U2、U

17、3)和2片74HC08(U4、U5)构成。微程序地址译码电路数据来源是: 控制存储器产生的后继微程序地址mA0mA5,控制存储器产生的标志位P0P3,指令操作码IR4IR7,进位标志C,中断请求标志INTQ,控制台方式标志位SWA、SWB。表2 机器指令格式名称助记符功能指令格式R7 R6 R5 R4R3 R2R1 R0加法ADD Rd,RsRd+Rs-Rd0 0 0 0RS1 RS0RD1 RD0减法SUB Rd,RsRd-Rs-Rd0 0 0 1RS1 RS0RD1 RD0乘法MUL Rd,RsRd*Rs-Rd0 0 1 0RS1 RS0RD1 RD0逻辑与AND Rd,RsRd&Rs-R

18、d0 0 1 1RS1 RS0RD1 RD0存数STA Rd,RsRd-Rs0 1 0 0RS1 RS0RD1 RD0取数LDA Rd,RsRs-Rd0 1 0 1RS1 RS0RD1 RD0无条件转移指令JMP RsRs-Pc1 0 0 0RS1 RS0X X条件转移JC D若C=1则PC+D-PC1 0 0 1D3 D2D1 D0停机STP暂停运行0 1 1 0X XX X中断返回IRET返回断点1 0 1 0X XX X开中断INTS允许中断1 0 1 1X XX X关中断INTC禁止中断1 1 0 0X XX X控制台位于TEC4计算机组成原理实验系统的下部,主要由若干指示灯和若干拨动

19、开关组成,用于给数据通路置数、设置控制信号、显示各种数据使用。主要有以下部分组成。1)SW7SW0 数据开关,直接接到数据通路部分的数据总线DBUS上,用于向数据通路中的器件置数。开关拨到上面位置时输出1,拨到下面位置时输出0。SW7是最高位,SW0是最低位。2)K15K0双位拨动开关。开关拨到上面位置时输出1,拨到下面位置时输出0。3)数据指示灯D7D08个红色发光二极管,用于显示数据总线DBUS或者指令寄存器IR的状态。4)地址指示灯A7A08个绿色发光二极管,用于显示双端口存储器的地址寄存器内容。5)微地址指示灯m_A5m_A06个黄色发光二极管,用于显示控制存储器的地址。6)6个黄色发

20、光二极管用于显示P3、P2、P1、P0、IE、C的值。微动开关CLR#、QD、INTR这三个微动开关用于产生CLR#、QD、INTR单脉冲。7)单步、单拍、单指开关DB、DP、DZDB(单步)、DP(单拍)、DZ(单指)是三种特殊的非连续工作方式。表3 控制台指令格式SWCSWBSWA工作方式000PR, 启动程序001KRD,读双端口存储器010KWE,写双端口存储器011KLD,加载寄存器存器堆100KRR,读寄存器堆本次实验系统设计了12条基本的机器指令,均为单字长(8位)指令。指令格式如下:R7 R6 R5 R4 R3 R2 R1 R0指令操作码源操作数目标操作数2.3 模型机的设计与

21、调试程序功能:将存储器 78H 单元和 79H 单元中的数据相乘,将所有的积送入到存储器78H 地址所指的内存单元中。程序实现表:地址指令机器代码00HLDA RO, R258HO1HLDA R1, R35DH02HMUL RO, R124H03HSTA RO, R248HO4HSTP60H首先设置通用寄存器R2、R3的值,使R2=78H,R3=79H。然后从00H地址开始存5个机器代码:11H,22H,33H,44H,55H。在78H存入02H,用于给R0赋初值;在79H存入01H,用于给R1赋初值。用单指的方式执行程序。初值:R0未定,R1未定,R2=78H,R3=79H。存储器,78H单

22、元的内容是02H,79H单元的内容是01H。LDA R0,R2 执行结果:R2=78H,R0=02H。 LDA R1,R3执行结果:R3=79H,R1=01H。MUL R0,R1 执行结果:RO=02H,R1=01H。STA R0,R2 执行结果:78H=02H 5.STP 执行结果: 无变化 第3章 微程序设计3.1微程序流程图3.2微程序代码的设计与测试接线方法:将跳线开关J1用短路子短接。时序发生器的输入TJ1接控制存储器的输出TJ。控制器的输入C姐运算器ALU的C.控制器的输入IR7、IR6、IR5、IR4依次接指令寄存器IR的输出IR7、IR6、IR5、IR4。控制器的输出LDIR(

23、CER)、LDPC(LDR4)、PC_ADD、PC_INC、M4、LDIAR、LDAR1(LDAR2)、AR1_INC、M3、LDER、IAR_BUS#、SW_BUS#、RS_BUS、CEL#、LRW、WRD、LDDR1(LDDR2)、M1(M2)、S2、S1、S0依次与数据通路的对应信号连接。指令寄存器IR的输出IR0接双端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。共6条线。合上电源。按CLR#按钮,使实验系统处于初始状态。设置通用寄存器R2,R3的值令DP=0,DB=0,DZ=0,使实验系统处于连续运行状态。令SWC=0、SWB=1、SWA=1,使

24、实验系统处于寄存器加载工作方式KLD。按CLR#按钮,使实验系统处于初始状态。在SW7SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。将该地址设置为0FFH。按依次QD按钮,将0FFH写入AR0和AR1。在SW7SW0上设置02H,作为通用寄存器R2的寄存器号,按一次QD按钮,则将02H写入IR。在SW7SW0设置78H,作为R2的值。按一次QD按钮,将78H写入指定的R2寄存器。在SW7SW0设置03H,作为通用寄存器R3的寄存器号。按一次QD按钮,则将03H写入IR。在SW7SW0设置79H,作为R3的值。按一次QD按钮,将79H写入IR指定的R3寄存器。设置R2、R3结束,

25、按CLR#按钮,使实验系统恢复到初始状态。存储程序机器代码:本操作中,我们从存贮器地址开始存5个机器代码: 58H、5DH、24H、48H、60H。在存储器78H地址存入02H;在79H地址存入01H。令DP=0,DB=0,DZ=0,使实验系统处于连续运行状态。令SWC=0、SWB=1、SWA=0,使实验系统处于写双端口存储器工作方式KWE。按CLR#按钮,使实验系统处于初始状态。置SW7SW0为00H,按QD按钮,将00H写入AR1。置SW7SW0为11H,按QD按钮,将58H写入存储器00H单元。AR1自动加1,变为01H。置SW7SW0为22H, 按QD按钮,将5DH写入存储器01H单元

26、。AR1自动加1,变为02H。置SW7SW0为33H, 按QD按钮,将24H写入存储器02H单元。AR1自动加1,变为03H。置SW7SW0为44H, 按QD按钮,将48H写入存储器03H单元。AR1自动加1,变为04H。置SW7SW0为55H, 按QD按钮,将60H写入存储器04H单元。AR1自动加1,变为05H。按CLR#按钮,使实验系统恢复到初始状态。用单指的方式执行程序。在SW7SW0上设置00H,作为程序启动地址。控制台方式开关SWC置0,SWB置0,SWA置0,启动程序。DB置0,DP置0,DZ置1,选择执行方式为单指执行。按一次QD按钮,执行00H地址的程序,指示灯显示为00000000。按一次QD按钮,执行01H地址的程序,指示灯显示为00000001。按一次QD按钮,执行02H地址的程序,指示灯显示为00000010。按一次QD按钮,执行03H地址的程序,指示灯显示为00000011。按一次QD按钮,执行04H地址的程序,指示灯显示为00000100。按一次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论