基本模型及设计与实现_第1页
基本模型及设计与实现_第2页
基本模型及设计与实现_第3页
基本模型及设计与实现_第4页
基本模型及设计与实现_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理课程设计报告书题目基本模型机的设计与实现系别 信息工程系 专业 软件技术 班级 2010025201 姓名 卢德强 学号 201002520119 指导老师 刘登峰 2011年7月1日目录一、课程设计目的1二、实验内容21、实验原理22、微代码定义如下:43、微程序流程图如下所示:44、本实验设计机器指令程序如下7三、二进制微代码表设计8四、实验步骤9、线线路连接图9、写程序93、运行程序104、内部寄存器选择电路:11五、心得体会:11六、参考文献12一、课程设计目的1. 在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。2. 为其定义五条机器指令,并编

2、写相应的微程序,具体上机调试掌握整机二、实验内容1、实验原理部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本实验采用五条机器指令:IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移)。其指令格式如下(前四位为操作吗):内容(二进制) 助记符 说明0000 0000 IN 输入设备上的数据送到R0 0001 00

3、00 ADD addr R0+addr R0 0010 0000 STA addr R0 addr 0011 0000 OUT addr addr BUS 0100 0000 JMP addr addr PC其中IN为单字长(8位),其余为双字长指令。, 为add为对应的二进制地址码为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。存储器读操作(KRD):拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START微动开关,可对RAM连续手动读操作。存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA为“01”时,按

4、START微动开关,可对RAM进行连续手动写入。启动程序:拨动总清开关CLR后,控制台开关SWB、SWA置为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:SWB SWA 控制台指令001011读内存(KRD)写内存(KWE)启动程序(RP)系统涉及到的微程序流程见下图,当拟定“取址”微指令时,该微指令的判别测试字段为P(1)测试。由于“取址”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固

5、定微地址单元。地址总线IR(74273)R0(374)R0-BLDR0DR1(74273)LDDR1DR2(74273)LDDR2ALU(74181)OUTPUT微控器时序LDIRLDADLDPCPC(74161)AR(74273)LDARCPUMEM(6116)W/RCS0CS1CS2W/RCECEINPUTCECELED-BW/RSW-B数据总线ALU-BPC-BMCN数据通路图S3S2S1S02、微代码定义如下:24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWEA9A8 A BCuA5uA4uA3uA2uA1uA01211

6、10选择000001RS-B010RD-B011RI-B100299-B101ALU-B110PC-B151413选择000001LDRi010LDDR1011LDDR2100LDIR101LOAD110LDARA字段 B字段 C字段987选择000001P(1)010P(2)011P(3)100P(4)101AR110LDPCA9A8选择00输入设备01存储器10输出设备11 系统涉及到的微程序流程见下图,当拟定“取址”微指令时,该微指令的判别测试字段为P(1)测试。由于“取址”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前4位(IR7-IR4

7、)作为测试条件,出现5路分支,占用5个固定微地址单元。控制台操作为P(4)测试,它以控制台开关SWB、SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用一个微地址单元随意填写。3、微程序流程图如下所示:PCARPC+1 01(DR1)+(DR2)R0R0DR1RAMBUSBUSDR2DR1LEDRAMBUSBUSDR1R0BUSBUSRAM(DR1)+(DR2)R0R0DR1RAMBUSBUSDR2RAMBUSBUSARPCARPC+1RAMBUSBUSR0RAMBUSBUSPCRAMBUSBUSARRAMBUSBUSARRA

8、MBUSBUSARR0ARPCARPC+1PCARPC+1PCARPC+1PCARPC+1SWR0 02RAMBUSBUSIR 10P(1)IN ADD STA OUT JMP SUB 10 11 12 13 14 15 03 07 16 26 3101 04 37 17 32 01 05 25 3306 34 01 35 0136 注:微地址采用八进制 01控制台 00 P (4)PCAR, PC+1,RAMBUS,BUSDR1, PCAR, PC+1,RAMBUS,BUSDR1, DR1RAM,DR1LED, 20 KWE(01) KRD(00) KRP(11) 21 20 23 24 2

9、2 01 30 27(DR1)-(DR2)R0R0DR1RAMBUSBUSDR2(DR1)+(DR2)R0 当全部微指令设计完毕后,应将每条伪指令代码化,在微控制器试验中我们已经将所有微指令写入了控制存储器.下面介绍指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令当执行一条指令时,先把它从内存取到缓冲器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P(1),通过节拍脉冲T4的控制以便识别要求的操作.“指令译码器”(实验板上边有“INS DECODE”的芯片)根据指令中的操作码译码强置微控制器单元的微地址,使下一

10、条微指令指向相应的微程序首地址。我们的试验有两种外部I/O设备,一种是二进制代码开关,它作为输入设备();另一种是数码块,它作为输出设备()。例如:输入时,二进制开关数据直接经过三台门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到数据总线上,当写信号()有效时,将数据打入输出锁存器,驱动数码显示。4、本实验设计机器指令程序如下:地址(二进制) 内容(二进制) 助记符 说明0000 0000 0000 0000 IN “INPUT DEVICE” R0 0000 0001 0001 0000 ADD 0AH R0+0AH R00000 0010 0000 1010 000

11、0 0011 0010 0000 STA 0BH R0 0BH0000 0100 0000 1011 0000 0101 0011 0000 OUT 0BH 0BH LED0000 0110 0000 1011 0000 0111 0100 0000 JMP 00H 00H PC0000 1000 0000 0000 0000 1001 xxxx xxxx自定义0000 1010 0000 00010000 1011 求和结果三、二进制微代码表设计微地址S3 S2 S1 S0 M CN WE A9 A8A BCUA5UA0 0 00 0 0 0 0 0 0 1 10 0 00 0 01 0 0

