首页 计算机组成原理课设

计算机组成原理课设

举报
开通vip

计算机组成原理课设计算机组成原理课程设计 目录 目录 I目录 11 设计内容及目标 11.1 设计题目 11.2 设计目标 11.3 设计内容 11.4 设计器材 22 设计原理 22.1 设计思路 22.2 工作原理 22.2.1 实验原理 22.2.2 需要执行的机器指令 32.2.3 数据通路图 42.2.4 微指令格式 42.2.5 微程序地址的...

计算机组成原理课设
计算机组成原理课程设计 目录 目录 I目录 11 设计内容及目标 11.1 设计题目 11.2 设计目标 11.3 设计内容 11.4 设计器材 22 设计原理 22.1 设计思路 22.2 工作原理 数字放映机工作原理变压器基本工作原理叉车的结构和工作原理袋收尘器工作原理主动脉球囊反搏护理 22.2.1 实验原理 22.2.2 需要执行的机器指令 32.2.3 数据通路图 42.2.4 微指令格式 42.2.5 微程序地址的转移 62.2.6 机器指令的写入、读出和执行 83 设计步骤 83.1 实验线路图及连接 83.2 机器指令的设计 93.3 微指令 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图设计 113.4 微指令设计 124 实现方法 124.1 写入微指令 124.2 写入机器指令及检验 134.3 运行程序 145 遇到的问题及解决方法 145.1 所遇到的问题 145.2 解决方法 15设计总结 1 设计内容及目标 1.1 设计题目 基本模型机的设计与实现 1.2 设计目标 1、在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台基本模型计算机。 2、为其定义六条机器指令,并编写相应的微程序,上机调试,掌握整机概念。 1.3 设计内容 本次设计将完成六条机器指令的微程序设计:IN(输入)、AND(二进制与运算)、INC(操作数加1) 、JMP(无条件转移)、SUB(二进制减法)、ADD(二进制加法)指令。 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 出现故障的现象,并对故障进行 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 ,说明排除故障的思路及故障性质。 1.4 设计器材 TDN-CM计算机组成原理教学实验系统一台,排线若干。 2 设计原理 2.1 设计思路 计算机是通过执行指令来处理各种数据的。为了指出数据的来源、操作结果的去向及所执行的操作,一条指令必须包含下列信息: ⑴ 操作码。它具体说明了操作的性质及功能。一台计算机可能有几十条至几百条指令,每一条指令都有一个相应的操作码,计算机通过识别该操作码来完成不同的操作。 ⑵ 操作数的地址。CPU 通过该地址就可以取得所需的操作数。 ⑶ 操作结果的存储地址。把对操作数的处理所产生的结果保存在该地址中,以便再次使用。 ⑷ 下条指令的地址。执行程序时,大多数指令按顺序依次从主存中取出执行,只有在遇到转移指令时,程序的执行顺序才会改变。为了压缩指令的长度,可以用一个程序计数器(Program Counter,PC)存放指令地址。每执行一条指令,PC 的指令地址就自动 +1,指出将要执行的下一条指令的地址。当遇到执行转移指令时,则用转移地址修改 PC 的内容。由于使用了 PC,指令中就不必明显地给出下一条将要执行指令的地址。 2.2 工作原理 2.2.1 实验原理 在以前的部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次设计将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。 这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本系统使用两种外部设备,一种是二进制代码开关(DATA UNIT),它作为输入设备;另一种是发光二极管(BUS UNIT上的一组发光二极管),它作为输出设备。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到数据总线BUS上,驱动发光二极管显示。 2.2.2 需要执行的机器指令 本次设计采用六条机器指令;IN、AND、INC、SUB、ADD、JMP,其指令格式如下表表2.1 指令格式表 助记符 机器指令码 说明 IN 0001 0000 “DATA UNIT”中的开关状态→R0 AND[addr] 0010 0000 XXXXXXXX R0 AND[addr]→R0 INC [addr] 0011 0000 XXXXXXXX [addr]+ 1 →R0 SUB[addr],5 0100 0000 XXXXXXXX [addr]-R0 -5→R0 ADD[addr] 0101 0000 XXXXXXXX R0 +[addr]→R0 JMP addr 0110 0000 XXXXXXXX Addr →PC 其中IN为单字长(8位),其余为双字长指令,xxxxxxxx为addr对应的二进制地址码。 机器指令程序及数据存放地址举例如表2.2所示。其中的地址可以根据需要修改。 表2.2 机器指令 地址(二进制) 内容(二进制) 助记符 说明 1000 0000 0001 0000 IN “DATA UNIT”→R0 1000 0001 0010 0000 AND [8CH] R0 AND [8CH]→R0 1000 0010 1000 1100 1000 0011 0011 0000 INC[8CH] [8CH]+1→R0 1000 0100 1000 1100 1000 0101 0100 0000 SUB[8CH] ,5 [8CH] - R0-5→R0 1000 0110 1000 1100 1000 0111 0000 0101 1000 1000 0101 0000 ADD[8CH] R0+[8CH]→R0 1000 1001 1000 1100 1000 1010 0110 0000 JMP 80H 80H→PC 1000 1011 1000 0000 1000 1100 1111 0000 微控器读取一条机器指令后,将通过如下的逻辑电路,对SE1~SE5中的某一位或者几位激活,从而实现机器指令与微程序的对应。 当然,该逻辑电路还能接收外部控制输入SWA、SWB,内部状态输出FC、FZ等信号,并对这些信号给出相应的输出。 2.2.3 数据通路图 实验系统的数据通路图,如图2.1所示。 图2.1 数据通路图 ① 片选信号CE=0为有效电平,CE=1为无效电平。 ② WE=1为写入,WE=0为读出。 ③ LOAD和LDPC同时为“1”时,可将总线上的数据装入到PC中;LDPC为“1”,同时LOAD为“0”时,将PC中内容加1。 ④ M=0为算术运算,M=1为逻辑运算。 ⑤ CN=0表示运算开始时低位有进位,否则低位无进位。 图2.1中包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。这些部件的动作控制信号都有微控器根据微指令产生。需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。 2.2.4 微指令格式 微指令字长共24位,其中UA5~UA0为下一条微指令微地址,A、B、C为三个译码字段,分别由三个控制位译码出多种不同控制信号。 A字段中的LDRi为打入工作寄存器信号的译码器使能控制位。B字段中的RS-B、RD-B、RI-B分别为源寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。 C字段中的P(1)~P(4)是四个测试字位。其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,其原理如图3所示。AR为算术运算是否影响进位及判零标志控制位,其为零有效。 注意:根据后面的实验接线图,A字段的LDRi与数据通路图中的LDR0为同一个信号。B字段的RS-B与数据通路图中的R0-B为同一个信号。其控制位顺序如图2.2所示。 图2.2 微指令控制位顺序图 2.2.5 微程序地址的转移 本实验系统的指令寄存器(IR)用来保存当前正在执行的一条指令。当执行一条指令时,先把该指令从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P(1)],通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码后的结果,将微控器单元的微地址修改为下一条微指令的地址。 地址修改要依靠实验系统的微程序地址转移电路来完成,该电路如图2. 3所示。 图2.3 微程序地址转移电路图 图中左侧的FC、FZ、P(1)~P(4)均为低电平有效。当T4有正脉冲信号到来时该电路开始工作。I7~I2中输入指令寄存器的第7~2位,SE5~SE1为微程序地址转移电路的输出结果。 根据SE5~SE1的值,实验系统自动将下一条微指令的原始地址UA4~UA0修改为实际的正确地址。修改方法是将SE5~SE1的值与下一条微指令的原始地址UA4~UA0进行按位操作,SE5~SE1中为1的位对应的原始地址UA4~UA0中的位保持不变,而SE5~SE1中为0的位对应的原始地址UA4~UA0中的位强置为1。 注:FC:进位标志 FZ:0标志 SWA、SWB存储器读写控制标志 P(1)~P(4):微指令C字段译码输出结果 I2~I7:机器指令第2位~第7位。 根据该逻辑电路图,得SE1~SE5的逻辑表达式如下: (1) (2) (3) (4) (5) 由这些逻辑表达式可知: 由于P(1)~P(4)微指令中C字段译码后的部分输出,所以它们至多有一个有效(低电平)。 当P(1)有效时,在T4时刻,可以通过对I4~I7置“1”,使对应的SE1~SE4有效(低电平)。 当P(2)有效时,在T4时刻,可以通过对I2~I3置“1”,使对应的SE1~SE2有效(低电平). 当P(3)有效时,在T4时刻,标志位FZ或者FC有效(高电平)使SE7有效(低电平)。 当P(4)有效时,在T时刻,外部输入控制信号SWA或者SWB有效(高电平),使SE1~SE2有效(低电平)。 本次设计只用了P(1)和P(4)。 2.2.6 机器指令的写入、读出和执行 为了向RAM中装入机器指令程序和数据,检查写入是否正确,并能启动机器指令程序执行,还必须设计三个控制台操作微程序。 存储器读操作(KRD):拨动总清开关CLR(使CLR从1→0→1)后,控制台开关SWB、SWA置为“0 0”时,按START微动开关,可对RAM连续手动读操作。 存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA置为“0 1”时,按START微动开关可对RAM进行连续手动写入。 启动程序:拨动总清开关CLR后,控制台开关SWB、SWA置为“1 1”时,按START微动开关,即可转入到第01号“取指”微指令,启动程序运行。 上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如表2.3所示。 表2.3 控制台指令 SWB SWA 控制台指令 0 0 读内存(KRD) 0 1 写内存(KWE) 1 1 启动程序(RP) 三个控制台操作微程序的流程如图2.4所示。 图2.4 控制台操作微程序 流程图 破产流程图 免费下载数据库流程图下载数据库流程图下载研究框架流程图下载流程图下载word 控制台操作为P(4)测试,它以控制台开关SWA、SWB作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控制存储器一个微地址单元随意填写。 当设计“取指”微指令的判别测试字段为P(1)测试。由于“取指”微指令是所有微程序都使用的公共微指令,因此P(1)的测试结果出现多路分支。本机器用指令寄存器的前4位(IR7―IR4)作为测试条件,出现5路分支,占用5个固定微地址单元。 3 设计步骤 3.1 实验线路图及连接 实验线路图及连接如图3.1所示。 图3.1 接线图 3.2 机器指令的设计 机器指令的代码和数据地址的分配如表3.1所示。 表3.1 机器指令代码和数据的地址分配表 地址(二进制) 内容(二进制) 助记符 说明 1000 0000 0001 0000 IN “DATA UNIT”→R0 1000 0001 0010 0000 AND [8CH] R0 AND [8CH]→R0 1000 0010 1000 1100 1000 0011 0011 0000 INC[8CH] [8CH]+1→R0 1000 0100 1000 1100 1000 0101 0100 0000 SUB[8CH] ,5 [8CH] - R0-5→R0 1000 0110 1000 1100 1000 0111 0000 0101 1000 1000 0101 0000 ADD[8CH] R0+[8CH]→R0 1000 1001 1000 1100 1000 1010 0110 0000 JMP 80H 80H→PC 1000 1011 1000 0000 1000 1100 1111 0000 3.3 微指令流程图设计 我所设计的是SUB[addr],5 和ADD[addr]。SUB[addr],5含义是实现用[addr]的值减去R0中取得的数,再减去5的结果放入R0中。ADD[addr]的含义是将[addr]中的值与R0的值之和存入R0中。按照试验系统提供的组成图,和我设计的接线图做得微指令流程图如图3.2所示。 图3.2 微指令流程图 3.4 微指令设计 我所设计的是SUB[addr],5 和ADD[addr]。SUB[addr],5含义是实现用[addr]的值减去R0中取得的数,再减去5的结果放入R0中。ADD[addr]的含义是将[addr]中的值与R0的值之和存入R0中。按照试验系统提供的组成图,和我设计的接线图做得微指令如表3.2所示。 表3.2 微指令对应表 微地址 S3 S2 S1 S0 M CN WE CE LDPC A B C UA5~UA0 000000 0 0 0 0 0 0 0 1 1 101 110 100 010000 010000 0 0 0 0 0 0 0 1 1 110 111 000 010010 010010 0 0 0 0 0 0 0 0 0 000 000 000 010000 010001 0 0 0 0 0 0 0 1 1 110 111 000 010100 010100 0 0 0 0 0 0 1 0 0 000 110 000 010001 110100 0 0 0 0 0 0 0 1 1 110 111 000 001001 001001 0 0 0 0 0 0 0 0 0 110 000 000 001010 001010 0 0 0 0 0 0 0 0 0 010 000 000 001011 001011 0 0 0 0 0 0 0 1 0 011 001 000 001100 001100 0 1 1 0 0 0 0 1 0 001 101 000 001101 001101 0 0 0 0 0 0 0 1 1 110 111 000 001110 001110 0 0 0 0 0 0 0 0 0 011 000 000 001111 001111 0 0 0 0 0 0 0 1 0 010 001 000 010101 010101 0 1 1 0 0 0 0 1 0 001 101 000 010011 110101 0 0 0 0 0 0 0 1 1 110 111 000 011000 011000 0 0 0 0 0 0 0 0 0 110 000 000 011001 011001 0 0 0 0 0 0 0 0 0 010 000 000 011010 011010 0 0 0 0 0 0 0 1 0 011 001 000 011011 011011 1 0 0 1 0 1 0 1 0 001 101 000 010011 010011 0 0 0 0 0 0 0 1 1 110 111 000 000001 000001 0 0 0 0 0 0 0 0 0 100 000 001 110000 4 实现方法 为了向RAM中装入机器指令程序和数据,检查写入是否正确,并能启动机器指令程序执行,还必须设计三个控制台操作微程序。 存储器读操作(KRD):拨动总清开关CLR(使CLR从1→0→1)后,控制台开关SWB、SWA置为“0 0”时,按START微动开关,可对RAM连续手动读操作。 存储器写操作(KWE):拨动总清开关CLR后,控制台开关SWB、SWA置为“0 1”时,按START微动开关可对RAM进行连续手动写入。 启动程序:拨动总清开关CLR后,控制台开关SWB、SWA置为“1 1”时,按START微动开关,即可转入到第01号“取指”微指令,启动程序运行。 4.1 写入微指令 按如下步骤将微代码写入微控器中的存储器2816中: 将编程开关置为PROM(编程)状态。 将实验板上“STATE UNIT”中的“STEP”置为“STEP”,“STOP”置为“RUN”状态。 用二进制模拟开关置微地址MA5—MA0。 在MK24-MK1开关上置微代码,24位开关对应24位显示灯,开关量置为“0”时灯亮,开关量为“1”时灯灭。 启动时序电路(按动启动按钮“START”),即将微代码写入到2816的相应地址对应的单元中。 重复上述步骤,将微代码写入2816中。 4.2 写入机器指令及检验 使用控制台KWE 和KRD微程序进行机器指令程序的装入和检查。 ① 使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。 ② 拨动总清开关CLR(0->1),微地址寄存器清零。此时用“DATA UNIT”单元的8位二进制开关给出要写入RAM区的首地址,控制台SWA、SWB开关置为“1 0”,按动一次启动开关START,微地址显示灯显示“010001”,再按动一次START,微地址灯显示“010100”,此时数据开关的内容置为要写入的机器指令,按动一次START键,即完成该条指令的写入。机器指令的首地址只要第一次给入即可,PC会自动加1,所以,每次按动START,只有在微地址灯显示“010100”时,才设置内容,直到所有机器指令写完。 ③ 写完程序后须进行校验。拨动总清开关CLR(0->1)后,微地址清零。此时用“DATA UNIT”单元的8位二进制开关置要读的RAM区的首地址,控制台开关SWA、SWB为“0 0”,按动启动START,微地址灯显示“010000”,再按动START,微地址灯显示为“010010”,第三次按START,微地址灯显示为“010000”,此时总线单元的显示灯显示为该首地址的内容。不断按动START,可检查后续单元内容,注意:每次仅在微地址灯显示为“010000”时,显示灯的内容才是相应地址中的机器指令内容。 4.3 运行程序 当以上三步完成时,接下来将进行程序的运行。正确执行JUMP IN ADD SUA 指令。 1 单步运行程序 ① 使编程开关处于“RUN”,STEP为“STEP”状态,STOP为“RUN”状态。 ② 拨动总清开关CLR(1→0→1),微地址清零。 ③ 将“DATA UNIT”的8位数据开关(D7~D0)设置为机器指令首地址。 ④ 按动START启动键,单步运行一条微指令,每按动一次START键,即单步运行一条微指令。对照微程序流程图,观察微地址显示灯是否和流程一致。 ⑤当运行结束后,可检查存数单元中的结果是否和理论值一致。 2 连续运行程序 ① 使“START UNIT”中的STEP为“EXEC”状态。STOP开关置为“RUN”状态。 ② 将“DATA UNIT”的8位二进制开关设置为机器指令程序首地址,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。 ③ 停机后,可检查存数单元结果是否正确。 5 遇到的问题及解决方法 5.1 所遇到的问题 在此次课程设计的过程中,遇到很多的问题,在通过组内成员的讨论和向老师的请教后,得到了很好的解决,下面是遇到的问题。 在本次课程设计中我们遇到了以下几个问题: ① 在设计机器指令代码时,由于对每条指令的操作数部分理解的不是很全面和到位,导致一些诸如求和与求或操作的结果无法正确保存进纸面上指定的地址。 ② 接线过程中出现接线不正确问题,正反线没注意。 ③ 实验设备不灵,按键不稳定。 ④ 在输入微指令后,回头检查发现微指令出错,例如在向R0中送数时,经常送入FFH。 5.2 解决方法 对于上述这些问题,我们的解决方法如下: ① 在经过对机器指令代码仔细的研究后,知道了程序运行的过程,即先取出操作码进行判断后,再取出操作数进行实际的运算。从而解决了以上出现的问题。 ② 接线过程中出现接线不正确问题。 线路接好后,在输入所有微指令和地址数据后,确定输入的数据无误,运行程序就是得不到结果,最后经过多次检查和老师的帮助,发现有一根线没有接上。 ③ 硬件问题 检查线路无误后,发现运行结果不正确,在老师仔细查看后,我们换了两台机器,终于完成了这次课设。 ④ 关于微指令 无法向R0中送数,我们检查了微指令,发现微指令出现问题,后来改正后,程序正常运行。 设计总结 经过这一周的课程设计加深和巩固了以前学习的的课本知识,也起到了复习的作用,尤其是为完成各种操作所进行的各种微操作以及对进行操作的微指令的有了更深的了解。 在课程设计的过程中我们也遇见无法解决的问题,我们先经组内讨论,如果解决不了,寻求老师帮助,在老师教我们的解决的办法的时候也是我们学习的一种方式,经过这样解决问题的方式,才能让我们把理论与实际相结合起来了。此外,在实训开始前遇到不能解决的问题时,通过查找相关资料来解决这个问题,这样我既能解决问题又能学到很多知识,同时还能够将自己的知识面扩宽。 在这段时间里,我学到了很多知识,感触很多。知道了“失败是成功之母”这句话的意义,我们正是在一次次失败的实验中找到了正确的解决问题的方法。从查看大量的相关资料和借助网络资源,让我头脑中模糊的概念逐渐清晰,使我小组的设计一步步完善起来,每一次改进都是学习的过程,每一次设计的实现都会让我兴奋不已。在这次课程设计中,我感受很深,学习并不是一件容易的事,要想学有所用,在学习中就不能有一点马虎的地方,每个问题都要研究得明白透彻,这样才能在实践中做到学以致用。在学习上也要有坚韧的毅力和信心,这次的课程设计,面对着数据通路图,重复“0”和“1”数字的操作,没有一定的耐心真是不行,通过本次课程设计,使我对微控制器的一些基本操作有了进一步的认识,能够将课上所学的内容应用到实际中,也对课上所学的理论知识进行了充分的运用,使我体会到了理论联系实际这句话的深刻含义。 在王健老师的指导及同学们的帮助下,经过我们共同的努力,我们设计的功能达到老师要求,我们也对自己的课设基本满意,而且我们也学到了平时的课堂上无法学到的实践内容,这背后我们要非常感谢各位协助我们老师和同学,希望大家也能够在以为在学习中也能互相帮忙,共同进步。最后再次感谢我们的王老师! PC→AR PC+1 DR1-DR2→R0 R0→DR2 RAM→DR1 RAM→AR PC→AR PC+1 33 32 31 30 23 65 60 ADD 00 DR1+DR→R0 R0→DR2 RAM→DR1 RAM→AR PC→AR PC+1 P(1) RAM→IR PC→AR PC+1 BUS→RAM PC→AR PC+1 (SW)→BUS BUS→RAM PC→AR PC+1 P(4) (SW)→PC 20 21 24 20 22 23 01 KWE(01) KWE (00) KWE(11) KT RAM→DR2 R0→DR1 DR1-DR2→R0 23 64 11 25 17 16 15 14 13 12 SUB PAGE I _1174652823.unknown _1174653043.unknown _1174653100.unknown _1174654817.unknown _1174654941.unknown _1174653444.unknown _1174653057.unknown _1174652997.unknown _1174652796.unknown _1174652807.unknown _1174550324.unknown
本文档为【计算机组成原理课设】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_751392
暂无简介~
格式:doc
大小:562KB
软件:Word
页数:16
分类:互联网
上传时间:2012-04-06
浏览量:45