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

下载本文档

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

文档简介

沈阳工程学院课程设计报告 目录 目 录 第 1 章 课程设计.1 1.1 设计目的.1 1.2 设计基本原理.1 1.2.1 实验模型机 CPU 结构.1 1.2.2 机器指令的结构和功能.2 第 2 章 微指令设计.5 2.1 微指令设计流程图.5 2.2 二进制微代码表设计.6 2.2.1 控制台指令代码与数据.6 2.2.2 DEC5 和 RSA 指令代码与数据.7 2.2.3 机器指令与操作码.7 第 3 章 指令的写入.8 3.1 实验接线图.8 3.2 写入程序.9 3.2.1 写入微指令.9 3.2.2 机器指令的写入与检查.9 第 4 章 运行程序.11 4.1 运行程序.11 4.1.1 单步运行.11 4.1.2 连续运行程序.11 4.2 设计新的指令.11 4.3 选作指令.11 4.4 微指令代码.12 第 5 章 问题解决方案.14 5.1 遇到的问题.14 5.2 解决的方法.14 设计总结.15 沈阳工程学院课程设计报告 第 1 章 课程设计 1 第 1 章 课程设计 1.1 设计目的 (1)在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基 本模型计算机。 (2)为其定义五条机器指令,并编写相应的微程序,具体上机调试掌握整 机概念。 (3)掌握微程控器的组成原理。 (4)掌握微程序的编写、写入,观察微程序的运行。 (5)通过课程设计,使学生将掌握的计算机组成基本理论应用于实践中, 在实际操作中加深对计算机各部件的组成和工作原理的理解,掌握微程序计算 机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。 1.2 设计基本原理 1.2.1 实验模型机 CPU 结构 运算器单元(ALU UINT) 运算器单元由以下部分构成:两片 74LS181 构成了并串型 8 位 ALU;两 个 8 位寄存器 DR1 和 DR2 为暂存工作寄存器,保存参数或中间运算结果。 ALU 的 S0S3 为运算控制端,Cn 为最低进位输入,M 为状态控制端。ALU 的输出通过三态门 74LS245 连到数据总线上,由 ALU-B 控制该三态门。 寄存器堆单元(REG UNIT) 该部分由 3 片 8 位寄存器 R0、R1、R2 组成,它们用来保存操作数用中间 运算结构等。三个寄存器的输入输出均以连入数据总线,由 LDRi 和 RS-B 根据 机器指令进行选通。 指令寄存器单元(INS UNIT) 指令寄存器单元中指令寄存器(IR)构成模型机时用它作为指令译码电路 的输入,实现程序的跳转,由 LDIR 控制其选通。 时序电路单元(STATE UNIT) 用于输出连续或单个方波信号,来控制机器的运行。 微控器电路单元(MICROCONTROLLER UNIT) 微控器主要用来完成接受机器指令译码器送来的代码,使控制转向相应机 器指令对应的首条微代码程序,对该条机器指令的功能进行解释或执行的工作。 由输入的 W/R 信号控制微代码的输出锁存。由程序计数器(PC)和地址寄存器 沈阳工程学院课程设计报告 第 1 章 课程设计 2 (AR)实现程序的取指功能。 逻辑译码单元(LOG UNIT) 用来根据机器指令及相应微代码进行译码使微程序转入相应的微地址入口, 从而实现微程序的顺序、分支、循环运行,及工作寄存器 R0、R1、R2 的选通 译码。 主存储器单元(MAIN MEM) 用于存储实验中的机器指令。 输入输出单元(INPUT/OUTPUT DEVICE) 输入单元使用八个拨动开关作为输入设备,SW-B 控制选通信号。输出单 元将输入数据置入锁存器后由两个数码管显示其值。 该数据结构通路框图如图 1-1 所示: 图 1-1 数据通路图 1.2.2 机器指令的结构和功能 部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次课设 是在微程控下自动产生各部件单元控制信号,实现特定指令的功能。这里,计 沈阳工程学院课程设计报告 第 1 章 课程设计 3 算机数据通路的控制将由微程控器来完成,CPU 从存储器中取出一条机器指令 到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器 指令对应一个微程序。 本次课设采用实验四中五条机器指令:IN(输入) 、AND(逻辑与运算) 、 SUB(二进制减法) 、NOR(逻辑或非运算) 、JMP(无条件转移) 。 为了向 RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行, 还必须设计三个控制台操作微程序。 存储器读操作(KRD):拨动总清开关 CLR 后,控制台开关 SWB、SWA 为“00”时,按 START 微动开关,可对 RAM 连续手动读操作。 存储器写操作(KWE):拨动总清开关 CLR 后,控制台开关 SWB、SWA 为“01”时,按 START 微动开关,可对 RAM 进行连续手动写入。 启动程序:拨动总清开关 CLR 后,控制台开关 SWB、SWA 置为“11”时, 按 START 微动开关,即可转入到第 01 号“取址”微指令,启动程序运行。 上述三条控制台指令用两个开关 SWB、SWA 的状态来设置,其定义如表 1-2 所示: 表 1-2 控制台定义格式 SWBSWA控制台指令 0 0 1 0 1 1 读存储器(KRD) 写存储器(KWE) 启动程序(RP) 微指令字长共 24 位,其控制位顺序如表 1-3 所示。 表 1-3 控制位顺序 2423222120191817161513 S3S2S1S0MCnWECELDPCA 121097654321 BCuA5uA4uA3uA2uA1uA0 其中 UA5UA0 为下一条微指令微地址,A、B、C 为三个译码字段,分别 由三个控制位译码出多种不同控制信息。 A 字段 B 字段 C 字段 沈阳工程学院课程设计报告 第 1 章 课程设计 4 其中 UA5-UA0 为 6 位的后续微地址,A、B、C 三个译码字段,分别由三 个控制位译码出多位。C 字段中的 P(1)-P(4)是四个测试字位。其功能是根据机 器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微 程序的顺序、分支、循环运行。B 字段中的 RD-B、R0-B、RI-B、分别为源寄 存器选通信号、目的寄存器选通信号及变址寄存器选通信号其功能是根据机器 指令来进行三个工作寄存 R0、R1、R2 的选通译码。A8、A9 为控制选通 信号,当 A8 A9 为 00 时,选通 SWB;为 01 时,选通 CE;为 10 时,选通 LEDB;为 11 时,表示均未选通。S0S3 为运算控制控制信号,Cn 为进位 控制信号,M 为状态控制控制信号。 沈阳工程学院课程设计报告 第 2 章 微指令设计 5 第 2 章 微指令设计 2.1 微指令设计流程图 系统涉及到的微程序流程,当拟定“取址”微指令时,该微指令的判别测 试字段为 P(1)测试。由于“取址”微指令是所有微程序都使用的公用微指令, 因此 P(1)的测试结果出现多路分支。本机用指令寄存器的前 4 位(IR7- IR4)作为测试条件,出现 5 路分支,占用 5 个固定微地址单元。 控制台操作为 P(4)测试如图 2-1 所示,它以控制台开关 SWB、SWA 作 为测试条件,出现了 3 路分支,占用 3 个固定微地址单元。当分支微地址单元 固定后,剩下的其它地方就可以一条微指令占用一个微地址单元随意填写。注 意:微程序流程图上的单元地址为 8 进制。 图 2-1 控制台操作 我设计的机器指令是 DEC5 和 RSA,具体流程如图 2-2 所示: 沈阳工程学院课程设计报告 第 2 章 微指令设计 6 图 2-2 流程图 2.2 二进制微代码表设计 当完成上述全部微程序设计后,对每条微指令进行代码化,即将微程序流 程图按微指令格式转化而成的,转化成为如下的“二进制微代码表” 。 2.2.1 控制台指令代码与数据 控制台指令代码及数据,如表 2-1 所示。 表 2-1 控制台指令 微地址S3S2S1S0MCNWECELDPCABCUA5-UA0 00Q000000011101110100010 000 01Q000000011110111000000 010 02Q000000000100000001001 000 沈阳工程学院课程设计报告 第 2 章 微指令设计 7 20Q000000011110111000010 010 21Q000000011110111000010 100 22Q000000000000000000010 000 24Q000000100000110000010 001 2.2.2 DEC5 和 RSA 指令代码与数据 DEC5 指令代码与数据,如表 2-2 所示。 表 2-2 DEC5 指令代码与数据 微地址S3S2S1S0MCNWECELDPCABCUA5-UA0 16Q000000011110111000100 010 42Q000000000011000000100 011 43Q000000011110111000100 100 44Q000000000110000000100 101 45Q000000000010000000100 110 RSA 指令代码与数据,如表 2-3 所示。 表 2-2 DEC5 指令代码与数据 微地址S3S2S1S0MCNWECELDPCABCUA5-UA0 17Q000000010010001000100 111 47Q000000011110111000101 000 50Q000000000110000000101 001 51Q000000000011000000101 010 52Q011000010001101000101 011 53Q000000010010001000101 100 54Q000000010001101000000 001 注:表 2-1、表 2-2、表 2-3 的微地址采用了 2 位八进制数表示。 2.2.3 机器指令与操作码 DEC5 和 RSA 的机器指令与操作码,如表 2-4 所示。 表 2-4 机器指令与操作码 地址(二进制)内容(二进制)助 记 符说 明 0000 10110110 0000 0000 11000000 0101 0000 11010100 1110 DEC54EH4EH-5-4EH 0000 11100111 0000 0000 11110100 1111 RSA4FHR0-4FH+1-R0 沈阳工程学院课程设计报告 第 3 章 指令的写入 8 第 3 章 指令的写入 3.1 实验接线图 按照设计的实现线路图,连接实验线路,仔细检查实验线路无误后接通电 源。实验线路图如图 3-1 所示、微指令线路图如 3-2 所示。 图 3-1 实验接线图 图 3-2 微指令接线图 沈阳工程学院课程设计报告 第 3 章 指令的写入 9 3.2 写入程序 3.2.1 写入微指令 将“微程序二进制代码表”中设计好的微指令正确写入 E2PROM 芯片 281 6 中,校验正确后进行下一步。微程序二进制代码写入的实验接线图如图 3-2 所 示。 编程 将编程开关置为 PROM(编程)状态。 将实验板上的“START UNIT”中的“STEP”置为“STEP” , “STOP” 置为“RUN”状态。 用二进制模拟开关 UA0UA5 置微地址 MA0MA5。 在 MK23MK0 开光上置微地址代码,24 位开关对应 24 位显示灯,开关 置为“0”时灯亮,开光置为“1”时灯灭。 启动时序电路(按动启动按钮“START” ) ,即将微代码写入到 E2PROM 2816 的相应地址对应的单元中。 重复步骤,将已完成的微地址代码及数据写入到 2816 中。 校验 将编辑开关置为 READ(校验)状态。 将实验板的“STEP”开关置为“STEP”状态, “STOP”开关置为“RU N”状态 用二进制模拟开关 UA0UA5 置微地址 MA0MA5。 按动“START”键,启动时序电路,读出微代码。观察显示灯 MK23M K0 的状态(灯亮为“0” ,灭为“1” ) ,检查读出的微代码是否与写入相同。如 果不同,则将开关置为 PROM 编辑状态,重新执行即可。 3.2.2 机器指令的写入与检查 使用如图 3-3 所示的控制台 KWE 和 KRD 微程序进行机器指令程序的装入 和检查。 沈阳工程学院课程设计报告 第 3 章 指令的写入 10 图 3-3 控制台 使编程开关置为“RUN” ,STEP 置为“STEP”状态,STOP 置为 “RUN”状态。 拨动总清开关 CLR(101) ,微地址寄存器清零。此时用“DATA UNIT”单元的 8 位二进制开关给出写入 RAM 区的首地址,控制台 SWB、SWA 开关置为“01” ,按动一次启动开关 START,微地址显示灯显示为 “010001”再按动一次 START 键,微地址灯显示“010100” ,此时数据开关的 内容置为要写入的机器指令,按动一次 START 键,即完成该条指令的写入。 机器指令的首地址只要第一次给如即可,PC 会自动加 1,所以每次按动 START,只有在微地址灯显示“010100”时,才设置内容,知道所有机器指令 完成。 写完程序后须进行校验。拨动总清开关 CLR(101)后,微地址清 零。此时用“DATA UNIT”单元的 8 位二进制开关置要读的 RAM 区首地址, 控制开关 SWB、SWA 为“00” ,按动启动 START,微地址灯将显示为 “010000” ,再按动 START,微地址将显示为“010010” ,第三次按动 START,微地址显示为“010000” ,此时总线单元的显示灯显示为该首地址的 内容。不断按动 START,可检查后续单元内容。 注意:每次仅在微地址灯显示为“010000”时,显示灯的内容才是相应地址中 那个的机器指令内容。 沈阳工程学院课程设计报告 第 4 章 运行程序 11 第 4 章 运行程序 4.1 运行程序 4.1.1 单步运行 使编程开关处于“RUN”状态,STEP 为“STEP”状态,STOP 为 “RUN”状态。 拨动总清开关 CLR(101) ,微地址清零。 将“DATA UNIT”的 8 位数据开关(D7D0)设置为机器指令首地址。 按动 START 启动键,单步运行一条微指令,每次按动一次 START 键, 即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一 致。 当运行结束后,可检查存数单元中的结果是否和理论值一致。 4.1.2 连续运行程序 使“START UNIT”中的 STEP 开关置为“EXEC”状态。STOP 开关置 为“RUN”状态。 将“DATA UNIT”的 8 位二进制开关设置为机器指令程序首地址,然后 按动 START,系统连续运行程序,稍后将 STOP 拨至“STOP”时,系统停机。 停机后可检查存数单元结果是否正确。 4.2 设计新的指令 在上述设计任务正确完成后,根据前面的设计原理和步骤,为该基本模型 设计更多的新机器指令,例如减法指令、逻辑运算指令等。 要求:设计两条新指令,画出新机器指令的微程序流程图,对照微指令格 式转化二进制码,上机调试运行。 4.3 选作指令 除了完成每小组必做的 4 条机器指令(IN、SUB、SEC、DECR、INC) , 本小组选作了额外的 2 条机器指令(DEC5、RSA) 。 沈阳工程学院课程设计报告 第 4 章 运行程序 12 4.4 微指令代码 各条微指令代码如表 4-1 所示。 表 4-1 微指令代码表 微地址S3S2S1S0MCNWECELDPCABCUA5-UA0 00Q000000011101110100010 000 20Q000000011110111000010 010 21Q000000011110111000010 100 22Q000000000000000000010 000 23Q000000010000000000000 001 24Q000000100000110000010 001 IN 01Q000000011110111000000 010 02Q000000000100000001001 000 10Q000000010001110000000 001 SUB4AH 11Q000000011110111000000 011 03Q000000000110000000000 100 04Q000000000011000000000 101 05Q000000010010001000000 110 06Q011000100000101000000 001 NRA4BH 12Q000000010011001000000 111 07Q000000011110111000010 101 25Q000000000110000000010 110 26Q000000000010000000010 111 27Q001001100000101000000 001 INC4CH,3 13Q000000011110111000011 000 30Q000000000011000000011 001 31Q000000011110111000011 010 32Q000000000110000000011 011 33Q000000000010000000011 100 34Q100101100000101000000 001 SEC4DH 14Q000000010010001000011 101 35Q000000011110111000011 110 36Q000000000110000000011 111 37Q000000000011000000100 000 40Q011001010001101000000 001 DECR 沈阳工程学院课程设计报告 第 4 章 运行程序 13 15Q000000010010001000100 001 41Q111101010001101000000 001 DEC54EH 16Q000000011110111000100 010 42Q000000000011000000100 011 43Q000000011110111000100 100 44Q000000000110000000100 101 45Q000000000010000000100 110 46Q011000100000101000000 001 RSA4FH 17Q000000010010001000100 111 47Q000000011110111000101 000 50Q000000000110000000101 001 51Q000000000011000000101 010 52Q011000010001101000101 011 53Q000000010010001000101 100 54Q000000010001101000000 001 沈阳工程学院课程设计报告 问题解决方案 14 第 5 章 问题解决方案 5.1 遇到的问题 当查询 RAM 中地址的内容时,存放的内容和理论值不一致。 可正常读出机器指令但无法正常写入。 运行程序跳转出现错误。 运算结果与理论值不相符。 5.2 解决的方法 将存放错误内容的 24 位微地址重新写入,再次校验结果正确。 检查连线是否正确,在王老师的指导下,发现 AR 信号不起作用,将 AR 信号线用其它信号代替,重新写入机器指令。 检查连线是否正确,经检查后发现 LDIR 连接线接触不良,更换连接线 连接正确后,运行程序。 检查运算错误的微指令代码是否输入有误,经检查没发现错误,再查看 是否微指令代码编写错误,经检查发现,算法 DR1-1 和 DR1+1 算法选择误将 减 1 当做 A-1,两者概念不同,前者是总线上的数据,而后者才是我们所要运 算的数据,经改正重新写入后,运行正确。 沈阳工程学院课程设计报告 设计总结 15 设计总结 经过短暂的一周微机课程设计后,发现计算机组成原理是一门很有趣的课 程,任何一个计算机系统都是一个复杂的整体,学习计算机原理是要涉及到整 体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一 来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理 解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于 “学会了一些新知

温馨提示

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

评论

0/150

提交评论