微程序控制器的设计与实现_第1页
微程序控制器的设计与实现_第2页
微程序控制器的设计与实现_第3页
微程序控制器的设计与实现_第4页
微程序控制器的设计与实现_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、微程序控制器的设计与实现一、设计目的1、巩固和深刻理解“计算机组成原理”课程所讲解的原理, 加深对计算机各模块协同工作的认识。2、掌握微程序设计的思想和具体流程、操作方法。3、培养学生独立工作和创新思维的能力,取得设计与调试的 实践经验。4、尝试利用编程实现微程序指令的识别和解释的工作流程。二、设计内容按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、 寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方 式。三、设计具体要求1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、 据掌握的理论写出要设计的指令系统的微程序流程。指令

2、系 统至少要包括六条指令,具有上述功能和寻址方式。2、根据微操作流程及给定的微指令格式写出相应的微程序3、将所设计的微程序在虚拟环境中运行调试程序,并给出测试思 路和具体程序段4、撰写课程设计报告。四、设计环境1、伟福c0p2000型组成原理实验仪,c0p2000虚拟软件。2、vc开发环境或者java开发环境。五、设计方案(1)设计思想编写一个指令系统,根据所编写的指令的功能来设计相应的微程 序。首先利用mov传送指令来给寄存器和累加器传送立即数,实现立 即数寻址;利用寄存器寻址方式,用addc指令对两者进行相加运算; 利用寄存器间接寻址方式,用sub指令实现减运算;利用累加器寻址 方式,用c

3、pl指令实现对累加器寻址;利用存储器寻址方式,用jmp 指令实现程序的无条件跳转。这样,所要设计的指令系统的功能就全 部实现了。(2)微指令格式采用水平微指令格式的设计,一次能定义并执行多个并行操作微命令 的微指令,叫做水平型微指令。其一般格式如下:控制字段判别测试字段下地址字段按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型 (不译法)微指令,字段译码法水平型微指令,以及直接和译码相混合 的水平型微指令。(3)24个微指令的意义c0p2000模型机包括了一个标准cpu所具备所有部件,这些部件 包括:运算器alu、累加器a、工作寄存器w、左移门l、直通门d、右 移门r、寄存器组r0

4、-r3、程序计数器pc、地址寄存器mar、堆栈寄存 器st、中断向量寄存器ia、输入端口in、输出端口寄存器out、程序 存储器em、指令寄存器ir、微程序计数器upc、微程序存储器um,以 及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳 转控制电路用cpld来实现,其它电路都是用离散的数字电路组成。 微程序控制部分也可以用组合逻辑控制来代替。模型机为8位机,数 据总线、地址总线都为8位,但其工作原理与16位机相同。相比而言8 位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。模型机的指令码为8位,根据指令类型的不同,可以有0至吆个 操作数。指令码的最低两位用来选择ro

5、-r3寄存器,在微程序控制方 式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的 微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控 制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期 为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的 各种功能。模型机有24位控制位以控制寄存器的输入、输岀,选择 运算器的运算功能,存储器的读写。24位控制位分别介绍如下: xrd :外部设备读信号,当给出了外设的地址后,输出此信号,从 指定外设读数据。emwr:程序存储器em写信号。emrd:程序存储器em读信号。pcoe:将程序计数器pc的值送到地址总线abus上。em

6、en:将程序存储器em与数据总线dbus接通,由emwr和emrd决 定是将dbus数据写到em中,还是从em读岀数据送到dbus。iren:将程序存储器em读出的数据打入指令寄存器ir和微指令计 数器upc。eint:中断返回时清除中断响应和中断请求标志,便于下次中断。elp: pc打入允许,与指令寄存器的ir3、ir2位结合,控制程序跳 转。maren:将数据总线dbus上数据打入地址寄存器mar。maroe:将地址寄存器mar的值送到地址总线abus上。outen:将数据总线dbus上数据送到输出端口寄存器out里。sten:将数据总线dbus上数据存入堆栈寄存器st中。rrd:读寄存器

