计算机组成原理课程设计 基本模型机设计与实现_第1页
计算机组成原理课程设计 基本模型机设计与实现_第2页
计算机组成原理课程设计 基本模型机设计与实现_第3页
计算机组成原理课程设计 基本模型机设计与实现_第4页
计算机组成原理课程设计 基本模型机设计与实现_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理课程设计课程设计名称:计算机组成原理设计项目名称:基本模型机设计与实现 专 业:计算机科学与技术班 级: 计科1152014年6月13日一、课程设计的教学目的 本课程设计的教学目是在掌握计算机系统的组成及内部工作机制,理解计算机各功能部件工作原理的基础上,进一步加深计算机系统各模块间相互关系的认识和整机的概念,在设计实践中提高应用所学专业知识分析问题和解决问题的能力。学会微程序的设计方法,进一步掌握微程序控制器的工作原理,并体会设计方案的优劣对性能发挥的重要性,培养科学研究的独立工作和创新能力,取得设计与调试的实践经验。二、课程设计任务和基本要求本课程设计以TDN-CM+计算机组

2、成原理教学实验系统为平台设计完成。1. 按给定的数据格式和指令系统,设计一个微程序控制器。2. 设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的为指令代码。3. 连接逻辑电路完成启动,测试,编程,测试,效验和运行,并观测运行过程及结果。4. 将微程序控制器模块与运算器模块,存储器模块联机,组成一台模型计算机。5. 用微程序控制器控制模型机的数据通路。6. 通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。7. 按指定的应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功

3、能的微程序.在PC机上编辑机器指令和微程序,装载代码到TDN-CM+实验系统并运行,实现应用要求。三、设计任务及分析:(1)设计任务: 从输入设备读取数据X并将其存入以A为间接地址的内存单元,将X与R0.寄存器中的内容Y执行X,结果送到以B为直接地址的内存单元保存。(2)分析: A:给R0寄存器直接置入01H. B:从数据开关给间接地址为0CH的内存单元置数,(03H). C:给R0中的内容取反,结果存在R0中. D:将间接地址0CH中直接地址0EH中的内容(03H)放入DR1中, R0中的内容放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R0中. E:将R0中的内容存在直接地址为

4、0DH的内存单元中.四、设计原理在部件实验中,我们是人为用二进制开关模拟一些控制信号来完成数据通路的控制。而在本课程设计中,数据通路的控制将由微程序控制器来完成。计算机从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。本设计的机器指令程序如下:地址(二进制) 内容(二进制) 助记符0000 0000 0000 0000 STA R0,01H 0000 0001 0000 00010000 0010 0001 0000INR0,0CH;0000 0011 0000 11000000 0100 0010 0000NOTR0;0000 0

5、101 0011 0000XORR0,0CH;0000 0110 000011000000 0111 0100 0000 MOV 0DH,R0;0000 1000 0000 11010000 1001 0101 0000OUT 0DH;0000 1010 0000 11010000 1011 0110 0000 HLT;数据区:0000 1100 0000 11100000 1110 0000 00000000 1101 0000 0000本设计的汇编指令如下:指令 注释STA R0,01H; 将01H存在寄存器R0中IN 0CH; 给间接地址为0CH的内存单元单元中置数NOT R0; 给R0

6、中的内容取反XORR0,0CH;将间接地址为0CH的内存单元的内容和寄存器R0中的内容执行 异或运算,结果存入寄存器R0MOV0DH , R0;将寄存器R0中的内容存入直接地址为0DH的内存单元中OUT0DH ;输出0DH中的内容HLT;停机为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了三个控制台操作微程序。存储器读操作(KRD):拨动总清开关CLR后,当控制台开关SWB、SWA置为“00”时,按START微动开关,可对RAM进行连续手动读操作。存储器写操作(KWE):拨动总清开关CLR后,当控制台开关SWB、SWA置为“01”时,按START微动开关,可对RAM进

7、行连续手动写入。启动程序:拨动总清开关CLR后,当控制台开关SWB、SWA置为“11”时,按START微动开关,即可转入到第01号“取指”微指令,启动程序运行。上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如表1:表1 SWB SWA 控制台指令 0 0 读内存(KRD ) 0 1 写内存(KRD ) 0 1 启动程序(RP)根据以上要求设计数据通路框图如图1所示。图1 数据通路框图微指令格式如表2所示。当微指令格式确定以后,下一步就是确定后续微指令地址。通常的方法是先确定微程序分支处的微地址,因为微程序分支处需要进行判断测试。这些微地址确定以后,就可以在一个“微地址表”中将分

8、支微指令填入相应得分支地址单元,避免以后的设计中因重复使用而造成错误。对于其它位置就可以按一条微指令对应一个微地址随意填写。表2 微指令格式24232221201918171615 14 1312 11 109 8 7654321S3S2S1S0MCnWEA9A8ABCA5A4A3A2A1A0A字段B字段C字段151413选择121110选择987选择000000000001LDRi001RSB001P(1)010LDDR1010RDB010P(2)011LDDR2011RIB011P(3)100LDIR100299B100P(4)101LOAD101ALUB101AR110LDAR110PC

