计算机组成原理课程设计—基于微程序控制器的简单计算机系统设计与实现.doc
《计算机组成原理课程设计—基于微程序控制器的简单计算机系统设计与实现.doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计—基于微程序控制器的简单计算机系统设计与实现.doc(63页珍藏版)》请在三一文库上搜索。
1、题 目:基于微程序控制器的 简单计算机系统设计与实现 专 业: 计算机科学与技术 班 级: 学 号: 姓 名: 电 话: 邮 件: 计算机科学与技术学院计算机科学与技术学院 2012 计算机组成原理计算机组成原理 课程设计报告课程设计报告 实 验 台: 完成日期: 2012-03-04 周日下午 指导教师: 课程设计课程设计任务书任务书 一、设计题目 基于微程序控制器的简单计算机系统设计与实现基于微程序控制器的简单计算机系统设计与实现 二、设计内容 设计模型机系统的总体结构、指令系统和时序信号。在对该模型机系统中的部件功能利用 EDA 软件的仿真功能进行仿真分析和功能验证的基础上,将部分电路下
2、载到 FPGA,并与适当的外 围器件相配合,实现模型机的整机系统。要求所设计的整机系统能支持自动和单步运行方式,能 正确地执行存放在主存中的程序的功能,对主要的数据流和控制流通过 LED 适时显示信息。 三、设计要求 1)支持算术运算、逻辑运算、存储器读写、寄存器间数据传送等几类指令; 2)支持立即数寻址、直接寻址、隐含寻址、寄存器寻址等几种基本数据寻址方式和顺序寻 址、跳跃寻址方式; 3)支持 10 条以上的指令; 4)能运行由自己设计的指令系统构成的一段程序,程序执行功能正确。 四、设计流程 1)根据课程设计指导书的要求,制定出设计方案; 2)画出模型计算机系统的原理框图和器件连接图,分析
3、器件连接图中各器件不同引脚的功 能,哪些可以固定连接,哪些需要通过微程序来控制,以及这些控制信号的有效形式; 3)画出各指令的指令周期流程图和所需要的控制信号; 4)设计出实现指令功能的微程序控制器或硬布线控制器; 5)布线、调试、验收; 6)课程设计报告和总结。 五、成绩评定 成绩评定根据考勤、课程设计的过程、课程设计的效果、课程设计报告质量等 进行综合评定;其中设计过程和结果占 70%,课程设计报告占 30%;课程设计的成绩 评定等级为不及格、及格、中、良好、优秀五级;对基本功能进行扩展或设计具有 非常鲜明的特征和一定程度的创新,可根据实际情况加分。 六、设计报告要求 课程设计报告主要内容
4、包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、 遇到的问题及解决方法、设计总结、参考文献等。要求在适当位置配合相应的实验原理图、数 据通路图、微程序流程图、实验接线图、微指令代码表等图表进行说明。总结部分主要写设计 工作简介以及设计体会。应做到文理通顺,内容正确完整,书写工整,装订整齐。课程设计报 告采用计算机组成原理专用设计报告模板,A4 纸双面打印,除框图外需附下载的设计图以 及微指令控制点图。 七、时间安排 课程设计的总体时间为 2 周,具体安排如下: 1)第 1 天:到实验室布置任务和集中讲解。 2)第 2 天:学生自己设计,选择并熟悉自己所要的芯片。 3)第 3 天:
5、领导线和芯片,进行芯片功能测试,在此基础上修改完善原设计方案。 4)第 4 天到第 10 天:实验室调试、验收。 八、主要参考文献 1 秦磊华,王小兰. 计算机组成原理实验指导及课程设计指导书(基于 EDA 平台). 武汉: 华中科技大学出版社,2010 年. 2 秦磊华,吴非,莫正坤.计算机组成原理. 北京:清华大学出版社,2011 年. 3 DAVID A.PATTERSON(美).计算机组成与设计硬件/软件接口(原书第 3 版).北京:机械工 业出版社. 2007 年. 4 袁春风编著. 计算机组成与系统结构. 北京:清华大学出版社,2011 年. 目 录 1 课程设计概述课程设计概述
6、.7 1.1 课设目的 7 1.2 设计任务 7 1.3 设计要求 8 2 实验原理与环境实验原理与环境9 2.1 实验原理 9 2.2 实验环境 9 3 总体方案设计总体方案设计10 3.1 需求分析 10 3.2 硬件设计 10 3.3 软件设计 16 4 详细设计与实现详细设计与实现18 4.1 选用芯片 18 4.2 硬件实现 24 4.3 软件实现 30 5 实验过程与调试实验过程与调试48 5.1 仿真 XXX.48 5.2 主要故障与调试 49 5.3 功能测试 51 5.4 实验流程图 53 6 设计总结与心得设计总结与心得55 6.1 课设总结 55 6.2 课设心得 57
7、参考文献参考文献.59 附录附录 (实验电路大图及部分重要的图)附在纸质档后面(实验电路大图及部分重要的图)附在纸质档后面 1 1、课程设计概述、课程设计概述 1.11.1 课设目的课设目的 计算机组成原理是计算机专业的核心专业基础课,也是作为计算机专业的学生应该要好好掌 握的重要学科。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,考验同学 的创新思维,而且通过进行设计及实现,进一步提高分析和解决问题的能力。再者,组成原理课 设也是对学生们一个学期的学习成果的检验和巩固,也是同学们提高分析、定位、排错能力的一 次机会。 1.21.2 设计任务设计任务 计算机系统设计的总体目标是
8、设计模型机系统的总体结构、指令系统和时序信号。在对该模 型机系统中的部件功能利用 EDA 软件的仿真功能进行仿真分析和功能验证的基础上,将部分电路 下载到 FPGA,并与适当的外围器件(包括部分芯片、输入/输出开关、LED 显示等)相配合,实现 模型机的主机系统。 要求所设计的主机系统能支持自动和单步运行方式,能正确地执行存放在主存中程序的功能, 对主要的数据流和控制流通过 LED 适时显示信息。 具体如下:具体如下: 设计微程序控制器或硬布线控制器或基于微程序和硬布线相结合方式的 CPU 控制 器; 利用所设计的 CPU 组成一台功能完整的模型机并基于实验平台实现.要求部分功 能利用 FPG
9、A 实现,部分功能用芯片连接实现; 所设计的模型机支持加法减运算等基本的算术运算指令、支持逻辑运算类指令、 支持存储器读写指令、支持寄存器间数据传送等几类指令、支持定点数的溢出判 断; 支持立即数寻址、直接寻址、隐含寻址、间接寻址(寄存器寻址)等几种基本的寻 址方式; 能支持 10 条以上的指令; 能运行由自己设计的 CPU 所支持的指令系统构成的一段程序,程序执行功能正确; 根据课程设计指导书和本次课程设计的具体要求,制定出设计方案。确定 CPU 的基本结构是采用总线方式还是采用专用通路方式; 画出自己所设计计算机系统的原理框图和器件连接图,分析器件连接图中各器件 不同引脚的功能,哪些可以固
10、定连接,哪些需要通过微程序来控制,以及这些控 制信号的有效形式; 画出各指令的指令周期流程图和所需要的控制信号; 布线、调试、验收; 鼓励完成上述基本功能的基础上进行适当扩展,比如支持流水线、支持其他寻址 方式等。 1.31.3 设计要求设计要求 根据理论课程所学的至少,设计出简单计算机系统的总体方案,结合 各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机 系统,具体要求如下: 利用各单元实验和课堂上所学知识,选择适当的芯片,设计简单的计算机系 统; 在完成数据通路设计并验证数据通路功能的基础上增加指令和微指令控制的 功能; 以手动方式产生各指令执行过程中所需要的微命令,控制指令
11、的执行; 以自己所设计的计算机系统为硬件环境,设计出完成指定功能的各指令周期 流程图,并设计出相应的微命令; 设计时序列电路,产生满足指令周期和指令执行所需要的多级时序信号; 设计控存,将各指令的微程序存放在 CM 中,经过适当的时序控制,通过微程序 自动控制指令的执行(当采用微程序控制器时)。 2 2、实验原理与环境实验原理与环境 2.1 实验原理 计算机组成原理,数字逻辑, FPGA(Field Programmable Gate Array)现场可编程门阵列 、QUARTUS 仿真等 2.2 实验环境 JZYLII 型计算机组成原理试验台,windows xp 系统,512M 内存电脑电
12、脑一台,Quartus II 6.0 版软件,导线若干。 3、总体方案设计 3.1 需求分析 在这次计算机系统设计中,我们需要根据计算机的各个部件先画出总的框图,然后在框图的 基础上选择适当的芯片实现各自的功能,主要先实现运算器部分,保证运算的正确性,然后设计 存储部分,选择主存和控存是合并还是分开,然后设计对应的微指令,用手动操作检验后,进行 设计时序电路,转成自动执行。 3.2 硬件设计 3.2.1 总体设计 本次我们采用的方案是微程序控制,且主、控存分开的方案,即采用微程序控 制方式,实现主存储器(MM)和微程序控制存储器(CM)不共用一个存储器的方 式完成方案的设计。同时在实施的过程中
13、,采用部分电路用 FPGA 方式下载、部分 电路用硬件搭建的方式完成,其中运算器和存储器部分由硬件搭线完成,主存使用 6116 芯片实现,控存与主存分开,使用 2816 芯片实现,然后时序控制部分选择用 FPGA 方式下载,最后汇总在一起,形成实现所有功能的整体计算机系统。 总体结构图如 图 3.1 所示。 DR2(373) 181 181 AC(373)DR1(373) DOWN244 UP244 MM(6116) PC(161 ) 244 CM(2816 ) CM(2816 ) PC(395) IR(373) 157 输 出 控 制 信 号 图 0.1 总体结构图 3.2.2 运算通路 由
14、 181 作运算,373 锁存组合成的电路,其中包括了 AC,DR1,DR2 等设计 如图 3.2 所示几点说明(包括选择芯片的理由及引脚连接情况): DR2(373) 181 181 AC(373)DR1(373) DOWN244 UP244 MM(6116) 244 157 图 0.2 运算器图 3.2.3 存储通路 :由 6116 作主存。2816 作控存的主控存分开方式 如图 3.3 所示 MM(6116) PC(161 ) 244 CM(2816 ) CM(2816 ) PC(395) IR(373) 157 输 出 控 制 信 号 图 0.3 存储器图 3.2.4 选择电路 如图
15、3.4 所示 为方便置数,直接让指令的数据部分与 161 的输入相连 图 0.4 选择通路图 3.2.5 时序控制:通过各种控制点设计而出 如图 3.5 所示 PC(161 ) 157 图 0.5 时序控制图 3.3 软件设计 3.3.1 机器指令系统设计机器指令系统设计 本次指令设计格式遵循常见指令格式设计原则,机器指令共占 8 位,其中高四位 为操作码 OP,低四位为操作数地址 ADDR,见下表描述: 74 位30 位 OPADDR 指令寻址方式设计 顺序寻址:根据 PC(74LS161)计数器自动增 1,顺序读取下一条指令; 跳跃寻址:根据 PC(74LS161)的 PC-SET 功能,
16、依照跳跃指令内容往计 数器 中预置打入数据,从而跳转到相应地址。 操作数寻址方式设计 寄存器寻址:利用 AC(74LS373)寄存器进行寻址; 直接寻址:根据指令中的 ADDR 所指向的地址得到主存相应数据; 隐含寻址:利用 AC(74LS373)寄存器,对于需要双操作数的机器指令只提供一 个操作数,另一操作数隐含在 AC 中。 3.3.23.3.2 微指令设计微指令设计 微指令设计思想:此次设计共决定选取 12 条指令,分别是取址公操作、store 存 储指令、load 导入指令、jump 跳转指令、加、减、与、或、非、地址非、异或等运 算指令,以及最后的停机指令。指令采用双周期、自动执行。
17、 微指令设计方案:根据具体的电路原理决定采取 16 个微程序控制点,然后通过 对各个控制点的值来实现对微指令的编码(即各个控制点的值取 0 或 1) ,不同的指 令所对应的各个控制点的编码会有不同。 微指令设计流程:因为事先必须确定好电路才能得出各个控制点,因此根据完整 的电路的各个可控信号确定了 16 个控制点,在这个过程中,实际有的控制点不止 16 个,因此我们采取了一些措施,部分控制点合并,另外一些改成了直接采用节拍控 制,最终将控制点的数目控制在了 16 个,然后设计了取址公操作部分各个控制点的 值,形成了取址公操作的编码,然后在此基础上修改各个控制点的值,形成了一个 大概的指令编码表
18、,然后在实践中检验、纠错、修改,最后得到完整的微指令设计 表。 微程序设计微程序设计 对于每条指令都设计了相应的汇编程序来进行检验,将汇编程序设计好,然后改 写成计算机所能识别的二进制形式,事先将二进制程序存入内存的芯片中,然后开 始执行检验即可。 对于各条指令的微程序要考虑到指令的控制点编码,以及控制它的地址,还有内 存中的存储数据的部分。将微程序分为两段,一段是所执行的操作,另一段是操作 数。 而每一行代码又可分为 3 部分,比如我们设计的微程序地址四位,数据八位,指令 八位,因此我们的程序中,前四位二进制数字表示程序执行的地址,即 PC 计数器的 内容,后八位是指令,指令的前四位对应的是
19、操作码,需送入控存译码,进而得到 具体操作,后四位是数据地址,返送回内存读取数据。 各个指令所对应的微程序具体还是不同的,在后面会有详细说明。 4、详细设计与实现 4.1 所选用芯片 1.74LS181 系统使用了2片181芯片作为ALU,用于8位的运算器,负责执行阶段的各种运算。 181芯片引脚图及引脚说明如Error! Reference source not found 表 4.1 74181 芯片引脚及其引脚说明 2、74LS157 如图 4.2 所示 表 4.2 74167 芯片引脚及其引脚说明 3、74LS161 如图 4.3 所示 表 4.3 74161 芯片引脚及其引脚说明 4
20、、74LS395 如图 4.4 所示 表 4.4 74181 芯片引脚及其引脚说明 5、6116 如图 4.5 所示 表 4.5 6116 芯片引脚及其引脚说明 6、2816 如图 4.6 所示 表 4.6 2816 芯片引脚及其引脚说明 7、74LS244 如图 4.7 所示 表 4.7 74LS244 芯片引脚及其引脚说明 8、74LS373 如图 4.8 所示 表 4.8 74181 芯片引脚及其引脚说明 4.2 硬件实现 4.2.1 硬件原理图 本次我们采用的方案是微程序控制,且主、控存分开的方案,即采用微程序控 制方式,实现主存储器(MM)和微程序控制存储器(CM)不共用一个存储器的
21、方 式完成方案的设计。同时在实施的过程中,采用部分电路用 FPGA 方式下载、部分 电路用硬件搭建的方式完成,其中运算器和存储器部分由硬件搭线完成,主存使用 6116 芯片实现,控存与主存分开,使用 2816 芯片实现,然后时序控制部分选择用 FPGA 方式下载,最后汇总在一起,形成实现所有功能的整体计算机系统。具体的电 路设计图如图 4.9 所示: S3S0 4D 8 3D 74 2D 2 1D 4Q 3Q 2Q 1Q 9852 GND 10 8D 18 7D 17 14 6D 13 5D 8Q 7Q 6Q 5Q 19 16 15 12 Vcc 20 373 B3 18 B2 20 23 B
22、1 2 B0 F1 F0 10 9 M 12 A3 19 A2 21 23 A1 2 A0 F3 F2 13 11 Vcc1 24 ALU181 4D 8 3D 74 2D 2 1D 4Q 3Q 2Q 1Q 9852 GND 10 8D 18 7D 17 14 6D 13 5D 8Q 7Q 6Q 5Q 19 16 15 12 Vcc 373 4D 8 3D 74 2D 2 1D 4Q 3Q 2Q 1Q 9852 GND 10 8D 18 7D 17 14 6D 13 5D 8Q 7Q 6Q 5Q 19 16 15 12 Vcc 373 Ia3 8 Ia2 6 4 Ia1 2 Ia0 Ya3 Y
23、a2 Ya1 Ya0 12 14 16 18 GND 10 Ib3 11 Ib2 13 16 Ib1 17 Ib0 Yb3 Vn2 Yb1 Yb0 9 7 5 3 Vcc1 20 回 存 244 Ia3 8 Ia2 6 4 Ia1 2 Ia0 Ya3 Ya2 Ya1 Ya0 12 14 16 18 GND 10 Ib3 11 Ib2 13 16 Ib1 17 Ib0 Yb3 Vn2 Yb1 Yb0 9 7 5 3 Vcc1 20 输 入 244 A3 5 A2 67 A1 8 A0 I/ 04 I/ 03 I/ 02 I/ 01 13 11 109 GND 12 A7 1 A6 23 A5 4
24、 A4 I/ 08 I/ 07 I/ 06 I/ 05 17 16 15 14 Vcc 6116 D2 5 D3 67 CEP 8 GND Q2Q3 CET PE 1211109 MR 1 CP 23 D0 4 D1 Vcv TcQ0Q1 16151413 161 A3 10 A2 136 A1 3 A0 Yb Ya 7 4 GND 8 B3 11 B2 145 B1 2 B0 Yd Yc 9 12 Vcc1 16 LS157 A3 10 A2 136 A1 3 A0 Yb Ya 7 4 GND 8 B3 11 B2 145 B1 2 B0 Yd Yc 9 12 Vcc1 LS157 Ia3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 基于 微程序 控制器 简单 计算机系统 设计 实现
链接地址:https://www.31doc.com/p-5027281.html