7、组r0-r3,寄存器r?的选择由指令的最低两位决定。rwr:写寄存器组r0-r3,寄存器r?的选择由指令的最低两位决定。cn:决定运算器是否带进位移位,cn二1带进位,cn二0不带进位。fen:将标志位存入alu内部的标志寄存器。x2:x2、xi、x0三位组合来译码选择将数据送到dbus上的寄存器。如下表所示:x2xix0输出寄存器0 0 0tn oe外部输入门0 0 1ia oe中断向量0 1 0st oe堆栈寄存器0 1 1pc oepc寄存器1 0 0d oe直通门1 0 1r oe右移门1 1 0l oe左移门1 1 1没有输出wen:将数据总线dbus的值打入工作寄存器w中oaen:

8、将数据总线dbus的值打入累加器a中。通过s2,s1,so来选择运算数据由寄存器a及寄存器w给出,运算结果输出到直通门d。如下表所示:s2siso功能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 0aa取反1 1 1a输出a(4)微程序的设计一共设计七条微程序,如下:mov ro, #55h立即数寻址,数据传送mov a, #33h立即数寻址,数据传送mov r0, a将a的值存入以r0为地址的内存单元addc a, ro寄存器寻址,带进位加sub a, r0寄存器间接寻址,减运算cpl a累加器

9、寻址,求反jmp 0存储器寻址,无条件跳转在c0p2000中的设计如下所截图:指令系统| um微程序|跟踪 |助记符1机器玛1机器玛2|机器玛3|注释-patch.ooooooxx00 -03实验机占用 > 不可修改。复闵mov人#11ooooo1xx04 -07iimovru #110000loxx08 -0biimovr? a000011xxoc -ofaddca, r?ooolooxx10 -13sub人r?ooololxx14 -17cpla0001loxx18 -ibjmpmm0001llxx1c -ifmmooloooxx20 一23未使用=4 一 这七条指令的流程图如下:3

10、) mov r?, a1) mov a, #112) mov r?, #114) addc a, r? (5) subb a, r?6) cpl apctabuspc+1r? twpcpabuspc+1r? tmarpcpabuspc+1atalu(a取反)alutaa+wpalualutav7) jmp mm(5)详细设计 下面详细分析每条程序的设计: 1、_fatci1_只用一个周期状态,程序执行的第一条取指的微指令该指令为一个周期状态,to状态的设计及可控制信号如下:2、 mov a, #11该指令为两个周期状态t1状态的设计及可控制信号如下:助记符状态徵地址徴程序|数据输岀数据打入地址

11、输岀运算器|移位控制|upc pchov人 #11t104c7fff7 存!t器值em寄存器apc输岀踹岀+1 +1xrdemwremrdpcoeemen iren eintelpmaren maroe outen stenredrwrchfenx2xixowenaens2sisoprrr09v pprrto状态的设计及可控制信号如下:助记符庆态微地址微程序1数话输岀数话打人地址输岀匡篡器裕位徑制|upcpc |to05cbffff浮空指令寄存器irpc输岀瞒岀 a 写入+1xrd emwr emrd pcoe emen iren eiht elp nareh maroe outek sten

12、 red rnr cn fen x2 xi xo wen aeh s2 si so|77 厂蔽厂|7 |7 77 17|77|7i7|73、mov r?,#ii该指令为两个周期状态,t1状态的设计及可控制信号如下:助记符状态徴地址微程序|数据输岀|数费打入他址输岀1运算器移位控制upc pcmovr?, #11t108c7fbff存忙器值em寄存器r?pc输岀1腌岀+1 +1m emvr emrd pcoe emen iren el肛 elp marek maroe outen steh rrd rwr cn fek x2 xi xo hn aen s2 si so p p l |7 仏 |7

13、"7 77 7“ v j "“to状态的设计及可控制信号如下:助记符状态徽地址徽程序辭输岀数据打入地址输岀运算器移位控制|upcpct009cbffff浮空指令寄存劉r谕岀臨岀写入+1xrd emwr eio pcoe ehen iren eint elpmaf£n maroe outen sten fjhrhcnfenx2xixoyei aens2sisovp 厂v 厂 pv |7 7 v 7 v77v77|77 7|7|74、mov r?,a该指令为三个周期状态,t2状态的设计及可控制信号如下: 指令系统训瞬序|跟踪|w状态徽地址徽程序|数跚岀|数据打入|地址

