计算机组成原理实验报告基本模型机和复杂模型机的设计

基本模型机设计一设计目的1在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台稍微复杂的模型计算机;2为其定义5条机器指令,并编写相应的微程序,具体上机调试掌握整机概念二设计内容部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能,这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。三概要设计为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序存储器读操作拨动总清开关CLR后,控制台开关SWB,SWA为”00”时,按START微动开关,可对RAM连续手动读操作存储器写操作拨动总清开关CLR后,控制台开关SWBSWA置为”01”时,按START微动开关可对RAM进行连续手动写入启动程序拨动总清开关CLR后,控制台开关SWBSWA置为“11”时,按START微动开关,既可转入到第01号“取址”微指令,启动程序运行上述三条控制台指令用两个开关SWBSWA的状态来设置,其定义如下表31读写变化SWBSWA控制台指令001011读内存(KRD)写内存(KWE)启动程序(RP)根据以上要素设计数据通路框图,如图31表32微代码的定义微程序242322212019181716151413控制信号S3S2S1S0MCNRDM17M16A121110987654321BPUA5UA4UA3UA2UA1UA0表33A,B,P字段内容A字段B字段P字段151413控制信号121110控制信号987控制信号000000000001LDRI001RS_G001P1010LDDR1010010011LDDR2011011100LDIR100100P4101LOAD101ALU_G101110LDAR110PC_G110LDPC当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P1测试结果出现多路分支。本次课程设计用指令寄存器的前4位(I7I4)作为测试条件,出现5路分支,占用5个固定微地址单元。控制台操作为P4测试,它以控制台开关SWB,SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。PCARPC1DR1RAMRAMBUSBUSDR1RAMBUSBUSDR1PCARPC1P4DR1RAM控制台0020WRITE(01)READ00RUN112120232422013027图32微程序流程图表34二进制微代码表微地址S3CNRDM17M16ABPUA5UA000000000011000000100010000010000000111101101100000100200000000110000000100100003000000001110000000000100040000000010110000000001010500000001101000100000011006100101011001101000000001070000000011100000000101101000000000000100000000000111000000011110110110000011120000000111101101100001111300000001111011011000111014000000011110110110010110150000001010000010000000011600000000111000000000111117000000001010000000010101200000000111101101100100102100000001111011011001010022000000001010000000010111230000000110000000000000012400000000001000000001100025000001110000101000000001260000001010000010000000012700000111000010100001000030000001101000101000010001四详细设计B7BUSUNIT|||B0W/RUNITT4T3T2T1WETS4TS3TS2TS1STATEUNITH24SIGNALUNITB7S3|||AUJ3|||B0CNLDDR1LDDR2ALUBALUUNITB7LDR0||ROB|B0REGUNITB7LDAR|LOAD||PCBB0LDPCADDRESSUNITM24|M18|SE6||M19||SE1LDDR1LDDR2P1P4ALUBLDIPLDR1RSBLDARLOADPCBM16LDPCM17MICROCONTROLLERSWBSWASE6|||SE1I7|P1|P4|LOGUNITI2SWITCHUNITSWBSWAI7|||I2INTUNITLDIRDEVICED7|||D0SWBA8A9Y0EXUNITY1D7||Y2|D0D7LEDB|||W/RD0OUTPUTDEVICEA7|||A0W/RD7|||D0MAINMEMCEAD7D7||||||AD0D0W/REXTBUSB7BUSUNIT|||B0W/RUNITT4T3T2T1TS4TS3TS2TS1STATEUNITH24SIGNALUNITB73|||UJ3|||B0LLALUIT|||SE6||||E1LLDDR2P1P4DILLDPCMISSE6|||E1I7|P1|P4|LOGUNITI2STCHITSI7|||I2ISW|||||||||||||||上图为本实验的连线图五测试数据及运行结果正常测试数据(3组)及运行结果;输入03结果04输入02结果03输入07结果08六调试情况,设计技巧及体会经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。在这次课程设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比较透彻的认识。由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。七参考文献计算机组成原理实验指导书西安邮电学院计算机系邢高峰牛晓晨王劲松计算机组成原理白中英科学出版社八附录源代码(电子版)本实验采用5条指令实现加1操作,设计机器指令如下地址内容助记符说明0000IN;输入开关数据R0,采集数据0110ADD0AH;R00AHR0020A;地址0320STA0BH;R00BH040B;地址0530OUT0BH;0BHBUS,输出显示060B;地址0740JMP08H;00HPC0800;地址090A01;自定0B;求和结果复杂模型机的设计一设计目的1在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台复杂的模型计算机;2在基本指令的基础上,进行扩充指令并编写相应的微程序,具体上机调试掌握整机概念二设计内容设计一个必须包含IN、OUT、STA、ADD、JMP指令的复杂指令模型机,指令种类自己决定,至少包括5条。部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能,这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。三概要设计为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序存储器读操作拨动总清开关CLR后,控制台开关SWB,SWA为”00”时,按START微动开关,可对RAM连续手动读操作存储器写操作拨动总清开关CLR后,控制台开关SWBSWA置为”01”时,按START微动开关可对RAM进行连续手动写入启动程序拨动总清开关CLR后,控制台开关SWBSWA置为“11”时,按START微动开关,既可转入到第01号“取址”微指令,启动程序运行上述三条控制台指令用两个开关SWBSWA的状态来设置,其定义如下表31读写变化SWBSWA控制台指令001011读内存(KRD)写内存(KWE)启动程序(RP)根据以上要素设计数据通路框图,如下图所示微程序M00018108M0101ED82M0200C050M0300A004M0400E0A0M0500E006M0600A007M0700E0A0M0801ED8AM0901ED8CM0A00A03BM0B018001M0C00203CM0D00A00EM0E01B60FM0F95EA25M1001ED83M1101ED85M1201ED8DM1301EDA6M14001001M15030401M16018016M173D9A01M18019201M1901A22AM1A01B22CM1B01A232M1C01A233M1D01A236M1E318237M1F318239M20009001M21028401M2205DB81M230180E4M24018001M2595AAA0M2600A027M2701BC28M2895EA29M2995AA0M2A01B42BM2B959B41M2C01A42DM2D65AB6EM2E0D9A01M2F01AA30M300D8171M31959B41M32019A01M3301B435M3405DB81M35B99B41M360D9A01M37298838M38019801M3919883AM3A019801M3B070A08M3C068A09四详细设计1实验的连线图2指令系统本模型机共有16条基本指令,其中算术逻辑指令7条,访存指令和程序控制指令4条,输入输出指令2条,其它指令1条,表列出了各条指令的格式、汇编符号、指令功能。助记符号指令格式功能CLRRDMOVRS,RDADCRS,RD1000RSRD1001RSRD011100RD0RDRSRDRSRDCYRDB7BUSUNIT|||B0W/RUNITT4T3T2T1WETS4TS3TS2TS1STATEUNITH24SIGNALUNITB7S3|||AUJ3|||B0CNLDDR1LDDR2ALUBALUUNITB7LDR0||ROB|B0REGUNITB7LDAR|LOAD||PCBB0LDPCADDRESSUNITM24|M18|SE6||M19||SE1LDDR1LDDR2P1P4ALUBLDIPLDR1RSBLDARLOADPCBM16LDPCM17MICROCONTROLLERSWBSWASE6|||SE1I7|P1|P4|LOGUNITI2SWITCHUNITSWBSWAI7|||I2INTUNITLDIRDEVICED7|||D0SWBA8A9Y0EXUNITY1D7||Y2|D0D7LEDB|||W/RD0OUTPUTDEVICEA7|||A0W/RD7|||D0MAINMEMCEAD7D7||||||AD0D0W/REXTBUSB7BUSUNIT|||B0W/RUNITT4T3T2T1WETS4TS3TS2TS1STATEUNITH24SIGNALUNITB73|||UJ3|||B0LALUIT|UNI||SE6||||E1LDDR2P1P4DILDPCSE6|||E1I7|P1|P4|I2STCHITI7|||I2ID7|||D0DEVI||||||INCE||||||SBCRS,RDINCRDANDRS,RDCOMRDRRCRS,RDRLCRS,RD1010RSRD1011RD1100RSRD1101RD1110RSRD1111RSRDRSRDCYRDRD1RDRSRDRDRDRDCYRSRSRDCYRSRSRDLDAM,D,RDSTAM,D,RDJMPM,DBZCM,D00M01RD00M00RDD00M00RDD00M00RDDERSRDEEPC当CY1或Z1,EPCINADDR,RDOUTADDR,RD010001RD010101RDADDRRDRDADDRHALT010001RD停机五测试数据及运行结果输入值03和01输出值0200030003FF00六调试情况,设计技巧及体会1调试步骤1按图连接实验线路2写入程序1手动写入A按如下步骤讲微代码写入微控器中的存储器2816中将编程开关置为PROM(编程)状态。将实验板上“STATEUNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。用二进制模拟开关置微地址MA5MA0。在MK24MK1开关上置微代码,24位开关对应24位显示灯,开关量置为“0”时灯亮,开关量为“1”时灯灭。启动时序电路(按动启动按钮“START”),即将微代码写入到2816的相应地址对应的单元中。重复步骤,将所有的微代码写入2816中。B按如下步骤校验微代码将编程开关置为READ(校验)状态。将实验板上“STATEUNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。用二进制模拟开关置微地址MA5MA0。启动时序电路(按动启动按钮“START”),读出微代码。观察显示灯MD24MD1的状态(灯亮为“0”,灭为“1”),检查读出的微代码是否与写入的相同。如果不同,则将开关置于PROM编程状态,重新执行)即可。C按如下步骤使用KWE微程序进行机器指令程序的装入。使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。拨动总清开关CLR(010),微地址寄存器清零,程序计数器清零,然后使控制台SWB、SWA开关置为“01”,并按动一次START,微地址显示灯显示“010001”。再按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令。再按动两次START键后,即完成该条指令的写入,并且微地址显示灯显示“010001”。(注由KWE的流程图可知,该流程每执行一次,将向PC寄存器所指向的存储器单元中写入一个字节的数据,并且将PC加1。)如果还需要向存储器中输入数据,则需重复重新执行。D按如下步骤使用KRD微程序进行机器指令程序的检查。使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。拨动总清开关CLR(010),微地址寄存器清零,程序计数器清零,然后使控制台SWB、SWA开关置为“00”,并按动一次启动开关START,微地址显示灯显示“010000”。再按动一次START,微地址灯显示“010010”,第三次按动STRAT,微地址灯显示为“010111”,再按动STRAT后此时输出单元的数码管显示为PC寄存器所指单元的内容。(注由KRD的流程图可知,该流程每执行一次,将显示PC寄存器所指向的存储器单元中一个字节的数据,并且将PC加1。)如果还需要检查存储器中其他单元的数据,则需重复重新执行。2联机读/写程序将微代码写入文本文件中,通过联机软件载入实验系统。3运行程序1本机运行A单步运行程序使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。拨动总清开关CLR(010),微地址寄存器清零,程序计数器清零。单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否与流程一致。当运行结束后,可检查存数单元(0BH)中的结果是否和理论计算结果一致。B连续运行程序使编程开关处于“RUN”状态,STEP为“C”状态,STOP为“RUN”状态。拨动总清开关CLR(010),微地址寄存器清零,程序计数器清零。按动START键,系统将连续运行程序,直至将STOP拨至“STOP”状态。当运行结束后,可检查存数单元(0BH)中的结果是否和理论计算结果一致。2联机运行联机运行程序时,进入软件界面,装载机器指令及微指令后,运行即可。2对设计及调试过程的心得体会。复杂模型机的设计与实现比简单模型机难得多,在设计过程中,我对计算机的大致组成以及运行原理有了进一步的了解,对实验流程也比较熟悉。觉得做实验的时候必须一丝不苟,要善于排错,不能慌张。再设计指令的时候要讲求合理,写出详细的微程序,设计初步完成后,要编写适当的程序进行测试,不断调试,从而成功的完成实验。经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。在这次课程设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比较透彻的认识。由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。七参考文献计算机组成原理实验指导书西安邮电学院计算机系邢高峰牛晓晨王劲松计算机组成原理白中英科学出版社八附录源代码(电子版)本实验采用5条指令实现加1操作,设计机器指令如下地址内容助记符0001000100INR00101000101INR10201110010CLRR20301011010OUTR20411101010RRCR2,R20510100001SUCR0,R10601011001OUTR10701110010CLRR20811111010RLCR2,R20910001001MOVR2,R10A01011001OUTR10B10010001ADCR0,R10C01011001OUTR10D11000110ANDR1,R20E01011010OUTR20F00000100STAM,D,R010010000001100000010LDAM,D,R212010000001301011010OUTR21411011010COMR21501011010OUTR21610111010INCR21701011010OUTR21800001000JMPM,D19000111111F01100000HALT

