山东大学计算机组成原理课程设计实验报告.pdf
《山东大学计算机组成原理课程设计实验报告.pdf》由会员分享,可在线阅读,更多相关《山东大学计算机组成原理课程设计实验报告.pdf(48页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计报告计算机科学与技术学院2014级1班鸿武QQ:
2420430689(2号)2016年11月22日计算机一班鸿武QQ:
2420430689(2号)1目录总述.2课程设计目的.2课程设计内容与要求.2课程设计工具.2课程设计方法.2同组者.2微程序控制的运算器设计.2设计目的.2设计要求.3运算器结构.3微程序控制器的结构.4主要部件设计.5实验调试.6微程序控制的存储器读写系统设计.7设计目的.7设计要求.7结构与信号索引.8微指令格式及微指令编制.8简单模型机设计微程序设计.8设计目标.9指令系统.9总体结构.9关键部件.10微程序控制器的结构.13微指令格式.14微程序编写.15调试.16简单模型机设计硬布线设计.16设计目标.17总体结构.17关键部件设计.18调试.20课程设计中遇到的问题.20感想体会.20附录.22微程序控制的运算器设计详细电路图.22微程序控制的存储器读写系统设计详细电路图.24微程序设计模型机详细电路图.25硬布线控制的模型机详细电路图.34计算机一班鸿武QQ:
2420430689(2号)2总述总述课程设计目的课程设计目的通过该课程设计的学习,总结计算机组成原理课程的学习内容,运用计算机原理知识,设计一台模型机,从而巩固课堂知识、深化学习内容、完成教学大纲要求,学好这门专业基础课。
课程设计内容与要求课程设计内容与要求要求每2位学生一组合作完成设计任务,充分利用所学知识设计出具有一定特色的模型计算机。
课程设计工具课程设计工具要设计模型机,完成课程设计的任务,首先要掌握内容:
计算机组成原理课程设计平台:
JYS计算机组成实验箱;QuartusII软件的使用。
课程设计方法课程设计方法课程设计分为两个阶段:
第一阶段为微程序实现的模型机内核。
通过对部件的设计,以期达到对部件的构成、设计方法、工作原理及在计算机硬件中的功能作一个系统的了解。
第二个阶段为硬布线实现的模型机内核。
将用多个部件构造一台较为复杂的计算机硬件系统。
以期达到对计算机的总体设计、基本构成、基本原理有一个清楚的认识并能建立一个清晰的整机概念,从而扎实地掌握一种数字系统的设计方法。
同组者同组者XX微程序控制的运算器设计微程序控制的运算器设计设计目的设计目的熟悉简单运算器的结构。
计算机一班鸿武QQ:
2420430689(2号)3熟悉微命令的产生和时序。
熟悉运算器功能测试。
设计设计要求要求设计一个八位算法逻辑运算单元ALU。
两操作数由八位寄存器R0、R1提供,其结果放入R2中。
具体何种操作可由微命令任意设定。
运算器结构运算器结构运算器结构如下图所示。
R0、R1、R2均为D触发器组成的八位寄存器,在打入脉冲CPRi的作用下,接收数据输入端提供的信息送入Ri中。
IR23-16为微指令寄存器的高八位,可定义为操作数。
进位信号C0、打入脉冲CPR0、CPR1、CPR2、M、S0、S1、S2、S3均由微指令寄存器的IR8和IR7-IR0产生。
实现框图如下图所示。
图中虚线内的内容就是我们要设计实现的内容。
计算机一班鸿武QQ:
2420430689(2号)4微程序控制器的结构微程序控制器的结构控制存储器24位,ROM3#、ROM2#、ROM1#、IR23-16、IR15-8、IR7-0、L23-16、L15-8、L7-0、RD、CPIR、A0A7均连入FPGA系统中。
自行设计的微程序计数PC向控制存储器提供8位微地址,在控存读信号的作用下,读出一条长24位的微指令代码,并在打入命令CPIR的作用下,送入IR23-16、IR15-8、IR7-0。
L23-16、L15-8、L7-0用于显示微指令寄存器IR23-16、IR15-8、IR7-0的内容。
每当按一次脉冲键便产生一个负脉冲,该脉冲的作用是:
(1)作为读控存的命令RD。
(2)负脉冲当作CPIR,将读出的微指令代码打入IR(3)负脉冲的上升沿使PC1形成下一条微指令的地址。
(4)负脉冲反相后的上升沿作为寄存器打入脉冲。
微指令的格式如下图所示。
计算机一班鸿武QQ:
2420430689(2号)5主要部件设计主要部件设计PCPC的设计的设计PC用异步模256增1计数器实现,电路图如下所示。
该计数器对CLK增1计数。
CLR为清零端,低电平有效,当CLR为0时,该计数器输出全为0。
PRN为置位端,低电平有效,当PRN为0时,该计数器输出全为1。
算术逻辑运算单元算术逻辑运算单元ALUALU的设计的设计该部分中算术逻辑运算单元用两片74LS181芯片按如下图所示结构实现八位组间串行进位运算器。
74LS181功能表如下图所示。
计算机一班鸿武QQ:
2420430689(2号)6ALU的实现电路图如下。
实验调试实验调试将设计完成的电路图下载到FPGA中。
按照前面所给的74LS181功能表编写微指令,并写入到ROM中,微指令从0地址单元开始存放。
例如要实现55+AAR2计算机一班鸿武QQ:
2420430689(2号)7需要如下指令:
55R0:
010101010000000010000000即550080AAR1:
101010100000000001000000即AA0040R0R1R2:
000000000000000100101001即000129R0-R1R2:
000000000000000000100110即000026执行操作:
按一次RET键将PC置零。
按一次脉冲键读出并执行一条微指令。
当微程序执行完时检查并记录结果。
微程序控制的存储器读写系统设计微程序控制的存储器读写系统设计设计目的设计目的
(1)熟悉随机存储器读写系统结构设计。
(2)熟悉随机存储器的读写时序。
(3)熟悉随机存储器的读写操作的微程序实现。
(4)熟悉随机存储器的功能测试。
设计要求设计要求课程设计平台为设计环境提供了容量为2568的随机存储器。
在此基础上,设计相应的外围电路和时序对随机存储器进行读写操作。
结构框图如下图所示,设计完成后可以根据pc访问内存,取出地址Ad1,根据Ad1访问取出数据X,将X保存在Ad2地址单元。
计算机一班鸿武QQ:
2420430689(2号)8结构与信号索引结构与信号索引上图中MAR为地址寄存器。
R寄存器必须为具有三态输出的寄存器,直接调用74374即可。
PC为带清零端的8位增1计数器(在上一部分的运算器设计中已经实现过)。
FPGA引脚信号如下:
A7A0地址信号,方向指向RAM。
D7D0数据信号,双向,RAM的数据通过该数据线读出或写入。
存储器读命令RD,低电平有效。
存储器写命令WR,低电平有效。
微指令格式及微指令编制微指令格式及微指令编制IR3为1产生CPR;IR2为1产生CPMAR;IR4为1产生CPPC;IR1为1产生WR;IR0为1产生RD;IR5为1产生XMAR选择信号;IR6为1产生XPC选择信号;IR7为1产生寄存器R的三态允许信号OE。
因为利用微程序,还必须设计微地址增1计数器PC。
微程序的编制,由存储器的操作确定:
读出地址ad1放入MAR寄存器:
XPC、RD、CPMAR有效,即微指令:
000045HM(ad1)即x送入寄存器R:
XMAR、RD、CPR、CPPC(PC增1)即微指令:
000039H读出ad2送入MAR,即微指令:
000045x送入地址ad2中XMAR、WR、OE有效,即微指令:
0000A2H调试步骤:
设计存储器外围逻辑并下载至FPGA中。
设计微程序并将微程序以十六进制代码键入ROM3#、ROM2#、ROM1#中按一次脉冲键读出并执行一条微指令,并检查微指令执行情况,直至结束。
在RAM中,预先写入ad1、ad2、x具体数据。
该部分的详细电路图见附录。
简单模型机设计简单模型机设计微程序设计微程序设计计算机一班鸿武QQ:
2420430689(2号)9设计目标设计目标本次设计要完成一个用微程序设计的简单模型机。
ALU部分用74181芯片与74182芯片来设计。
本模型机所要实现的功能包括:
加法、减法、增1、减1、两数之和增一、逻辑与、或、异或、直传、非和停机。
指令系统指令系统拟定指令系统将涉及到基本字长、指令格式、指令种类、寻址方式等内容。
这些内容的确定又和总体结构密切相关。
我们实验平台的存储器容量为2568,所以我们将基本字长定为8位。
指令格式分为单字长指令和双字长指令两种。
在双字长格式中,将第二字节定义为操作数或操作数地址。
单字长的指令格式如下图所示。
本模型机的指令分为三类:
单操作数指令、双操作数指令和无操作数指令。
指令中操作码OP占四位,因而最多可定义16条指令。
当寻址方式位为0,是寄存器寻址,操作数在指定的寄存器中,相应的寄存器号位为0是R0,为1是寄存器R1。
当寻址方式位为1时,寻址方式位和寄存器号位组合:
10:
是立即数寻址,操作数在指令的下一个单元;11:
是直接寻址,操作数地址在指令的下一个单元。
总体结构总体结构1、寄存器组R0、R1为通用寄存器,8位。
IR为指令寄存器,8位。
PC程序计数器,8位。
计算机一班鸿武QQ:
2420430689(2号)10MAR为地址寄存器,8位。
2、ALU采用74181芯片和74182芯片实现。
3、选择器连入A选择器的数据来源是RAM的读出数据和R0寄存器的数据。
连入B选择器的数据来源是PC的数据和R1的数据。
4、数据通路模型机的数据通路是以总线为基础,以CPU为核心构成的。
5、取指令过程6、送指令地址过程7、指令计数器加一过程8、R0R1过程9、R1RAM过程关键部件关键部件1、ALU的设计用74181芯片和74182芯片来实现。
计算机一班鸿武QQ:
2420430689(2号)11可以实现的功能在前面74LS181的功能表中已经给出。
2、二选一选择器的设计3、寄存器的设计不带复位的寄存器结构中R0、R1通用寄存器,可存放操作数或结果、中间结果,每个寄存器均由8个D触发器构成。
计算机一班鸿武QQ:
2420430689(2号)12在CPRi的作用下接收总线的数据送入寄存器,输出连入选择器。
指令寄存器IR1、IR2其结构同通用寄存器。
带复位的寄存器结构中MAR地址寄存器是一个带复位的寄存器,带复位是指当有复位信号时,MAR清零。
4、程序计数器PC的设计程序计数器用带有复位的八位寄存器实现。
当复位信号有效时,程序计数器清零。
5、三态门设计用八个TRI实现,如下图所示6、部件之间的连接部件之间的连接是采用以CPU为中心的总线连接方式。
加法器的输出通过总线BUS连接到所有寄存器和存储器的输入端,除指令寄存器IR和地址寄存器MAR的输出端外,其它部件的输出端分别送入选择器A和选择器B。
7、后继微地址产生为简单起见只选三种后继微地址生成方式,即增量方式、无条件转移方式、按操作码转移方式。
其结构框图如下所示。
当LD1时,微程序计数PC执行加1操作。
当LD0时且JP1时,无条件转移,由微指令的中八位提供转移地址。
当LD0时且QJP1时,按操作码转移。
部件电路设计如下图所示。
计算机一班鸿武QQ:
2420430689(2号)138、启动/停止电路设计注意这里CLR最好接一个开关,当该开关打开时,按下单脉冲,此电路即