14、输岀1运算器移位控制upc pcmovr?, at2ocff77ff寄存器值r?地址寄存器marj浮空踰岀+1t1状态的设计及可控制信号如下:助记符状态徴地址徽程序|数ii输岀数据打入地止输岀运算器移位控制upc |pc |t1odb7bf9f alu直通menma1瀚岀爛岀+1x2xixo wen aeh s2si so|7p|7|7|7m ebr emrd pcoe emen iren eint elp haren maroe outen stek rrd rhr cn fen|7|7i7|7|7|7pto状态的设计及可控制信号如下:助记符状态徴地址徴程序数据输岀数据打入地址输岀运算器移位

15、控制upcpcto0ecbffff浮空指令寄存器irpc输岀爛岀写入+1xrd m emrd pcoe emen iren eibt eli maren maroe outen ste1i rrd rwr cn fenx2 xi xo wen aeh s2 si so|7 fp f p ppf7|7p|7fppfp|7p|7r|75、addc a, r?该指令为三个周期状态,t2状态的设计及可控制信号如下:助记符ifcs徽地址徴程序|瞬输岀|齬打入地址输岀运算器移位控制upcpcaddca, r?t210fff7ef寄存器值的寄存黜浮空聯岀+1xrd emwr emrd pcoe emen i

16、reh el heit mare1i maroe outen sten red m ch feh x2 xi xo w aen s2 si sot1状态的设计及可控制信号如下:助记符状态徴地址微程序槻据输用数揭打入地址输岀运算器移位控制upcpct111fffe94alus®寄存器a标志位c,z浮空带进位加运算+1xrd emwr emrd pcoe emen iren eint elpmaren maroe outen sten rrd rwr cnfen x2xi xo venaen s2si sori7ppfffp ppppfi7pf|7 fto状态的设计及可控制信号如下:助记

17、符状态微地址徴程序|齬输岀数据打入地址输岀运算器移位控制兀|t012cbffff浮空指令寄存器irfc输出瞒岀写入+1xrd ehwr enrd pcoe emeh irenel肛 elpmaren maroe outen steh redorchfenx2xixomaens2sisom p 17 “7 |7 7 717v|77/77/717v6、sub a, r?该指令为四个周期状态,t3状态的设计及可控制信号如下:助记符状态撒地址徴程序数据箱岀数据打入地址输岀运諜移位控制upcpcsub人 0r?t314ff77ff寄存器值r?地址寄存器mar浮空爛岀+1xrd m emrd pcoe e

18、meh iren eint elp maren maroe outen steh rrd rtfr cn fen x2 xi xo wen aen s2 si sopppp"嚴|7 7 |77 |7 /|7#|77卩177|7t2状态的设计及可控制信号如下:助记符状态徽地址徴程序|数跚岀鱷打入|地址输岀运算器移位控制|upc |pc it215d7bfef存贮器值拠寄存劉躺出爛出+1xrd ebr ehrd fcoe eiien iren eint eumaben haroe ouiek sie1irrdrfficnfen12 xi xo 删 aer s2 si sopm卩卩&quo

19、t;0 f |7 |7 p177/t1状态的设计及可控制信号如下:助记符状态徴地址徽程序|数描础数括打入地址输岀运算器移位控制upcpct116fffe91alu1s寄存器a标志位c, z浮空减运算+1xrd emtfr emrd pcoe emen iren eint elf haren maroe outen sten red rwr cn fenx2xi x0 wen aen s2 si so|7|7|7|7f/p|7n7|7vto状态的设计及可控制信号如下:助记符状态微地址徴程序|晡岀|数据打入地址输岀|运鱷移位控制upc |pct017cbffff浮空指令寄存器irpc输岀爛岀写入+

20、i xrd emwr emrd pcoe enen iren edit elp maren maroe ovten sten rrii or cn fewx2xi x0 m aen s2 si sor /i7pi77r/f/f/v|7f7|7|7|77、cpl a 该指令为两个周期状态,t1状态的设计及可控制信号如下:助记符状态徴地址徴程序|数据输岀1数据打入1地址输出1运算器|移位控制|upc |pccplat118fffe96 aluia寄存器a标志位c,z浮空諏反+1 xrd m emrd pcoe ehen iren eint elpmaren maroe outen sten rrd

