您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成原理课程设计报告
南通大学计算机科学与技术学院计算机组成原理课程设计报告书课题名模型计算机的设计与实现班级计123班姓名流星雪雨学号指导教师顾辉日期目录1设计目的...............................................02设计内容...............................................03设计要求...............................................04数据格式与指令系统.....................................1数据格式............................................1指令系统............................................15设计原理与电路图(包括总框图、微程序控制器的逻辑图、电路图和封装图)................................................2总的逻辑框图:......................................2微程序控制器:......................................3地址转移逻辑图..................................3微程序控制器逻辑图..............................4PC计数器..........................................4时序产生器..........................................4总的逻辑组成图(运算器和存储器不再说明):..........5逻辑图及波形文件................................5初始化数据......................................56微程序流程图、代码表...................................6微程序流程图:......................................6代码表:.............................................67系统调试情况...........................................78设计总结与体会.........................................89参考文献...............................................91设计目的1.融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。2.学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计和调试的实践和经验。2设计内容1.根据给定的数据格式和指令系统,设计一台微程序控制的模型计算机。2.根据设计图,在QUARTUSII环境下仿真调试成功。3.在调试成功的基础上,整理出设计图纸和相关文件,包括:(1)总框图(数据通路图);(2)微程序控制器逻辑图;(3)微程序流程图;(4)微程序代码表;(5)设计说明书及工作小结。3设计要求(1)对指令系统中的各条指令进行分析,得出所需要的占领周期与操作序列,以便确定各器件的类型和数量;(2)设计总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所要求的数据通路都能实现,并满足技术指标的要求;(3)检查全部指令周期的操作序列,确定所需要的控制点和控制信号;(4)检查所设计的数据通路,尽可能降低成本,简化线路,优化性能。以上过程可以反复进行,以便得到一个较好的方案。4数据格式与指令系统数据格式数据字规定采用定点整数补码表示法,字长8位,其中最高位为符号位,其格式如下:7654321符号位尾数指令系统本实验设计使用5条机器指令,其格式与功能说明如下:76543210IN00100000ADD01000000ASTA01100000AOUT10000000AJMP10100000AIN指令为单字长(字长为8bits)指令,其功能是将数据开关的8位数据输入到R0寄存器。ADD指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器的内容与内存中地址为A的数相加,结果存放在R0寄存器中。STA指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器中的内容存储到以第二个字为地址的内存单元中。OUT指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将内存中以第二个字为地址的内存单元中的数据读出到数据总线,显示之。JMP指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是程序无条件转移到第二个字指定的内存单元地址。5设计原理与电路图(包括总框图、微程序控制器的逻辑图、电路图和封装图)总的逻辑框图:通过这个逻辑框图,可以看出整个模型机的设计主要是微程序控制器,PC计数器,时序产生器三个部分,然后再结合前面的设计好的控制器和存储器的部分,就可以设计好这个模型机的逻辑图。微控制信号说明:nROM_BUS:ROM数据输出到总线控制信号,低电平有效。nRAM_BUS:RAM数据输出到总线控制信号,低电平有效。m:加、减法选择控制信号,为1做加法,为0做减法。nSW_BUS:数据输入到总线控制信号,低电平有效。LDN:PC置数控制信号,低电平有效。nCS:RAM片选信号。(此信号的有效值根据所用RAM器件特性来定)WE:RAM写信号,高电平时做写操作。LDR0:数据打入R0锁存控制信号,脉冲上升沿有效。LDDR1:数据打入R1锁存控制信号,脉冲上升沿有效。LDDR2:数据打入R2锁存控制信号,脉冲上升沿有效。LDIR:数据打入IR锁存控制信号,脉冲上升沿有效。LDPC:数据打入PC锁存控制信号,脉冲上升沿有效。LDAR:数据打入AR控制信号,脉冲上升沿有效。nALU_BUS:运算器ALU结果输出到总线控制信号,低电平有效。nPC_BUS,低电平有效。nR0_BUS,低电平有效。以下封装成的芯片的信号不再赘述。微程序控制器:地址转移逻辑图封装成芯片:对其生成波形文件如下:由波形文件可以总结看出clr是总的清零端,当其为零时输出始终为0,当其为1时,逻辑地址转移器正常工作,T2,T4为脉冲控制端,上升沿有效。当PRN的控制端为1时,输入等于输出,当PRN的控制端为0时,输出始终为1,p1端则是指令的译码端,当其为1时,指令产生译码,根据指令的操作码来确定指令执行的第一条微指令的地址。当p1端为0时不译码,直接指向下一条微指令的地址。微程序控制器逻辑图封装成芯片:对该图进行波形文件测试:分析波形文件可以得出:通过给定指令操作码,可以看出我设计的微指令的微命令信号的情况。之后的总得电路图不再显示每条指令的微命令信号。PC计数器封装成芯片:对其产生波形文件:分析该波形文件可以得出:LDPC是计数端,默认从00开始计数,每次经过CLK的上升沿脉冲计数器进行+1操作。LDN为置数控制端,当其为1时,计数器将从设置的数据值开始进行+1计数。时序产生器封装成芯片:对其产生波形文件:分析波形文件可以得出:当控制端startup为0时,stop为0或者1时都会产生正确的时序电路,产生时序信号对通路的部件加以控制,以避免单总线上各个部件之间数据传输产生冲突,一个CPU周期包含4个时钟脉冲,四个时钟脉冲依次产生。一条微指令如果需要同时使用两个或以上的脉冲信号时,一定要注意脉冲信号的产生的先后顺序。当控制端startup为1时,stop为0时,则会停止脉冲信号的产生。总的逻辑组成图(运算器和存储器不再说明):逻辑图及波形文件对其产生波形文件:初始化数据微指令的储存情况(十六进制表示):ROM的初始化数据(存放指令操作码):RAM的初始化数据(存放操作数地址以及操作数):指令的具体分析IN指令:PC计数器+1,此时为01,执行第01条微指令,从ROM中取出操作码20H通过P字段译码转到第09条微指令,将输入的数据送到R0中,执行公操作。ADD指令:PC为02H,从ROM的02单元取出操作码40H通过译码转移到第10条微指令从RAM的02H单元取出操作数的地址08H送到AR寄存器,接着第3条微指令从RAM的08单元取出操作数13H送到DR1,执行第四条微指令将R0寄存器中的数送到DR2,执行第5条微指令将和数送到R0,执行公操作。STA指令:PC为03H,从ROM的03单元取出操作码60H通过译码转移到第11条微指令,从RAM的03H单元中取出操作数地址09H,送到寄存器AR,执行第6条微指令将R0中的数据存放到RAM的09H地址单元中,执行公操作。OUT指令:PC为04H,从ROM的04单元取出操作码80H通过译码转移到第12条微指令,从RAM的04H单元中取出操作数地址09H,送到寄存器AR,执行第7条微指令将RAM的09H地址单元的数输出到总线上去,执行公操作。JMP指令:PC为05H,从ROM的05单元取出操作码A0H通过译码转移到第13条微指令,从RAM的05H单元中取出操作数地址0AH,送到寄存器AR,执行第8条微指令将PC计数器的值置数为0AH单元的数值01,执行公操作。6微程序流程图、代码表微程序流程图:代码表:微指令地址nROM_BUSnRAM_BUSmnSW_BUSLDNnCSWELDR0LDDR1LDDR2LDIRLDPCLDARnALU_BUSnPC_BUSnR0_BUSP1ad4ad3ad2ad1ad0212019181716151413121110987654321000000000000010000000001100000000000110100000102100000000010000010100030100010010000000000100400000000010000010001015000000010000010000000160000011000000001000001701000100000000000000018010011000001000000000190001000100000000000001100100010000001000000011110100010000001000000110120000010000001000000111130000010000001000000100微指令分析:其中00微指令是默认开始的,从储存器中取出第一条微指令。01—02表示的是公操作指令,就是从ROM中取出每条指令的操作码,P1字段为1,进行译码操作,找到对应的微指令的地址。每次都是让其跳转到第八条指令的后面去寻找正确的微指令地址。第9条表示的是IN指令的微指令,第10,3,4,5表示的是ADD指令的微指令,第11,6表示的是STA指令的微指令,第12,7表示的是OUT指令的微指令,第13,8表示的是JMP指令的微指令,其中JMP指令对PC计数器进行置数,使其模型机转移到IN指令如此循环的执行。每一条微指令的后5位通过P1字段的控制用来指示下一条微指令的地址,其他各个数据位相应的各个器件的控制信号。7系统调试情况(1)一开始并没有对D触发器有很深刻的认识,所以对其的控制端的作用不是很了解,以致对整个地址逻辑转移图没有完全理解。然后我通过对单独的一个D触发器进行波形测试调试,通过结果分析出D触发器各控制端的作用,并完全理解逻辑地址转移的情况。我通过译码端P字段让指令操作码与普通逻辑地址0100B进行译码得出新的逻辑地址,方便微指令的执行。(2)对于在画逻辑电路图时,一定要注意,如果要用总线对相同类型的控制端进行集合,总线的命名一定要和集合中的相同,而且属于同一个总线的命名一定要一致,不同
本文标题:计算机组成原理课程设计报告
链接地址:https://www.777doc.com/doc-6487737 .html