计算机组成原理课程设计-基本模型机的设计--跳转指令的实现.doc_第1页
计算机组成原理课程设计-基本模型机的设计--跳转指令的实现.doc_第2页
计算机组成原理课程设计-基本模型机的设计--跳转指令的实现.doc_第3页
计算机组成原理课程设计-基本模型机的设计--跳转指令的实现.doc_第4页
计算机组成原理课程设计-基本模型机的设计--跳转指令的实现.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学计算机组成原理课程设计说明书学 号: 课 程 设 计题 目基本模型机的设计跳转指令的实现学 院计算机学院专 业物联网工程专业班 级姓 名指导教师2012年1月2日课程设计任务书学生姓名: 专业班级:物联网1001班指导教师: 工作单位:计算机科学与技术学院题 目: 基本模型机的设计跳转指令的实现初始条件: 理论:学完“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”课程,掌握计算机组成原理实验平台的使用。 实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在实验中心硬件平台验证设计结果。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提供的实验平台完成设计任务,从而建立清晰完整的整机概念。2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的程序。3、课程设计的书写报告应包括: (1)课程设计的题目。 (2)设计的目的及设计原理。 (3)根据设计要求给出模型机的逻辑框图。 (4)设计指令系统,并分析指令格式。 (5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产生方法以及微程序入口地址的形成)。 (6)模型机当中时序的设计安排。 (7)设计指令执行流程。 (8)给出编制的源程序,写出程序的指令代码及微程序。 (9)说明在使用软件hkcpt的联机方式与脱机方式的实现过程(包括编制程序中跳转指令的时序分析,累加器a和有关寄存器、存储器的数据变化以及数据流程)。 (10)课程设计总结(设计的特点、不足、收获与体会)。时间安排: 周一:熟悉相关资料。 周二:系统分析,设计程序。 周三、四:编程并上实验平台调试 周五:撰写课程设计报告。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日基本模型机的设计 跳转指令的实现1、课程设计的题目基本模型机的设计跳转指令的实现2、设计的目的及设计原理。2.1课程设计目的此次课程设计的主要目的有:在详细了解所发的资料内容后,根据书本的理论和之前的实践知识,掌握计算机组成原理实验平台的各个单元模块的工作的原理,并了解软件hkcpt的联机、使用方式,是学会规划读/写内存、寄存器、数值计算等功能,要会编写相应的微程序,并在软件hkcpt加以实现。2.2课程设计原理实验系统中模型机的运行是在微程序的控制下进行的,在实验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和与之相配合的时序来完成,即1条机器指令对应一个微程序。这次实验将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能。计算机数据通路的控制将由微程序控制器来完成,cpu从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本实验采用五条机器指令:sub(减法)、add(二进制加法)、sta(存数)、mov(赋值)、jmp(无条件转移)、jc、rrc(循环右移)。3、根据设计要求给出模型机的逻辑框图 其中运算器由2片74l181构成8位字长的alu单元。2片74ls374作为2个数据锁存器(dr1、dr2),8芯插座alu-in作为数据输入端,可通过短8芯扁平电缆,把数据输入端连接到数据总线上。数据输入锁存器dr1的edr1为低电平,并且d1ck有上升沿时,那来自数据总线的数据打入锁存器dr1。同样使edr2为低电平、d2ck有上升沿时把数据总线上的数据打入数据锁存器dr2。4、设计指令系统,并分析指令格式4.1指令系统此次实验涉及的指令有以下几种:mov r1,#data 将立即数data送到寄存器a中mov r0,#data 将立即数data送到寄存器ri中mov a, #data 将立即数data送到寄存器a中jmp addr 跳转到addr处开始执行jcaddr如果有进位(借位)跳转到addr处开始执行rlc a 带进循环左移一位add a,r0将寄存器r0中的数据加到累加器a中sub a,r1将累加器a中的数据减去寄存器r1中的数据sta addr 将寄存器中内容写入存储器中halt 停机指令指令系统如下表:4.2 指令格式一般指令由操作码和操作码组成,如下所示:操作码地址码 此实验所涉及指令的格式如下:mov指令采用双字节指令,其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码及rid7d6d5d4d3d2d1d0第2字节:datajmp指令采用双字节指令,其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码a7a6a5a4a3a2a1a0第2字节:addrjc指令采用双字节指令,其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码a7a6a5a4a3a2a1a0第2字节:addrrlc指令采用单字节指令,其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码add指令采用单字节指令,其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码sub指令采用单字节指令,其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码及rista取数据指令,其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码dataa7a6a5a4a3a2a1a0第2字节:addr停机指令(halt),其格式如下:i7i6i5i4i3i2i1i0第1字节:操作码5设计微程序及其实现的方法5.1微指令格式的设计 在本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多可有24个微操作控制信号,可右微代码直接实现。如果采用多组编码译码,那么24位微代码通过二进制译码可实现个互斥的微操作控制信号。 由于模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式。5.2后续微地址的产生方法 每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。微指令的运行顺序为下地址确定法,即采用计数增量方法,每条微指令执行过后微地址自动加1,指向下下一条微指令地址。例如:确定了一条程序的微程序入口地址位07h,那么当执行完07h这条微指令后微地址加1,指向08h微地址。微地址寄存器由2篇74ls161组成,当模型机在停机状态下,微地址被清零。当实验平台开始运行时,微地址从00h开始运行。且00h放置一条取指指令,根据程序开始地址从内存中读出第一条指令。00取指微指令010203减法指令微程序(1)04减法指令为程序(2)050607mov指令微程序(1)08mov指令微程序(2)09mov指令微程序(3)0a0b0c0d0e0d5.3微程序入口地址的形成 在模型机中,用指令操作码的高4位作为核心扩展成8位的微程序入口地址md0md7,这种方法成为“按操作码散转”(如下表所示)。微程序首地址形成md7md6md5md4md3md2md1md000 i7i6i5i411按操作码散转指令操作码微程序首地址md7、md6i7i6i5i4md1、md0md7md0000001003h000011007h00010100bh00011100fh001001013h001011017h00110101bh00111101fh010001023h010011027h01010102bh01011102fh011001033h011011037h01110103bh01111103fh6模型机当中时序的设计安排6.1主要指令的时序图 1)、由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,微程序的入口地址采用操作码散转方式,微地址采用技术增量方式,所以可确定模型机中时序单元中所产生的每一节拍的作用。 2)、在本实验中,由监控单元产生了一个pls-o的信号来控制时序产生(如下图所示)。pls-o信号经过时序单元的处理产生了4个脉冲信号。4个脉冲信号组成一个为周期,为不同的寄存器提供工作脉冲。它们分别实现的功能是:(1)pls1:微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1.(2)pls2:pc计数器的工作脉冲,根据微指令的控制实现pc计数器加1和重置pc计数器(跳转指令)等功能。(3)pls3:把24位微指令打入3片微指令锁存器。(4)pls4:把当前总线上的数据打入微指令选通的寄存器中。signpls1pls2pls3pls4微指令周期微指令周期pls1 微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。pls2 pc计数器的工作脉冲,根据位置的控制实现pc计数器加1和重置pc计数器(跳转指令)等功能。pls3 把24位微指令打入微指令锁存器。pls4 把当前总线上的数据打入微指令选通的寄存器中6.2 时序变化6.2.1 时序变化图1)初始状态的时序图2)执行jz时的时序图3)执行jc时的时序4)执行jmp时的时序图7设计指令执行流程在每个系统中,一条指令从内存取出到执行完毕,需要若干个机器周期,任何指令周期中都必须有一个机器周期作为“取指令周期”,成为公操作周期。而一条指令共需要几个机器周期取决于指令在机器内实现的复杂程度。 对于微程序控制的计算机,在设计指令执行流程时,要保证每条指令所含有的微操作的必要性和合理性,还要知道总线iab,idb,oab,odb仅是传输信息的通路,没有寄存器信息的功能,而且必须包证总线传输信息时信息的唯一性。例如本次课程设计中用到的取值微指令、add、jmp、rrc、move等指令7.1取值微指令的执行流程在模型机处于停机状态时,模型机的微地址寄存器被清零,微指令锁存器输出无效。在处于停机状态时,脉冲pls1对微地址寄存器无效,微地址寄存器保持为0。脉冲pls2对pc计数器无效,同时pls2把halt=1打入启停单元中的运行状态寄存器中,把模型机置为运行状态,使微程序锁存器输出有效。pls3把微程序存储器00h单元中内容打入微指令锁存器中,并且输出取指微指令。pls4把从程序存储器中读出的数据打入指令寄存器中。 在模型机处于运行状态时,脉冲pls1将微地址寄存器加1,脉冲pls2将pc计数器加1,pls3把微程序存储器中的微指令打入微指令锁存器并且输出。pls4把当前总线上的数据打入当前微指令所选通的寄存器。7.2 add指令的执行流程例如:add a,ri,该指令功能为(a)+(ri)-a,需执行以下微操作:(pc)+1pc ;pc加1,为取下一条指令字节准备(a)dr1 ;累加器a内容送alu(ri)dr2 ;寄存器ri内容送alu(a)+(ri)idba ;使alu执行加法,经idb送入acy ;据加法结果置进位标志(pc)iaboab ;pc计数器内容做访问内存地址(ram)odbidbir1 ;从内存该地址单元读出指令寄存器ir1.此程序由四个微指令周期:1.pc+1为取下条字节准备,累加器a内容送alu的dr1锁存器1. 寄存器ri内容送alu的dr2锁存器2. alu将计算结果送累加器a,据加法结果置进位标志cy3. 取指微指令,从内存读出指令送指令寄存器7.3 jmp指令的执行流程例如:jmp addr,该指令功能为addr-pc,需执行如下操作:(pc)+1pc ;pc加1,为取下一条指令字节准备(ram)odbidbir2 ;取本指令第二字节ir2ir2laboab ;由ir2内容形成转移地址送pc(pc)iaboab ;pc计数器内容做访问内存地址(ram)odbidbir1 ;从内存该地址单元读出指令寄存器ir1此程序由两个微指令周期:1. pc+1从内存中取得指令第2个字节送入ir2.2. ir2内容形成地址转移到pc,从内存中读出指令字节送指令寄存器。7.4 rrc指令的执行流程例如:rrc a,该指令功能是将累加器a中的内容带进位cy循环右移一位,即-cy-a7-a6-a1-a0-,需执行如下微操作:(pc)+1pc ;pc加1,为取下一条指令字节准备 (a)、cya,cy ;控制累加器a带cy右环移一位 (pc)iaboab ;pc计数器内容做访问内存地址 (ram)odbidbir1 ;从内存该地址单元读出指令寄存器ir1此程序由两个微指令周期:1. pc加1,为取下一条指令字节准备,控制累加器a带cy右环移一位2. 取指微指令,从内存中读出指令送指令寄存器7.5 mov指令的执行流程7.5.1双字节指令mov a,#data该指令功能为data-a,需执行如下操作:(pc)+1pc ;pc加1,为取本指令下一字节备 (ram)odbidba;取出本指令第二字节(pc)+1pc ;pc加1,为取下一条指令字节备 (pc)iaboab ;pc计数器内容做访问内存地址 (ram)odbidbir1 ;从内存该地址单元读出指令寄存器ir1.此程序由两个微指令周期:1. pc+1从内存中取得指令第2个字节送入累加器a。2. pc+1执行取指微指令,从内存中读出指令送指令寄存器7.5.2 双字节指令mov ri,#data 该指令功能为data-a,需执行如下操作:(pc)+1pc ;pc加1,为取本指令下一字节备 (ram)odbidbri ;取出本指令第二字节(pc)+1pc ;pc加1,为取下一条指令字节备 (pc)iaboab ;pc计数器内容做访问内存地址 (ram)odbidbir1 ;从内存该地址单元读出指令寄存器ir1此程序由两个微指令周期:1.pc+1从内存中取得指令第2个字节送入寄存器ri。2.pc+1执行取指微指令,从内存中读出指令送指令寄存器8源程序以及程序的指令代码及微程序8.1跳转、转移指令实现的源程序 mov a,#82 rrc a mov a,#32 rlc a mov a,#18 rlc a jz 08 add a,r0 jc 12 jmp 0a mov r1,#42 add a,r1 sta 40 halt208.2 程序的指令序列 00 mov a,#82 02 rrc a; 03 mov a,#32; 05 rlc a; 06 mov a,#18; 08 rlc a; 09 jz 08; 0b add a,r0; 0c jc 12; 0e jmp 0a; 10 mov r1,#42; 12 add a,r1; 13 sta 40; 15 halt; 16 halt; 17 halt; 18 halt; 19 halt; 1a halt; 1b halt; 1c halt; 1d halt; 1e halt; 1f halt;8.3 微指令序列 m23-m0 00 00,00,00 取指指令 01 00,00,00 02 00,00,00 03 00,00,00 a-dbus-dr1 04 00,00,00 ri-dbus-dr2 05 00,00,00 alu-dbus-a 06 00,00,00 取指指令 07 00,00,00 a-dbus-dr1 08 00,00,00 ri-dbus-dr2 09 00,00,00 alu-dbus-a 0a 00,00,00取指指令 0b 00,00,00 ri-dbus-ir2 0c 00,00,00ir2-abus,dbus-a 0d 00,00,00 取指指令0e 00,00,00 0f 00,00,00 ri-dbus-a 10 00,00,00 取指指令 11 00,00,00 12 00,00,00 13 00,00,00 a-dbus-ri 14 00,00,00 取指指令 15 00,00,00 16 00,00,00 17 00,00,00 dbus-a 18 00,00,00 取指指令 19 00,00,00 1a 00,00,00 1b 00,00,00 dbus-ri 1c 00,00,00 取指指令 1d 00,00,00 1e 00,00,00 1f 00,00,00 dbus-ir2 20 00,00,00 ir2-abus,ram-dbus-a 21 00,00,00 取指指令 22 00,00,00 23 00,00,00 dbus-ir2 24 00,00,00 ir2-abus,a-dbus-ram 25 00,00,00 取指指令 26 00,00,00 27 00,00,00 a1 28 00,00,00 取指指令 29 00,00,00 2a 00,00,00 2b 00,00,00 air2 30 00,00,00 ir2-abus,dbus-pc 31 00,00,00 32 00,00,00 33 00,00,00 a-dbus-dr1 34 00,00,00 ram-dbus-dr2 35 00,00,00 alu-a 36 00,00,00 取指指令 37 00,00,00 a-dbus-dr1 38 00,00,00 ram-dbus-dr2 39 00,00,00 alu-a 3a 00,00,00 取指指令 3b 00,00,00 3c 00,00,00 3d 00,00,00 3e 00,00,00 3f 00,00,00 停机9.使用软件hkcpt的实现过程微地址m23-m0数据流程数据总线地址总线操作寄存器00h4dffff取指微指令ram-dbus-ir15fh00hir1=5fh mov a,#82 由两个微指令周期组成17hddfbffdbus-a82h01ha=82h18h4dffff取指微指令ram-dbus-ir19fh02hir1=9fh rrc a 由两个微指令周期组成27hfff1fea141h无效a=41h28h4dffff取指微指令ram-dbus-ir15fh03hir1=5fh mov a,#32 由两个微指令周期组成17hddfbffdbus-a32h04ha=32h18h4dffff取指微指令ram-dbus-ir1afh05hir1=afh rlc a 由两个微指令周期组成2bhffe9efadbus-ir15fh06hir1=5fh mov a,#18 由两个微指令周期组成17hddfbffdbus-a18h07ha=18h18h4dffff取指微指令ram-dbus-ir1afh08hir1=afh rlc a 由两个微指令周期组成2bhffe9efadbus-ir1b3h09hir1=b3h jz 08 由两个微指令周期组成2fhd4ffffdbus-ir208h0ahir2=08h30h4dffffir2-abus,dbus-pc0ch0bhir1=0ch add a,r0 由四个微指令周期组成03hfffcf9a-dbus-dr130h无效dr1=30h04hff7f79ri-dbus-dr2ffh无效dr2=ffh05hfffba9alu-dbus-a2fh无效a=2fh06h4dffff取指微指令ram-dbus-ir1b7h0chir=b7h jc 12 由两个微指令周期组成2fhd4ffffdbus-ir212h0dhir2=12h30h4dffffir2-abus,dbus-pc0dh12hir1=0dh add a,r1 由四个微指令周期组成03hfffcf9a-dbus-dr12fh无效dr1=2fh04hff7f79r1-dbus-dr2ffh无效dr2=ffh05hfffba9alu-dbus-a2eh无效a=2eh06h4dffff取指微指令ram-dbus-ir18fh13hir1=8fh sta 40 由三个微指令周期组成23hd5ffffdbus-ir240h14hir2=40h24hbbfdffir2-abus,a-dbus-ram2eh

温馨提示

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

最新文档

评论

0/150

提交评论