计算机组成原理复杂模型机设计思路,计算机组成原理实验报告基本模型机和复杂模型机的设计...相关推荐

  1. 大学计算机实验图灵机模型与计算机硬件,实验1图灵机模型与计算机硬件系统虚拟拆装实验报告.pdf...

    实验 1 图灵机模型与计算机硬件系统虚拟拆装 实验报告 学号 1500202151 姓名 叶思凡 班级: 卫生检验与检疫 15 实验时间: 2017 年 2 月 23 日 实验报告表 1-1 图灵机模 ...

  2. 大学计算机实验图灵机模型与计算机硬件,北理大学计算机实验基础 实验一_图灵机模型与计算机硬件系统虚拟拆装-实验报告...

    1.1实验一实验一 图灵机模型与计算机硬件系统虚拟拆装图灵机模型与计算机硬件系统虚拟拆装五.实验报告五.实验报告2222实验名称:学号 姓名 班级: 实验时间:年 月 日 实验报告表 1-1 图灵机模 ...

  3. c语言程序设计报告表达式求值,数据结构 课程设计表达式求值 实验报告

    <数据结构 课程设计表达式求值 实验报告>由会员分享,可在线阅读,更多相关<数据结构 课程设计表达式求值 实验报告(21页珍藏版)>请在人人文库网上搜索. 1.实验课程名称 级 ...

  4. 数据结构最短路径例题_《数据结构课程设计》最短路径问题实验报告

    <<数据结构课程设计>最短路径问题实验报告>由会员分享,可在线阅读,更多相关<<数据结构课程设计>最短路径问题实验报告(17页珍藏版)>请在人人文库网上 ...

  5. 计算机辅助电路仿真技术实验报告,多级放大电路的设计与测试仿真实验报告.docx...

    文档介绍: 多级放大电路的设计与测试仿真实验报告实验报告课程名称模拟电子技术实验项目多级放大电路分析仿真系别自动化学院专业班级/学号XX学生姓名实验日期成绩指导老师杨鸿波实验三多级放大电路分析仿真实验 ...

  6. c语言学生档案管理课设作业,2019-2020年c语言课程设计学生档案管理系统实验报告.doc...

    2019-2020年c语言课程设计学生档案管理系统实验报告.doc 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: *********C 语 ...

  7. 嵌入式软件设计第8次实验报告-140201235-陈宇

    嵌入式软件设计第8次实验报告 学号:140201235                   姓名:陈宇 组别:3                实验地点:D19 一.实验目的: 1.熟悉WWW技术中的 ...

  8. 嵌入式软件设计第12次实验报告-140201235-陈宇

    嵌入式软件设计第12次实验报告 学号:140201235             姓名:陈宇 组别:第3组                实验地点:D19 一.实验目的: 1.掌握通过GSM短信远程与 ...

  9. 嵌入式软件设计第12次实验报告

    嵌入式软件设计第12次实验报告 学号:140201126             姓名:杨鹏飞 组别:第2组                实验地点:D19 一.实验目的: 1.掌握通过GSM短信远程 ...

  10. 嵌入式软件设计第10次实验报告

    嵌入式软件设计第10次实验报告 学号:142021234               姓名:王凯 组别:第4组                实验地点:D19 一.实验目的: 1.了解GSM模块SIM ...