12、0 1 0 0 0 0 0 10 0 0 0 0 0 0 1 11 1 01 1 01 1 0 0 0 0 0 1 0 0 20 0 0 0 0 0 0 0 11 0 00 0 00 0 10 0 1 0 0 0 0 30 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 0 0 0 40 0 0 0 0 0 0 0 10 1 10 0 00 0 00 0 0 1 0 1 0 50 0 0 0 0 0 0 1 10 1 00 0 10 0 00 0 0 1 1 0 0 61 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 1 0 70

13、0 0 0 0 0 0 0 11 1 00 0 00 0 00 1 1 1 1 1 1 00 0 0 0 0 0 0 0 00 0 10 0 00 0 00 0 0 0 0 1 1 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 1 1 20 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 1 1 1 1 30 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 1 1 1 0 1 40 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 1 0 1 50 0 0 0 0 0 0 1 11 1

14、 00 0 10 0 00 1 1 0 0 1 1 60 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 1 1 1 1 1 70 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 0 1 2 00 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 0 1 0 2 10 0 0 0 0 0 0 1 11 1 01 1 01 1 00 1 0 1 0 0 2 20 0 0 0 0 0 0 0 10 1 00 0 00 0 00 1 0 1 1 1 2 30 0 0 0 0 0 0 1 10 0 00 0 00 0 00 0 0

15、0 0 1 2 40 0 0 0 0 0 0 0 00 1 00 0 00 0 00 1 1 0 0 0 2 5 0 0 0 0 0 1 1 1 00 0 01 0 10 0 00 0 0 0 0 1 2 60 0 0 0 0 0 0 0 11 0 10 0 01 1 00 0 0 0 0 1 2 70 0 0 0 0 1 1 1 00 0 01 0 10 0 00 1 0 0 0 0 3 00 0 0 0 0 1 1 0 10 0 01 0 10 0 00 1 0 0 0 1四、实验步骤、线线路连接图B7B0BUS UNITW/R UNITT4T3T2T1TS4TS3TS2TS1 H24SI

16、NGAL UNITSTATE UNITB7B0AUJ3B7B0B7B0 ADJ6ALU UNITS3CNLDDR1LDDR2ALU-BS3.CNLDDR1LDDR2ALU-BM24.M19LDDR1LDDR2ALU-BWEM18SE6.SE1P(1)P(4)SE6.SE1P(1)P(4)SWASWBSWASWBSWITCH UNITI7I2LOG UNITLDIRLDIR INS UNITLDR0R0-BLDRiRs-BREG UNITLDARLDADPC-BLDPCLDARLDADPC-BLDPCMICRO-CONTROLLERM16M17A8A9D0D7SW-B Y0Y1Y2D7D0EX

17、UNITMAIN UNITD7D0AD7AD0A7A0D7D0W/RW/RW/RLED-BCE EXT BUS OUTPUT DEVICEINPUT DEVICEADDRESS UNITD0D7I7I2、写程序采用手动写入的方式:、现将机器指令对应的微代码正确的写入到中,由于在微程序控制实验中已将微代码写入芯片中,对照表4-2再对照一遍,并将错误的指令修改过来。B、使控制台KEW和KRD微程序进行机器指令程序的装如何检查。a、使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。B、微地址寄存器清零。然后使控制台SWB、SWA开关置为“01”,按动一次启动开关ST

18、ART,微地址显示“010001”(八进制21)在按动一次START开关,微地址显示“010100(24),此时数据开关的内容只为要写入的机器指令,连续两次按下STTART开关后,即完成该条指令的写入。仔细阅读KWE的流程,不难发现:机器指令的首地址总清后为零,以后每个循环PC会自动加一。所以,每次按动,只有在微地址灯显示“010100”(24)时,才置内容,直到所有的机器指令写完。C、校验,这是学完程序后必须进行的一个擦作。先对位地址进行清零(拨动清零开关CLR 1 0 1)。Pc程序计数器清零,然后使控制台开关SWB、SWA位“00”,按动启动开关,微地址灯显示“010010”(22),第

19、三次按下START,微地址灯显示位“010111”(27),再按动START后,此时输出单元的数码管显示为该首地址中的内容。不断按动 开关,以后每个循环PC会自动加1,可检查后续单元内容。每次在微地址灯显示位“010000”时,是将当前地址指令写入到输出设备中显示。3、运行程序A使“STATE UNIT”中的STEP开关置于“EXEC”状态,STOP开关置为“RUN”状态。B拨动总清零开关CLR( 1 0 1),对伪指令和程序计数器清零。程序首地址00H。然后按动START,系统连续运行程序,稍后将STOP拨至 “STOP”时,系统停机。C停机后,可检查存数单元(0BH)结果是否正确。4、内部

20、寄存器选择电路:五、心得体会:经过两个下午的努力终于把计算机组成原理的课程设计搞定了,通过这次课程设计,我对计算机内部元件的工作原理里有了更进一步的认识和了解。许多东西以前不太懂的,在课程设计中彻底暴露出来才知道自己的知识的缺乏,不过通过这次课程设计我把这些明显的漏洞补上了,我以前对机器指令及微指令计算机各部件和工作原理都不是很了解,为了搞懂这些我又把课本翻了一遍复习了相关的章节。但是虽然理论学会了实际操作还是有问题比如说:微指令检查了两遍也没把所有的错误找出来到了第三次才把所有的指令错误找出来接线还把一根接漏针像老师说的做事不认真是不行的认真了还要加上细心我就是不够细心所以才会差生错误不过在老师的指导下还有自己的不懈努力这些问题最后都迎刃而解了。这次的课程设计题目是基本模型机的设计与实现,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。并为其定义

温馨提示

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

评论

0/150

提交评论