21、rwrchfen x2xi x0 maen s2siso7|7|7|7|7|7pp f |7 |7 f f|7|7|7|7|7fto状态的设计及可控制信号如下:助记符状态徽地址微程序|数据输出数据打入地址输岀运算器移位控制fcto19cbffff浮空指令寄存器irpc输岀聯出写入+1xrd emb emm pcoe emen iren el肛 elp maren maroe outeh sten rrd rwr ch fehx2 xi x0 wen aen s2 si sop |7|7|7 |7 pffpi7pi7i7fffi7rfpf7. jmp mm 该指令为两个周期状态,t1状态的设计及

22、可控制信号如下:助记符状态徴地址徴程序|数据输出1数据打入1地址输出|运算銀|移位控制|upc |pc |jmfmmt11cc6ffff存贮器值em寄存器fc fc输岀聯岀+i写入xrd ehvr eio pcoe ehen iren eint elp maren maroe outen sten rm rwr ch fenx2 xi x0 wen aeh s2 si so|7 77 p f7|7f777f57|77p7p|7|7|7|7pto状态的设计及可控制信号如下:助记符状态徽地址徴程序|数摇输岀数据打入1地址输岀运算需移位控制upcpcto1dcbffff浮空-亠指令寄存器irfc输岀

23、、亠a爛岀 a 1 写入+1xku £mku riue emen hlfll elf makew makue uuten 5ten kku ok um m 赵 xi xu m aem 5251 5uv m 厂厂 p 厂 p v 7 7 |7 7 7/ 7|7“ j7 7 p v " 7六、调试过程七条指令编写完成以后,选择菜单文件丨保存指令系统/微程序 功能,将新建的指令系统/微程序保存下来,以便以后调用。将新的 指令系统/微程序保存为"inst33. ins"。在c0p2000的asm窗口中输 入以下几行源程序:mov a, #66hmov ro,#3

24、3hmov r0, aaddc a, rosub a, r0cpl ajmp 0将程序另存为new_inst33. asm,将程序汇编成机器码,观察反汇编 窗口,会显示出程序地址、机器码、反汇编指令。发现程序代码颜色 会发生改变,点击复位按钮后进行单微指令的测试,如下图所示asm 微程序如下:反匚编 noname33. asmmoumour09 t»33hmouaaddca ,r0subq ,r0cplrjmpoem程序|显示出程序地址、机器码、反汇编指令如下图所示:程序地址机器码反汇编指令指令说明000466mova, #66020833movr0, #3304ocmovr0, a

25、0510addca, r00614suba, r00718cpla081c00jmp00(1)微指令运行结果1)mov a,#66h测试结果如图:结询el e示帮助逻辑分析说明立即数66已经写入累加器a中。2) mov ro, #3311测试结果如图:结构閣副示帮助逻辑分析pc:04mar:33ir:08lackrt1 rto de: us: 33 iabus:03ibus:33说明立即数33已经写入寄存器r0中。3) mov ro,a测试结果如图:说明累加器中a的直66已经写入以r0为地址的内存单元中。4) addc a, ro测试结果如下:结初囹g示帮助逻辑分析先将r0中的33传送的w中。

26、结龍酥帮助逻辑分析将a与w通过alu相加的到99,并把结果通过直通门返回到累加器a 中。5) sub a, r0测试结果如下:先将ro的地址读出并送入地址寄存器mar中。结构圉图示帮助逻辑分析mar将地址输出到abus, em读岀该地址的数据并将该数据66传送到w中。结构图e示帮助逻辑分析a与w通过alu相减得33,得到的结果通过直通门返回到累加器a中。6) cpl a 累加器寻址,求反结果如下:7) jmpp 0测试结果如下:结构el图示帮助逻辑分析a:ccw:66pc将地址输出到abus, em将值为0打入回pc,说明下条指令从0地 址开始运行。(2)出现问题与解决方案1)程序在运行完中间某个指令后自动

温馨提示

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

评论

0/150

提交评论