最新文章

  1. Go 知识点(13) — 如何判断变量类型
  2. ASP.NET Core 异常和错误处理 - ASP.NET Core 基础教程 - 简单教程,简单编程
  3. hadoop完全分布式集群群起
  4. iOS 代理设计模式
  5. GMIS 2017大会邓力演讲:无监督学习的前沿与SPDG方法的优良性
  6. php页头滚动文字公告,jQuery公告栏文字滚动插件
  7. register,static,extern,const,typedef,volatile关键字
  8. RT-Thread中自定义MSH命令传入的参数是字符串,需用户自行检查和解析
  9. winCE下Unicode编码
  10. java filter过滤器_JavaWeb之 Filter(过滤器)
  11. ucc编译器(中间代码生成)
  12. 开源软件 Cachet 被曝RCE漏洞
  13. nRF52笔记(5)sniffer 抓包
  14. 3分钟阿里云无影云桌面全解析(云桌面/传统电脑/VDI/服务器区别对比)
  15. Picgo typora error in repo name
  16. [转载] 使用Bugzilla,你肯定会遇到的坑。
  17. 什么是抗攻击服务器?抗攻击服务器是如何防御攻击的?
  18. python+opencv实现图像拼接
  19. react项目中遇到的几个问题
  20. POI最新版本 4.1.2 操作 Excel

热门文章

  1. 校园O2O商铺平台-Logback的配置与使用
  2. 2021-4-26大学化学(9)分步沉淀、沉淀转化与本章小结
  3. Python 爬取 394452 条《都挺好》弹幕数据,发现弹幕比剧还精彩?
  4. Redis应用案例之优惠券秒杀
  5. 2022骨传导蓝牙耳机深度评测!骨传导耳机哪个牌子好?
  6. 微服务架构下的分布式数据存储-技术之家
  7. 怎么下载K-Flash烧录(有图 超详细)
  8. python批量生成ppt
  9. 110 道 Python 面试笔试题超强汇总
  10. 金山云张斯聪:探索沉浸式解决方案 提升教育云上体验