9、B110LDPC按照数据通路可画出机器指令的微程序流程图如图2所示。当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P(1)的测试结果出现多路分支。本机用指令寄存器的前4位(IR7-IR4)作为测试条件,出现5路分支,占用5个固定的微地址单元。当全部微指令设计完毕后,应将每条微指令代码化,表3即为将图2微程序流程图按微指令格式转化而得到的“二进制代码表”。表3 二进制微代码表微地址S3 S2 S1 S0 M CN WE A9 A8ABCA5A00 00000000110000001000100000 1000000011110

10、1101100000100 20000000011000000010010000 30000000010010000000000010 4000000001110 0000000001010 50000000011100000000001100 60000000000100000000001110 70000011010001010000000011 00000000111101101100000111 10000000111101101100001001 20000000110110010000011111 3000000011110110 1100101011 40000000111101

11、101100111001 50000000111101101100111101 60000000110000000000011101 70101100110011010000000012 00000000111101101100100102100000001111011011001010022000000001010000000010111230000000110000000000000012400000000001000000001100025000000001110000000010110260000000011100000000110012700000111000010100001000

12、03000000110100010100001000131000000001010000000011010320000000110110010000110113301101001100110100000000134000000001110000000011101350000001010000010000000013600000000111000000001111137000000001010 00000010000040000001110000101000000001指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划

13、分为操作码和地址码字段,由二进制数构成。为了执行任何给定的指令,必须对操作码进行测试P(1),通过节拍脉冲T4的控制以便识别所要求的操作。“指令寄存器”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码结果强置微控器单元的微地址,使下一条微指令指向相应得微程序首地址。本系统使用两种外部设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是数码管,它作为输出设备(OUPUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出的数据送到数据总线BUS上,当写信号(W/R)有效时,将数据

14、打入输出锁存器,在数码管显示。五、操作步骤1. 按图3连接实验电路2. 联机写程序按照规定格式,将机器指令及微指令二进制代码表(如表4)编辑成十六进制的文件。机器代码:$P0000$P0101$P0210$P030C$P0420$P0530$P060C$P0740$P080D$P0950$P0A0D$P0B60$P0C0E$P0D00$P0E00微指令格式:$M00018110$M0101ED82$M0200C048$M03009001$M0400E005$M0500E006$M06002007$M07068A01$M0801ED83$M0901ED84$M0A01B20F$M0B01ED95

15、$M0C01ED9C$M0D01ED9E$M0E01800E$M0F599A01$M1001ED92$M1101ED94$M1200A017$M13018001$M14002018$M1500E016$M1600E019$M17070A10$M18068A11$M1900A01A$M1A01B21B$M1B699A01$M1C00E01D$M1D028201$M1E00E01F$M1F00A020$M20070A013联机运行联机运行程序时,进入软件界面,转储装载,再弹出窗口选择要装载的文件(*.txt格式),在装载完机器指令及微指令后,选择(运行)(通路图)(复杂模型机)功能菜单打开相应的动

16、态数据通路图,按相应功能键即可联机运行、监控、调试程序。本试验采用微指令单步运行 运行微程序PCARPC + 1 01 01RAMBUSBUSIR 02 02 P(1) 10STA IN NOT XOR MOV OUT HLTHLTPCARPC + 1PCARPC + 1PCARPC + 1R0DR2PCARPC + 1PCARPC + 110 11 12 13 14 15 16 10 11 12 14 03 04 17 25 34 36RAMBUSBUS ARRAMBUSBUS AR R0RAMBUSBUS ARRAMBUSBUS ARRAMBUSBUSR0R0 03 06 17 RAMBU

17、SBUS DR1R0BUS BUSRAMRAMBUSBUS ARBUSDR2RAMBUSBUS ARBUS AR 0526353701 04 01DR1LEDSWBUSBUSDR1 R0RAMBUSBUS DR1BUS ARDR10631 40 05 01R0DR2 DR1RAM 07 3201DR1 DR2R0 33 0101 01 图2 微程序流程图图3 接 线 图六、实验结果。本实验的操作数为X=03H,Y=01H,其中X的直接地址为0EH,间接地址为0CH,Y取反后和 X进行逻辑异或运算的结果为FDH,将此结果保存在FDH中 ,最后输出单元输出的结果为FDH第一条机器指令STA01H(Y)移入寄存器R0,该指令执行之后, R0中的内容为01H.第二条机器指令IN,从数据开关将03H(X)输入到内存,将其存入直接地址为0EH,间接地址为0CH的内存单元. 第三条机器指令NOT将寄存器R0中的内容取反,结果仍存入R0.该指令执行之后, R0中的内容为FEH.第四条机器指令XOR将X放入DR1中,将R0中的内容放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R0中.此时R0中的内容为FDH。第五条机器指令MOV将结果存入直接地址位0DH的内存单元中。第六条机器指令OUT将0DH中的内容送到DR1,从DR1

温馨提示

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

评论

0/150

提交评论