计算机组成原理课程设计---简单计算机系统设计与实现.doc
计算机组成原理课程设计

计算机组成原理课程设计1. 引言计算机组成原理是计算机科学与技术专业中一门重要的基础课程。
通过学习计算机组成原理,可以了解计算机的基本组成结构、工作原理和性能提升方法。
为了更好地掌握和应用所学知识,本文将介绍一项针对计算机组成原理课程的设计任务。
2. 任务描述本次课程设计任务要求设计一个简单的单周期CPU,实现基本的指令执行功能。
具体要求如下:•CPU的指令集包括加载(Load)、存储(Store)和算术逻辑运算(ALU)指令,需要支持整数加法、减法、乘法和除法运算。
•CPU需要具备基本的流水线功能,包括取指(Instruction Fetch)、译码(Decode)、执行(Execute)和写回(Write Back)。
•CPU需要支持基本的寄存器操作,包括寄存器读取(Register Read)和寄存器写入(Register Write)。
•CPU的指令和数据存储器使用单端口RAM,指令和数据的访问都需要经过存储器。
3. 设计思路针对上述需求,我们可以采用以下设计思路:3.1 CPU总体设计•CPU采用单周期结构,即每个指令都在一个时钟周期内完成。
•CPU主要分为指令存储器、数据存储器、寄存器文件和控制逻辑四个部分。
3.2 指令存储器设计•指令存储器采用单端口RAM,每个指令的长度为固定的32位。
•指令存储器需要实现读取指令的功能,每次从内存中读取一个指令。
3.3 数据存储器设计•数据存储器也采用单端口RAM,每个数据的长度为固定的32位。
•数据存储器需要实现读取数据和写入数据的功能,执行指令时需要从存储器中读取数据,计算结果需要写回存储器。
3.4 寄存器文件设计•寄存器文件包含若干个通用寄存器,用于存储指令执行过程中的临时数据。
•寄存器文件需要实现读取寄存器和写入寄存器的功能,执行指令时需要读取和写入寄存器。
3.5 控制逻辑设计•控制逻辑负责根据当前指令的操作码和操作数生成控制信号,控制CPU的工作流程。
计算机组成原理课程设计

计算机组成原理课程设计
计算机组成原理课程设计是计算机科学与技术专业的一门核心课程,其目的是帮助学生更深入地理解计算机的组成原理和工作原理,培养学生分析和设计计算机硬件的能力。
在这个课程设计中,我选择了设计一个简单的单周期CPU。
首先,我会设计CPU的指令集,包括处理器指令的类型、指
令格式、寻址方式等。
然后,根据指令集的要求,设计并实现CPU的控制器,控制指令的执行流程。
接着,我会设计并实
现CPU的数据通路,包括寄存器、ALU、存储器等组件,实
现指令的操作。
在设计过程中,我会遵循计算机组成原理的基本原理和设计原则,如冯·诺伊曼体系结构、指令周期、数据通路和控制单元
的相互协调等。
我会使用硬件描述语言,如VHDL或Verilog,进行设计,通过仿真和验证来测试设计的正确性。
同时,我还会考虑CPU的性能和效率,尽量优化各个部分的设计,以提
高CPU的运行速度和处理能力。
在设计完成后,我还会进行性能测试和功能验证,测试CPU
在不同工作负载下的性能表现,并根据测试结果对设计进行优化。
最后,我会编写报告,详细介绍我的设计思路、实现过程和测试结果,以及可能存在的问题和改进的方向。
通过这个课程设计,我将深入理解计算机组成原理的相关知识,并掌握CPU设计的基本方法和技术。
这对于我今后的学习和
工作都具有重要意义,不仅可以加深我对计算机硬件的理解,
还可以提高我的问题分析和解决能力,为我未来的研究和工作奠定坚实的基础。
课程设计报告(计算机组成原理)

课程设计(大作业)报告一、题目分析本次课程设计课题是设计基于微程序控制器的简单计算机设计与实现,宏观上利用CPU、cache、存储器以及一些外设设备来组成一台简单计算机,微观上由运算器、译码电路、和存储器指令用的控制存储器构成。
此次设计要求完成各个指令的格式以及编码的设计,实现各个机器指令的微代码。
本计算机实现的功能有:IN(输入),OUT(输出),ADD(加法),SUB(减法),STA(存数),JMP(跳转)。
设计进行开始,在了解微程序的基本格式, 及各个字段值的作用后, 按微指令格式参照指令流程图,设计出程序以及微程序,将每条微指令代码化,译成二进制代码表,并将二进制代码转换为联机操作时的十六进制格式文件。
根据机器指令系统要求,设计微程序流程图及确定微地址。
设计的加法和减法中, 被加数和被减数都由调试人员输入, 而加数和减数都从存储器中读取. 最后上机调试,各个功能运行结果正确。
二、基本理论计算机原理图(一)、ALU1、功能及组成它是数据加工处理部。
执行所有的算术运算执行所有的逻辑运算,并进行逻辑测试,通常,一个算术操作产生一个运算结果,而一个逻辑操作则产生一个判决。
2、设计图(二)、CPU1、如何执行指令(1)MOV指令a. 程序计数器PC中装入第一条指令地址101b. PC的内容被放到指令总线ABUS上,对指存进行译码,并启动读命令。
c. 从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR。
d. 程序计数器内容加1,变成102,为取下一条指令做好准备。
e. 指令寄存器中的操作码被译码。
f. CPU识别出是MOV指令。
至此,取值周期结束。
g. 操作控制(OC)器送出控制信号到通用寄存器,选择R1作源寄存器,选择R0作目标寄存器。
h. OC送出控制信号到ALU,制定ALU做传送操作。
i. OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS 上。
(任何时候DBUS上只能有一个数据)j. OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR。
计算机组成原理课程设计报告

计算机组成原理课程设计实验报告目录一、程序设计 (1)1、程序设计目的 (1)2、程序设计基本原理 (1)二、课程设计任务及分析 (6)三、设计原理 (7)1、机器指令 (7)2、微程序流程图 (9)3、微指令代码 (10)4、课程设计实现步骤 (11)四、实验设计结果与分析 (15)五、实验设计小结 (15)六、参考文献 (15)一、程序设计1、程序设计目的(1)在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
(2使用简单模型机和复杂模型机的部分机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
(3)掌握微程序控制器的组成原理。
(4)掌握微程序的编写、写入,观察微程序的运行。
(5)通过课程设计,使学生将掌握的计算机组成基本理论应用于实践中,在实际操作中加深对计算机各部件的组成和工作原理的理解,掌握微程序计算机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。
2、程序设计基本原理(1)实验模型机结构[1] 运算器单元(ALU UINT)运算器单元由以下部分构成:两片74LS181构成了并-串型8位ALU;两个8位寄存器DR1和DR2为暂存工作寄存器,保存参数或中间运算结果。
ALU的S0~S3为运算控制端,Cn为最低进位输入,M为状态控制端。
ALU的输出通过三态门74LS245连到数据总线上,由ALU-B控制该三态门。
[2] 寄存器堆单元(REG UNIT)该部分由3片8位寄存器R0、R1、R2组成,它们用来保存操作数用中间运算结构等。
三个寄存器的输入输出均以连入数据总线,由LDRi和RS-B根据机器指令进行选通。
[3] 指令寄存器单元(INS UNIT)指令寄存器单元中指令寄存器(IR)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由LDIR控制其选通。
[4] 时序电路单元(STATE UNIT)用于输出连续或单个方波信号,来控制机器的运行。
山东大学计算机组成原理课程设计实验报告

运算器结构如下图所示。R0、R1、R2 均为 D 触发器组成的八位寄存器,在打入 脉冲 CPRi 的作用下,接收数据输入端提供的信息送入 Ri 中。
μIR23-16 为微指令寄存器的高八位,可定义为操作数。进位信号 C0、打入脉冲 CPR0、CPR1、CPR2、M、S0、S1、S2、S3 均由微指令寄存器的 μIR8 和 μIR7--μIR0 产生。
算术逻辑运算单元 ALU 的设计
该部分中算术逻辑运算单元用两片 74LS181 芯片按如下图所示结构实现八位 组间串行进位运算器。
74LS181 功能表如下图所示。
5
计算机一班 鸿武 QQ:2420430689(2 号)
ALU 的实现电路图如下。
实验调试
将设计完成的电路图下载到 FPGA 中。按照前面所给的 74LS181 功能表编写 微指令,并写入到 ROM 中,微指令从 0 地址单元开始存放。
微程序控制的存储器读写系统设计............................................... 7 设计目的................................................................. 7 设计要求................................................................. 7 结构与信号索引........................................................... 8 微指令格式及微指令编制................................................... 8
微程序控制的运算器设计详细电路图 ........................................ 22 微程序控制的存储器读写系统设计详细电路图 ................................ 24 微程序设计模型机详细电路图.............................................. 25 硬布线控制的模型机详细电路图............................................ 34
计算机组成原理课程设计-----基本模型机设计与实现

课程设计(论文)任务书软件学院软件(多媒体)专业05级(4)班一、课程设计(论文)题目基本模型机设计与实现二、课程设计(论文)工作自2007 年 6 月 25 日起至 2007 年6 月30日止。
三、课程设计(论文) 地点: 5-301计算机组成原理实验室四、课程设计(论文)内容要求:1.本课程设计的目的(1)使学生掌握系统各功能模块的基本工作原理;(2)培养学生单片机应用系统的设计能力;(3)使学生较熟练地应用电子线路CAD工具完成单片机系统的硬件设计任务;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求1)基本要求:(1)分析所设计系统中各功能模块的工作原理;(2)选用合适的器件(芯片);(3)提出系统的设计方案(要有系统电气原理图);(4)对所设计电路进行调试。
2)创新要求:在基本要求达到后,可进行创新设计,如改善电路性能;对系统进行仿真分析。
3)课程设计论文编写要求(1)要按照书稿的规格打印誊写毕业论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)毕业论文装订按学校的统一要求完成4)答辩与评分标准:(1)完成原理分析:20分;(2)完成设计过程:30分;(3)完成调试:20分;(4)回答问题:20分。
(5)格式规范性:10分。
5)参考文献:(1)胡越明.《计算机组成与系统结构》电子工业出版社(2)白中英.《计算机组成原理》科学技术出版社(3)/down/42/2006/20061105264.html6)课程设计进度安排内容天数地点构思及收集资料1图书馆组装与调试4实验室撰写论文2图书馆、实验室学生签名:2007年6 月25 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差();(2)设计分析(20分):优()、良()、中()、一般()、差();(3)完成调试(20分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)格式规范性(20分):优()、良()、中()、一般()、差();(6)考勤是否降等级:是()、否()评阅人:职称:助教2007 年7 月1日目录一、课设目的及内容 (1)二、设计的原理 (2)三、二进制微代码表设计 (4)四、机器指令程序 (5)五、线路连接图 (6)六、微程序流程及说明 (11)七、心得体会 (12)八、参考文献 (13)一、课设目的及内容目的:(1)掌握部件单元电路,例如,主存储器单元(MAIN MEN),输入设备单元(INPUT DEVICE),输出设备单元(OUTPUT DEVICE),总线单元(BUS UNIT)等。
《计算机组成原理》教案

《计算机组成原理》教案一、课程简介1.1 课程背景计算机组成原理是计算机科学与技术专业的一门核心课程,旨在帮助学生了解和掌握计算机的基本组成、工作原理和性能优化方法。
通过本课程的学习,学生将能够理解计算机硬件系统的整体结构,掌握各种计算机组件的功能和工作原理,为后续学习操作系统、计算机网络等课程打下基础。
1.2 课程目标(1)了解计算机系统的基本组成和各部分功能;(2)掌握计算机指令系统、中央处理器(CPU)的工作原理;(3)熟悉存储器层次结构、输入输出系统及总线系统;(4)学会分析计算机系统的性能和优化方法。
二、教学内容2.1 计算机系统概述(1)计算机的发展历程;(2)计算机系统的层次结构;(3)计算机系统的硬件和软件组成。
2.2 计算机指令系统(1)指令的分类和格式;(2)寻址方式;(3)指令的执行过程。
2.3 中央处理器(CPU)(1)CPU的结构和功能;(2)流水线技术;(3)多核处理器。
2.4 存储器层次结构(1)存储器概述;(2)随机存取存储器(RAM);(3)只读存储器(ROM);(4)缓存(Cache)和虚拟存储器。
2.5 输入输出系统(1)输入输出设备;(2)中断和DMA方式;(3)总线系统。
三、教学方法3.1 讲授法通过讲解、举例、分析等方式,使学生掌握计算机组成原理的基本概念、原理和应用。
3.2 实验法安排实验课程,使学生在实践中了解和验证计算机组成原理的相关知识。
3.3 案例分析法分析实际案例,使学生了解计算机组成原理在实际应用中的作用和意义。
四、教学评价4.1 平时成绩包括课堂表现、作业完成情况、实验报告等。
4.2 期末考试采用闭卷考试方式,测试学生对计算机组成原理知识的掌握程度。
五、教学资源5.1 教材《计算机组成原理》(唐朔飞著,高等教育出版社)。
5.2 辅助资料包括课件、实验指导书、案例分析资料等。
5.3 网络资源推荐学生访问相关学术网站、论坛,了解计算机组成原理的最新研究动态和应用成果。
计算机组成原理课程设计的实验报告范文

长治学院课程设计报告课程名称:计算机组成原理课程设计设计题目:设计一台性能简单的计算机系别:计算机系专业:计科1101班组别:第三组学生姓名: 学号:起止日期: 2013年7月4日~ 2013年7月10日****:***目录一、课程设计的目的 ----------------------------------1二、设计要求 ----------------------------------------1三、设计的方法及过程---------------------------------23.1整机设计 --------------------------------------23.1.1 根据设计要求正确设置正确设置多路开关-------23.1.2操作控制信号及其实现方式-------------------23.1.3根据接线表画出整机的线路图-----------------2 3.2.设计指令系统----------------------------------3 3.3.设计微指令及指令的微程序----------------------43.3.1设计微地址 --------------------------------4 3.3.2写出指令的执行流程-------------------------3 3.3.3编写指令的微程序---------------------------53.4.编写并执行应用程序----------------------------8四、心得体会-----------------------------------------7 一课程设计的目的通过课程设计更清楚地理解下列基本概念:(1)计算机的硬件基本组成;(2)计算机中机器指令的设计;(3)计算机中机器指令的执行过程;(4)微程序控制器的工作原理;(5)微指令的格式设计原理;二设计要求题一研制以台性能如下的实验计算机。
计算机组成原理-简单模型机设计课设

目录摘要 (2)前言 (3)正文 (4)一、设计目的和设计原理 (4)1.1设计目的 (4)1.2设计原理 (4)二、总体设计 (7)三、详细设计 (8)3.1运算器的物理结构 (8)3.2存储器系统的组成与说明 (11)3.3指令系统的设计与指令分析 (12)3.4微程序控制器的逻辑结构及功能 (14)3.5微程序的设计与实现 (18)四、系统调试 (27)总结 (29)参考文献 (30)致谢 (31)摘要根据设计任务书要求,本设计要实现完成一个简单计算机的设计,主要设计部分有运算器,存储器,控制器以及微指令的设计。
其中运算器由运算芯片和寄存器来完成,存储器由总线和寄存器构成,使用硬布线的方式实现控制器,从而完成设计要求。
:关键词:基本模型机的设计;运算器;存储器;控制器;前言计算机组成原理是计算机科学技术学科的一门核心专业基础课程。
从课程的地位来说,它在先导课程和后续课程之间起着承上启下的作用。
计算机组成原理讲授单处理机系统的组成和工作原理,课程教学具有知识面广,内容多,难度大,更新快等特点。
此次课程设计目的就是为了加深对计算机的时间和空间概念的理解, 增强对计算机硬件和计算机指令系统的更进一步了解。
计算机组成原理课程设计目的是为加深对计算机工作原理的理解以及计算机软硬件之间的交互关系。
不仅能加深对计算机的时间和空间的关系的理解,更能增加如何实现计算机软件对硬件操作,让计算机有条不紊的工作。
正文一、设计目的和设计原理1.1设计目的融会贯通计算机组成原理课程中各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,特别是对硬连线控制器的认识,建立清晰的整机概念。
对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
在掌握部件单元电路实验的基础上,进一步将其组成系统地构造一台基本模型计算机。
计算机组成原理教学设计

《计算机组成原理》教学设计一、该课程应讲授的内容体系1.基本描述【课程中文名称】:计算机组成原理【课程英文名称】:PRINCIPLES OF COMPUTER ORGANIZATION【总学时】:68【讲课学时】:52【实验学时】:16【授课对象】:计算机科学与技术专业、信息安全专业、生物信息技术专业【先修课程】:数字电路设计2.教学定位《计算机组成原理》是计算机科学与技术专业本科教学中的一门重要技术基础课,在计算机科学与技术专业的教学计划中占有重要地位和作用。
学习本课程旨在使学生掌握计算机硬件各子系统的组成原理及实现技术,建立计算机系统的整体概念,对培养学生设计开发计算机系统的能力有重要作用。
该课程为今后学习计算机体系结构、计算机网络、计算机容错技术、计算机并行处理、计算机分布式处理技术等课程打好基础。
3.知识点与学时分配( 1 )第一章计算机系统概论(2.5学时)计算机软硬件概念、计算机系统的层次结构、计算机的基本组成、冯•诺依曼计算机的特点、计算机的硬件框图及工作过程、计算机硬件的主要技术指标和本书结构及学习指南。
( 2 )第二章计算机的发展及应用(0.5学时)计算机的产生、发展及在各个不同领域的应用。
( 3 )第三章系统总线(3学时)总线的基本概念、总线的分类、总线特性及性能指标、总线结构和总线的判优控制及通信控制。
( 4 )第四章存储器(10学时)存储器分类和存储器的层次结构;主存储器(包括半导体存储芯片简介、静态随机存取存储器和动态随机存取存储器、只读存储器、存储器与CPU的连接、存储器的校验、提高访存速度的措施);高速缓冲存储器(包括Cache的基本结构及工作原理、Cache--主存地址映像、替换算法);辅助存储器(包括辅助存储器的特点及主要技术指标、磁记录原理和记录方式、磁盘存储器的结构、光盘存储器的存取原理)。
( 5 )第五章输入输出系统(8学时)输入输出系统的发展概况及组成、I/O与主机的编址方式、传送方式、联络方式以及设备寻址;外部设备分类及简介、I/O接口的功能及基本组成;程序查询方式的工作原理及程序查询接口电路;程序中断方式的工作原理及程序中断接口电路、中断服务流程;DMA方式的特点、DMA接口电路的功能、组成、类型及DMA 的工作过程。
计算机组成原理课程设计

计算机组成原理课程设计一、设计背景计算机组成原理是计算机科学与技术专业的一门基础课程,旨在培养学生对计算机硬件组成和工作原理的深刻理解。
通过课程设计,学生可以巩固和应用所学的知识,提高解决实际问题的能力。
二、设计目标本次计算机组成原理课程设计的目标是让学生通过实践,加深对计算机硬件组成和工作原理的理解,培养学生的设计和实现能力。
具体目标包括:1. 设计并实现一个简单的计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。
2. 熟悉计算机指令系统的设计与实现,包括指令的编码、解码和执行过程。
3. 学会使用硬件描述语言(如VHDL)进行计算机硬件的设计和仿真。
4. 掌握计算机系统的性能评估方法,包括指令周期、时钟频率等。
三、设计内容本次计算机组成原理课程设计的内容为设计并实现一个简单的基于冯·诺依曼结构的计算机系统。
具体设计内容包括以下几个方面:1. 计算机系统的总体设计根据冯·诺依曼结构的原理,设计计算机系统的总体框架。
包括中央处理器(CPU)、存储器、输入输出设备等。
2. 指令系统的设计与实现设计并实现一个简单的指令系统,包括指令的编码、解码和执行过程。
指令集可以包括算术运算、逻辑运算、数据传输等常见指令。
3. 中央处理器(CPU)的设计与实现设计并实现一个简单的中央处理器,包括指令寄存器、程序计数器、算术逻辑单元等。
通过对指令的解码和执行,实现计算机的基本功能。
4. 存储器的设计与实现设计并实现一个简单的存储器模块,包括指令存储器和数据存储器。
通过存储器的读写操作,实现程序的加载和数据的存储。
5. 输入输出设备的设计与实现设计并实现一个简单的输入输出设备,如键盘和显示器。
通过输入输出设备,实现用户与计算机系统的交互。
6. 系统性能评估对设计的计算机系统进行性能评估,包括指令周期、时钟频率等指标的测量和分析。
通过性能评估,优化计算机系统的性能。
四、设计步骤本次计算机组成原理课程设计的步骤如下:1. 确定设计的整体框架和目标,明确设计的内容和要求。
计算机组成原理课程设计---——简单模型机的微程序设计

课程设计报告课程名称:计算机组成原理系别:姓名:班级:学号:成绩:指导教师:开课时间:20 -20 学年第学期一.设计题目计算机组成原理课程设计——简单模型机的微程序设计二.主要内容通过课程设计更清楚地理解下列基本概念:1.计算机的硬件基本组成;2.计算机中机器指令的设计3.计算机中机器指令的执行过程;4.微程序控制器的工作原理。
5.微指令的格式设计原则;在此基础上设计可以运行一些基本机器指令的微程序的设计三.具体要求置数指令 IN 置数开关SW(KD0~KD7)的状态→R0加法指令 ADD R0,,(addr):(R0)+(addr)→(R0)存数指令 STA R0,(addr):(R0)→(addr)输出指令 OUT (addr):(addr)→输出设备"LED"跳转指令 JMP (addr):addr→PC或指令OR RD,RS:(RS)或(RD)→(RD)新加法指令 NADD (addr1),(addr2):(addr1)加(addr2)→(RD)异或指令XOR (addr1),(addr2):(addr1)异或(addr2)→(RD)与指令AND RD,RS:(RS)与(RD)→(RD)求反指令 NOT RD:/(RD) →(RD)四.进度安排共1.5周11天的时间,具体安排如下:1~2天:对整个课程设计的内容做详细的讲解,并辅导学生完成课程设计指导书的学习,使其掌握和理解课程设计的核心内容;3 ~5天:学生在机房学习熟悉课程设计所使用的仿真软件,并深入了解该仿真软件所实现的模型机的指令系统(原有的5条指令)和微程序设计方法;6~9天:在原有5条机器指令的基础上增加实现下述各功能的机器指令,试设计相应的机器指令的格式并改写原来的微程序使其可以运行所有的机器指令。
10~11天:根据自己设计的微程序系统写出相应的课程设计实验报告五.成绩评定六. 正文一、模型机的CPU及系统硬件基本模型机的CPU及系统硬件组成如图1所示:图1 模型机的CPU及系统硬件组成各部件的功能及控制信号如下:运算器由算逻部件ALU(8位)、暂存器DR1、DR2及通用寄存器等组成。
简单计算机系统课程设计计算机组成实验C

《计算机组成实验C »课程设计适用专业:电子信息类专业西南交通大学信息科学与技术学院简化计算机系统的设计一.实验目的:通过学习简单的指令系统及其各指令的操作流程,用VHDL语言实现简单的处理器模块,并通过调用存储器模块,将处理器模块和存储器模块连接形成简化的计算机系统二.实验内容1.用VHDL语言实现简单的处理器模块。
2.调用存储器模块设计256X16的存储器模块。
3•将简单的处理器模块和存储器模块连接形成简单的计算机系统4•将指令序列存入存储器,然后分析指令执行流程。
三.预习要求:1、学习简单指令集。
2、学习各指令的操作流程。
四•实验报告内存文件:图2 内存文件.Mif2. 程序设计LIBRARY ieee;USE ieee.std_logic_1164.ALL; PACKAGE mypack ISCONSTANT idle : std_logic_vector(3 DOWNTO 0) :="0000"; CONSTANT load : std_logic_vector(3 DOWNTO 0) :="0001"; CONSTANT move : std_logic_vector(3 DOWNTO 0) :="0010"; CONSTANT addx : std_logic_vector(3 DOWNTO 0) :="0011"; CONSTANT subp : std_logic_vector(3 DOWNTO 0) :="0100"; CONSTANT andp : std_logic_vector(3 DOWNTO 0) :="0101"; CONSTANT orp : std_logic_vector(3 DOWNTO 0) :="0110"; CONSTANT xorp : std_logic_vector(3 DOWNTO 0) :="0111"; CONSTANT shrp : std_logic_vector(3 DOWNTO 0) :="1000"; CONSTANT shlp : std_logic_vector(3 DOWNTO 0) :="1001"; CONSTANT swap : std_logic_vector(3 DOWNTO 0) :="1010"; CONSTANT jmp : std_logic_vector(3 DOWNTO 0) :="1011"; CONSTANT jz : std_logic_vector(3 DOWNTO 0) :="1100"; CONSTANT read : std_logic_vector(3 DOWNTO 0) :="1101"; CONSTANT write : std_logic_vector(3 DOWNTO 0) :="1110";CONSTANT stop : std_logic_vector(3 DOWNTO 0) :="1111"; END mypack; LIBRARY ieee;USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; USE WORK.mypack.ALL;----------------------- c pu 实体声明 -------------------------------- ENTITY cpu2 ISPORT(reset : IN std_logic; clock : IN std_logic; Write_Read: OUT std_logic; -- M_address: OUT std_logic_vector(11 DOWNTO 0); --M_data_in: IN std_logic_vector(7 DOWNTO 0); --M_data_out: OUT std_logic_vector(7 DOWNTO 0); -overflow:OUT std_logic);END cpu2;----------------------- c puRTL 级行为描述 ---------------ARCHITECTURE RTL of cpu2 ISSIGNAL IR: std_logic_vector(15 DOWNTO 0); -- 指令寄存器 SIGNAL MDR: std_logic_vector(7 DOWNTO 0); -- 数据寄存器 SIGNAL MAR: std_logic_vector(11 DOWNTO 0);-- 地址寄存器SIGNAL status: integer RANGE 0 TO 6; -- 状态寄存器 BEGIN status_change: PROCESS(reset, clock, status ) BEGINIF reset = '0' THEN status <= 0 ; ELSIF clock'EVENT AND clock = '0' THENCASE status IS清零信号低有效 时钟信号读写信号 ,'1' 为写 地址线 数据输入线 数据输出线 -- 溢出标志WHEN 0 => status <= 1;WHEN 1 =>IF IR(15 DOWNTO 12) = Stop THEN status <= 1;ELSEstatus <= 2;END IF; WHEN 2 =>CASE IR(15 DOWNTO 12) ISWHEN Read|Write|Jmp|Jz|Swap=>status <= 3;WHEN OTHERS => status <= 0;END CASE; WHEN 3 =>IF IR(15 DOWNTO 12)= Swap THEN status <= 0;ELSEstatus <= 4; END IF;WHEN 4 => status <= 5;WHEN 5 =>CASE IR(15 DOWNTO 12) ISWHEN Read|Write => status<= 6;WHEN OTHERS => status <= 0;END CASE;WHEN OTHERS => status <= 0;END CASE;ELSENULL;END IF;END PROCESS status_change; seq: PROCESS(reset,clock)VARIABLE PC:std_logic_vector(11 DOWNTO 0);VARIABLE R0,R1,R2,R3: std_logic_vector(7 DOWNTO 0); - VARIABLE A: std_logic_vector(7 DOWNTO 0); -VARIABLE temp: std_logic_vector(8 DOWNTO 0);BEGINIF(reset='0') THENIR <= (OTHERS=>'0');PC := (OTHERS=>'0');R0 := (OTHERS=>'0');R1 := (OTHERS=>'0');R2 := (OTHERS=>'0');R3 := (OTHERS=>'0');A := (OTHERS=>'0');MAR <= (OTHERS=>'0');MDR <= (OTHERS=>'0');ELSIF(clock'event AND clock='1') THENoverflow <= '0';CASE status ISWHEN 0=> --IR <= M_data_in & "00000000"; - PC := PC+1; -WHEN 1=> -IF (IR(15 DOWNTO 12) /= stop) THENMAR <= PC;END IF;CASE IR(15 DOWNTO 12) ISWHEN load =>R0:= "0000" & IR(11 DOWNTO 8);WHEN shlp|shrp =>CASE IR(11 DOWNTO 10) ISWHEN "00"=> A:= R0;WHEN "01"=> A:= R1;WHEN "10"=> A:= R2;WHEN OTHERS => A:= R3;END CASE;WHEN Move|addx|subp|andp|orp|xorp|Swap=> CASE IR(9 DOWNTO 8) ISWHEN "00"=> A:=R0;WHEN "01"=> A:=R1;WHEN "10"=> A:=R2;WHEN OTHERS=> A:=R3;END CASE;WHEN OTHERS => NULL;END CASE;-- 程序计数器通用寄存器临时寄存器-- 临时变量-- 清零状态0- 取指令- 程序计数器加1 状态1-- Rx to A-- Ry to AWHEN 2=> 状态2CASE IR(15 DOWNTO 12) ISWHEN addx => -- Rx:= Rx + A;CASE IR(11 DOWNTO 10) ISWHEN "00"=>temp := (R0(7) & R0(7 DOWNTO0)) + (A(7) & A(7 DOWNT0O));R0:=temp(7 DOWNTO 0);overflow <= temp(8) XOR temp(7);WHEN "01"=>temp :=(R1(7) & R1(7 DOWNTO0)) + (A(7) & A(7 DOWNTO0));R1:=temp(7 DOWNTO 0);overflow <= temp(8) XOR temp(7);WHEN "10"=>temp :=(R2(7) & R2(7 DOWNTO0)) + (A(7) & A(7 DOWNTO0));R2:=temp(7 DOWNTO 0);overflow <= temp(8) XOR temp(7);WHEN OTHERS=>temp :=(R3(7) & R3(7 DOWNTO0)) + (A(7) & A(7 DOWNTO0));R3:=temp(7 DOWNTO 0);overflow <= temp(8) XOR temp(7);END CASE;WHEN subp => -- Rx:= Rx - A;CASE IR(11 DOWNTO 10) ISWHEN "00"=>temp :=(R0(7) & R0(7 DOWNTO 0)) + NOT(A(7) & A(7 DOWNTO 0)) + 1;R0:=temp(7 DOWNTO 0); overflow <= temp(8) XOR temp(7);WHEN "01"=>temp :=(R1(7) & R1(7 DOWNTO 0)) + NOT(A(7) & A(7 DOWNTO 0)) + 1;R1:=temp(7 DOWNTO 0); overflow <= temp(8) XOR temp(7);WHEN "10"=>temp :=(R2(7) & R2(7 DOWNTO 0)) + NOT(A(7) & A(7 DOWNTO 0)) + 1;R2:=temp(7 DOWNTO 0); overflow <= temp(8) xor temp(7);WHEN OTHERS=>temp :=(R3(7) & R3(7 DOWNTO 0)) + NOT(A(7) & A(7 DOWNTO0)) + 1;R3:=temp(7 DOWNTO 0); overflow <= temp(8) XOR temp(7);END CASE;WHEN move =>CASE IR(11 DOWNTO 10) ISWHEN "00"=> R0:= A;WHEN "01"=> R1:= A;WHEN "10"=> R2:= A;WHEN OTHERS=> R3:= A;END CASE;WHEN shrp =>CASE IR(11 DOWNTO 10) ISWHEN "00"=> R0:= '0' & A( 7 DOWNTO 1 );WHEN "01"=> R1:= '0' & A( 7 DOWNTO 1 );WHEN "10"=> R2:= '0' & A( 7 DOWNTO 1 );WHEN OTHERS=> R3:= '0' & A( 7 DOWNTO 1 );END CASE;WHEN shlp =>CASE IR(11 DOWNTO 10) ISWHEN "00"=> R0:= A( 6 DOWNTO 0 ) & '0';WHEN "01"=> R1:= A( 6 DOWNTO 0 ) & '0';WHEN "10"=> R2:= A( 6 DOWNTO 0 ) & '0';WHEN OTHERS=> R3:= A( 6 DOWNTO 0 ) & '0'; END CASE; WHEN andp => --Rx:= Rx AND A;CASE IR(11 DOWNTO 10) ISWHEN "00"=> R0:=R0 AND A;WHEN "01"=> R1:=R1 AND A;WHEN "10"=> R2:=R2 AND A;WHEN OTHERS=> R3:=R3 AND A;END CASE;WHEN orp => --Rx:= Rx OR A;CASE IR(11 DOWNTO 10) ISWHEN "00"=> R0:=R0 OR A;WHEN "01"=> R1:=R1 OR A;WHEN "10"=> R2:=R2 OR A;WHEN OTHERS=> R3:=R3 OR A;END CASE;WHEN xorp => --Rx:= Rx XOR A;CASE IR(11 DOWNTO 10) ISWHEN "00"=> R0:=R0 XOR A;WHEN "01"=> R1:=R1 XOR A;WHEN "10"=> R2:=R2 XOR A;WHEN OTHERS=> R3:=R3 XOR A;END CASE;WHEN Swap => --Swap: Rx to Ry;CASE IR(11 DOWNTO 8) ISWHEN "0100"=> R0:=R1; WHEN "1000"=> R0:=R2; WHEN "1100"=> R0:=R3; WHEN "0001"=> R1:=R0; WHEN "1001"=> R1:=R2; WHEN "1101"=> R1:=R3; WHEN "0010"=> R2:=R0; WHEN "0110"=> R2:=R1; WHEN "1110"=> R2:=R3; WHEN "0111"=> R3:=R1; WHEN "1011"=> R3:=R2; WHEN "0011"=> R3:=R0; WHEN OTHERS=> NULL; END CASE;WHEN OTHERS => NULL; END CASE; WHEN 3=> -CASE IR(15 DOWNTO 12) ISWHEN Swap=> -- Swap: A to Rx CASE IR(11 DOWNTO 10) IS WHEN "00"=> R0:=A; WHEN "01"=> R1:=A; WHEN "10"=> R2:=A;WHEN OTHERS=> R3:=A; END CASE;WHEN jmp|Jz|Read|Write => IR(7 DOWNTO 0)<= M_data_in; PC := PC+1;WHEN OTHERS => NULL;END CASE;WHEN 4=> -CASE IR(15 DOWNTO 12) IS WHEN jmp =>PC := IR(11 DOWNTO 0); MAR <= IR(11 DOWNTO 0);WHEN Jz => --IF(R0="00000000") then PC := IR(11 DOWNTO 0); MAR <= IR(11 DOWNTO 0); elseMAR <= PC; END IF;WHEN Read =>MAR <= IR(11 DOWNTO 0); WHEN Write =>MAR <= IR(11 DOWNTO 0); MDR <= R0;WHEN OTHERS => NULL; END CASE; WHEN 5 =>-- 状态 5状态 3-- 取双字节指令的后半部分 状态 4-- 无条件转移指令MAR <= PC;WHEN 6 => -- 状态6CASE IR(15 DOWNTO 12) ISWHEN Read => R0 := M_data_i n;WHEN OTHERS=> NULL;END CASE;END CASE;END IF;END process seq;comb: PROCESS (reset, status)BEGINIF (reset = '1' AND status = 5 AND IR(15 DOWNTO 12)= Write ) THENWrite_Read <= '1';ELSEWrite_Read <= '0';END IF;END PROCESS comb;M_address <= MAR;M_data_out <= MDR;END RTL;3.仿真波形图「JuuLnnnrmTLnjwmfumrmTLnnjumjuinrmTLRrumjmnnrmTLnruuiTLfuv图3 波形图1JTn_mrm"Lnr_n_TTLn_rrirr_rLrLm_rLTr_rui_TrTLmrjmruurLrTLrLrLr_n_解释如下:re -■和总iHEAH iutl^-EAq.fC ■ <pl£: IHLt I'lSQQ..fiD3曲盘:g 汀怙MJ 回ipd*! i .MLl! U Q -p^“q H3Q 咖?: ivst lU 园 cifi£:: iut IVM L E 回 'P ^L . i iu t |fllkE 4p (£. Lui 1^141 k. QJ I *i4r*si.+j I e &i i trafcill 1.9图5 指令含义4. 实验感想通过本实验我学到很多有用知识,不仅提高了我的系统设计和软件编程的能力,还让我对计算机组成原理实验课程有了更一步的掌握和认识。
计算机组成原理课程设计报告书

计算机组成原理课程设计报告书计算机组成原理课程设计报告书目录一.实验计算机设计11.整机逻辑框图设计12.指令系统的设计23.微操作控制部件的设计54.设计组装实验计算机接线表135.编写调试程序14二.实验计算机的组装14三.实验计算机的调试151.调试前准备152.程序调试过程163.程序调试结果164.出错和故障分析16四.心得体会17五.参考文献17题目研制一台多累加器的计算机一实验计算机设计1.整机逻辑框图设计此模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。
1.运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器R0,R1,R2等组成。
2.控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。
3.存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。
4输入设备是由置数开关SW控制完成的。
5.输出设备有两位LED数码管和W/R控制完成的LR0LR1LR2寄存器AxBxCxR0-GR1-GR2-G数据总线(D_BUS)ALU-GALUMCNS3S2S1S0暂存器LT1暂存器LT2LDR1LDR2移位寄存器MS1S0G-299输入设备DIJ-G微控器脉冲源及时序指令寄存器LDIR图中所有控制信号LPCPC-G程序计数器LOADLAR地址寄存器存储器6116CEWE输出设备D-GW/RCPU图1整机的逻辑框图图1-1中运算器ALU由U7--U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。
微控器部分控存由U13--U15三片2816构成。
除此之外,CPU的其他部分都由EP1K10集成。
存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H--FFH。
输出设备由底板上的四个LED数码管及其译码、驱动构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。
0813022057 施磊磊 计082班 计算机组成原理课程设计(模型计算机的设计与实现)

南通大学计算机科学与技术学院计算机组成原理课程设计报告书课题名模型计算机的设计与实现班级计082姓名施磊磊学号 **********指导教师顾晖日期 2011.1.10 ~ 2011.1.14一、设计目的1、融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,经阿什计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。
2、学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计和调试的实践和经验。
二、设计内容1、根据给定的数据格式和指令系统,设计一台微程序控制的模型计算机。
2、根据设计图,在QUARTUS II环境下仿真调试成功。
3、在调试成功的基础上,整理出设计图纸和相关文件,包括:(1)总框图(数据通路图);(2)微程序控制器逻辑图;(3)微程序流程图;(4)微程序代码表;(5)设计说明书;(6)工作小结。
三、数据格式与指令系统1、数据格式数据字规定采用定点整数补码表示法,字长8位,其中最高位为符号位,其格式如下:7 6 5 4 3 2 1 02、指令格式本实验设计使用5条机器指令,其格式与功能说明如下:7 6 5 4 3 2 1 0INADDSTAOUTJMPIN指令为单字长(字长为8bits)指令,其功能是将数据开关的8位数据输入到R0寄存器。
ADD指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器的内容与内存中地址为A的数相加,结果存放在R0寄存器中。
STA指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器中的内容存储到以第二个字为地址的内存单元中。
OUT指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将内存中以第二个字为地址的内存单元中的数据读出到数据总线,显示之。
JMP指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是程序无条件转移到第二个字指定的内存单元地址。
计算机组成原理》课程设计报告

课程设计说明书《计算机组成原理》算法实现(五)专业 计算机科学与技术学生夏晶晶 班级 M 计算机101 学号1051401122指导教师花小朋完成日期2013年6月21日目录1 课程设计目的 (2)2 课程设计容与要求 (2)2.1课程设计的容 (2)2.2 课程设计的要求 (2)3 实现方法 (2)3.1 系统目标 (2)3.2 主体设计 (4)3.2.1 主窗体的设计 (4)3.2.2 定点整数真值还原窗体的设计 (6)3.2.3 定点整数单符号位补码加减法 (8)3.2.4 定点整数的原码乘法 (10)3.2.5 浮点数的加减运算 (12)4 设计小结 (13)参考文献 (13)1 课程设计目的本课程设计是在学完本课程教学大纲规定的全部容、完成所有实践环节的基础上,旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法,并进行具体实现,提高分析问题、解决问题的综合应用能力。
2 课程设计容与要求2.1课程设计的容计算机组成原理算法实现(五)2.2 课程设计的要求能够实现机器数的真值还原(定点整数)、定点整数的单符号位补码加减运算、定点整数的原码乘法运算和浮点数的加减运算。
3 实现方法3.1 系统目标本程序含有以下几个功能模块,分别能够实现如设计容所设计的功能。
共有5个类,各类之间的关系如图3-1所示:系统流程图:3.2 主体设计3.2.1 主窗体的设计程序菜单需要在输入口令正确后方可使用,若口令输入错误需给出重新输入口令的提示,三次口令输入错误则禁止使用。
登陆算法的流程图:输入密码判断密码计数器减1激活菜单栏隐藏登陆显示欢迎界面弹出错误窗口判断计数器值是否大于零结束开始3.2.2 定点整数真值还原窗体的设计选择主窗体中“机器数的真值还原(定点整数)”时进入下图所示的窗体。
在上面的窗体中按“输入”按扭时,将输入焦点设置为最上面的一个文本框上。
输入一个机器数(如10001000)后,按“原->真值”、“反->真值”、“补->真值”或“移->真值”按扭中的任一个后,将在第二文本框中显示对应操作的结果。
计算机组成原理课程设计--基本模型机设计与实现

计算机组成原理课程设计一基本模型机设计与实现计算机组成原理课程设课程设计名称:计算机组成原理设计项目名称:基本模型机设计与实现专业:计算机科学与技术班级:计科们5 ________2014年6月13日一、课程设计的教学目的本课程设计的教学目是在掌握计算机系统的组成及内部工作机制,理解计算机各功能部件工作原理的基础上,进一步加深计算机系统各模块间相互关系的认识和整机的概念,在设计实践中提高应用所学专业知识分析问题和解决问题的能力。
学会微程序的设计方法,进一步掌握微程序控制器的工作原理,并体会设计方案的优劣对性能发挥的重要性,培养科学研究的独立工作和创新能力,取得设计与调试的实践经验。
二、课程设计任务和基本要求本课程设计以TDN-CM++计算机组成原理教学实验系统为平台设计完成。
1.按给定的数据格式和指令系统,设计一个微程序控制器。
2.设计给定机器指令系统以及微程序流程图, 按微指令格式写出微程序的为指令代码。
3.连接逻辑电路完成启动,测试,编程,测试, 效验和运行,并观测运行过程及结果。
4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台模型计算机。
5.用微程序控制器控制模型机的数据通路。
6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。
7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序.在PC机上编辑机器指令和微程序, 装载代码到TDN-CM++实验系统并运行,实现应用要求。
三、设计任务及分析:(1)设计任务:从输入设备读取数据X并将其存入以A为间接地址的内存单元,将X与Ro.寄存器中的内容Y执行X㊉J结果送到以B为直接地址的内存单元保存。
(2)分析:A:给Ro寄存器直接置入01H.B:从数据开关给间接地址为OCH的内存单元置数,(03H).C:给Ro中的内容取反,结果存在Ro中・D:将间接地址OCH中直接地址OEH中的内容(03H)放入DR1中,R。
电子计算机组成原理课程设计模拟机的设计与实现

电子计算机组成原理课程设计---模拟机的设计与实现课程设计课程名称电子计算机组成原理题目名称模拟机的设计与实现专业班级08计算机科学本(1)学生姓名张志强学号50802011012指导教师李长旺二○一○年六月二十二日目录一.程序设计概述 (4)1.1 课程设计目的 (4)1.2课程设计任务和基本要求 (4)二.模型机的具体设计 (5)2.1.设计目标 (5)2.2.设计原理 (5)2.2.2控制台命令流程图 (7)2.2.3内存映象 (8)2.2.4微程序 (9)三.课程设计具体实现步骤 (12)3.1按照图2连线 (12)3.2.微指令代码 (12)3.3分析 (13)3.4联机实现 (15)3.5结果分析 (15)四.设计心得 (15)五. 参考文献 ............................ 错误!未定义书签。
一.程序设计概述1.1 课程设计目的通过对一个简单计算机的设计,对计算机的基本组成、部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,加深对理论课程的理解。
为今后的科研打下扎实的基础。
1.2课程设计任务和基本要求(1)按给定的数据格式和指令系统,理解为程序控制器的设计原理。
(2)设计给定机器指令系统遗迹微程序流程图,安慰指令格式写出微程序的微指令代码。
(3)连接逻辑电路,完成启动、测试、编程、校验和运行,并观测运行过程及结果。
(4)将微程序控制器模块与运算器模块、存储器模块联机,组成一台模拟计算机。
(5)用微程序控制器控制模型机的数据通路。
(6)通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机的整机概念,掌握计算机的控制机制。
按指定应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型及数据通路设计实现机器指令功能的微程序。
二.模型机的具体设计2.1.设计目标设计一台模型机实现IN(输入)、ADD(加法)、STA(存数)、OUT(输出)、JMP(无条件转移)指令系统。
简易计算机系统设计

Xxxxxxxxxxx 课程设计说明书(论文)
题 目 简易计算器系统设计 课 程 名 称 微型计算机原理与接口技术 二 级 学 院 xxxxxxxxxx 专 业 xxxxxxxxxx 班 级 xxxxxxxxxxxxxxxxxxxxxx 学 生 姓 名 xxxxxxxxxxxx 设 计 地 点 xxxxxxx 指 导 教 师 xxxxxxxxxxx
设计起止时间: 2016年6 月13日至2016 年6 月24 日
成绩 . Word 资料 目录 一、设计任务与要求 ............................................................................................................ 3 二、设计思路 ....................................................................................................................... 3 三、硬件电路设计 .............................................................................................................. 10 四、软件编程设计 .............................................................................................................. 11 五、仿真与调试 .................................................................................................................. 15 六、结论与心得 .................................................................................................................. 18 七、参考文献 ..................................................................................................................... 18 .
计算机组成原理课程设计报告

计算机组成原理课程设计报告集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)南通大学计算机科学与技术学院计算机组成原理课程设计报告书课题名模型计算机的设计与实现班级计123班姓名流星雪雨学号指导教师顾辉日期目录1 设计目的1.融会贯通教材各章的内容,通过知识的综合运用,加深对计算机系统各模块的工作原理及相互联系的认识,加深计算机工作中“时间-空间”概念的理解,从而清晰地建立计算机的整机概念。
2.学习设计和调试计算机的基本步骤和方法,培养科学研究的独立工作能力,取得工程设计和调试的实践和经验。
2 设计内容1.根据给定的数据格式和指令系统,设计一台微程序控制的模型计算机。
2.根据设计图,在QUARTUS II环境下仿真调试成功。
3.在调试成功的基础上,整理出设计图纸和相关文件,包括:(1)总框图(数据通路图);(2)微程序控制器逻辑图;(3)微程序流程图;(4)微程序代码表;(5)设计说明书及工作小结。
3 设计要求(1)对指令系统中的各条指令进行分析,得出所需要的占领周期与操作序列,以便确定各器件的类型和数量;(2)设计总框图草图,进行各逻辑部件之间的互相连接,即初步确定数据通路,使得由指令系统所要求的数据通路都能实现,并满足技术指标的要求;(3)检查全部指令周期的操作序列,确定所需要的控制点和控制信号;(4)检查所设计的数据通路,尽可能降低成本,简化线路,优化性能。
以上过程可以反复进行,以便得到一个较好的方案。
4 数据格式与指令系统4.1 数据格式数据字规定采用定点整数补码表示法,字长8位,其中最高位为符号位,其格式如下:7 6 5 4 3 214.2 指令系统本实验设计使用5条机器指令,其格式与功能说明如下:7 6543210INADDSTAOUTJMPIN指令为单字长(字长为8bits)指令,其功能是将数据开关的8位数据输入到R0寄存器。
ADD指令为双字长指令,第一个字为操作码,第二个字为操作数地址,其功能是将R0寄存器的内容与内存中地址为A的数相加,结果存放在R0寄存器中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌大学信息科学与技术学院《计算机组成原理》课程设计(实训)报告书题目:简单计算机系统设计与实现专业:计算机科学与技术班级:1012*名:**学号:12指导老师:**设计时间:2012年4月9日~ 2012年4月13日目录《计算机组成原理》课程设计(实训)报告书 (1)1.实验目的 (3)2.实验内容 (3)3.实验任务 (3)4.设计过程 (4)4.1 需求分析 (6)4.2功能分析 (6)4.3所用器件分析 (7)4.4测试步骤 (11)5.实验结果 (12)6. 课程设计问题及解决方案 (13)7.心得体会 (14)8.参考文献 (15)1实验目的1.加深对冯·诺依曼体系结构计算机组成及其各部分功能的理解,进一步建立整机的概念。
2.加深对计算机数据通路的理解,熟悉计算机指令系统、时序控制信号的生成,完成一个简单计算机系统的设计。
3.锻炼初步的计算机系统分析和设计能力。
4.锻炼分析、定位和排除故障的能力。
2实验内容基于冯·诺依曼体系结构,架构一个简单计算机系统。
在设计过程中,利用PROTEUS软件的仿真功能进行仿真分析及调试定位,最终生成一个能完成简单指令及运算的计算机系统。
对主要的数据流和控制流通过LED适时显示信息。
3实验任务1.根据课程设计指导书的要求,制定出设计方案;2.画出自己所设计计算机系统的原理框图和器件连接图,分析器件连接图中各器件不同引脚的功能,哪些可以固定连接,哪些需要通过外接信号来控制,以及这些控制信号的有效形式;3.利用PROTEUS模拟仿真,布线、调试、验收;4.课程设计报告和总结。
4设计过程4.1 需求分析在本次课程设计中,我们需要根据计算机的各个部件先画出简单的框图和总体设计的框图,然后在框图的基础上选择适当的芯片实现各自的功能,在这次计算机系统设计中,主要是先实现运算器部分,保证运算的正确性,然后设计存储部分。
4.1.1.简单框图如下::4.1.2.总体设计框图如下:4.2 功能分析在这个计算机系统中,运用了计算机所能识别的二进制形式进行简单加减运算,实现将二进制程序存入内存的芯片中,然后开始执行检测,通过开关输入数据,并给其地址,存入存储器中,再输入第二个数时,同样存入存储器,经调试LED显示运算结果也保存入存储器中。
本次指令设计格式遵循常见指令格式设计原则,机器指令总共占8位,其中四位为操作码,低四位为操作数地址ADDR,见下表描述:指令格式编码及其格式说明如下:4.3 所用器件分析4.3.1.芯片74LS373:带三态缓冲输出的8D触发器,1D~8D为8个输入端,1Q~8Q为8个输出端。
G是数据锁存控制端;当G=1时,锁存器输出端同输入端;当G由“1”变为“0”时,数据输入锁存器中,OE为输出允许端;当OE=“0”时,三态门打开;当OE=“1”时,三态门关闭,输出呈高阻状态。
1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态);当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态。
锁存端LE 由高变低时,输出端8 位信息被锁存,直到LE 端再次有效。
当三态门使能信号OE为低电平时,三态门导通,允许Q0~Q7输出,OE为高电平时,输出悬空。
当74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端C为高电平时,输出Q0~Q7 状态与输入端D1~D7状态相同;当C发生负的跳变时,输入端D0~D7 数据锁入Q0~Q7。
51单片机的ALE信号可以直接与74LS373的C连接。
4.3.2.芯片74LS181:算术逻辑单元/功能发生器,L是低电平,S3 S2 S1 S0为L L L L,M为L,Cn为LA0~A3是输入,F0~F3输出的就是A-1。
各引脚说明如下:4.3.3.芯片6116:6116是2K*8位静态随机存储器芯片,采用CMOS工艺制造,单一+5V供电,额定功耗160mW,典型存取时间200ns,24线双列直插式封装.各引脚含义如下:A0-A10为地址线;CE是片选线;OE是读允许线;WE是写允许线.6116的操作方式如下:CE OE WE 方式 D0-D7H * * 未选中高阻L L H 读 DoutL H L 写 DinL L L 写 Din4.3.4.控制开关:(1).DIPSW_2:2独立开关组(2).DIPSW_5:5独立开关组(3).DIPSW_8:8独立开关组4.3.5.电阻:RESPACK-7:七排电阻RESPACK-8:八排电阻,可以用8个阻值为10K或阻值为其他值的相同的电阻代替,八个电阻的一端连在一起接地(拉低)或高电平(拉高),另一端分别接到端口上。
4.3.6.输出器件:LED-RED:红色灯,两种状态0:亮,1:灭。
4.4 测试步骤检测逻辑运算1+2:Load 1 0000 0001加 2 0000 0010END 0000 0011S0~S3 0111M=1 Cn=0调试结果如图:5实验结果硬件电路图包括:5个74LS373芯片,2个74LS181芯片,1个6116芯片。
硬件总体设计如图:6课程设计问题及解决方案6.1.故障1——Protues无法编译原理图在设计完原理图,用Protues编译时,发现有错误,发现是因为已经过了使用期限,因此无法正常使用,最后尝试了两个方法解决问题:第一.使用教程中的破解方法生产一个xiaofan3.dat文件进行破解;第二.直接修改计算机的时间,向前调一段时间,这样软件可以正常进行编译了。
6.2.故障2——输入数据时没有存入到6116芯片中当我们进行运算时,输入第一个数据时,发现输出端没有显示此时输入的数据,因此认为一开始数据就没有存入存储器中,对整个电路进行检查,发现电路连接正常,于是换了一个6116芯片后,问题得以解决。
6.3.故障3——AC累加器显示灯有信号冲突当我们连接完成整个运算器部分,然后检测电路的正确性时,发现存入数据时有黄灯显示,因此认为产生了信号冲突,于是开始对整个电路进行检查,发现电路连接正常,并且74LS373的缓冲作用也正确,最后检测芯片时,发现74LS181芯片的输入端有信号输出,与原来的输入产生了冲突,问了老师此问题,是本身181芯片偶尔出现这个问题,于是换了181 芯片后,问题得以解决。
7心得体会通过本次课程设计,我对单片机和汇编的相关知识得到了进一步的,刚开始看到这个题目的时候,感觉倒计时不是很难,有对应的输入,在控制芯片的作用下,进行递减的控制,就可以达到效果。
所以刚开始的时候,做的还不是很认真,当设计进行到具体环节的时候,问题就体现出来了,并不是像刚开始的那样简单。
首先要想到芯片的对应P口的功能,于是要对所学的单片机的知识进行复习,查找相关资料对那些知识进行扩充,于是就大量的查找相关资料和阅读,了解清楚了相应的功能后,开始了设计。
接着就是具体的模块部分的设计。
我把整体模块分为三个部分进行的,输入部分,运算部分,输出部分。
再就是进行相对应的仿真设计。
由于再仿真用到的是Proteus软件,所以要对这个软件的应用进行学习。
也是开始查找一些资料书和上网找一些应用方面的技巧,在做了充分的准备后,开始了仿真绘图。
在绘图的过程中,有时候也是弄错了,导致仿真的结果出不来,在同学的帮助下,仔细查找和修改,还是完成了本设计,感觉集体的智慧还是很强大的。
在看到电路图能运行了,心里感觉还是蛮高兴的。
虽然在这次设计的过程中,困难不少,但是正是在自己的努力,老师和同学们的帮助下,自己能够顺利的完成,确实还是蛮欣慰的。
在本次课程设计中我感知到设计,给人以创作的冲动。
在画家眼里,设计是一幅清明上河图或是一幅向日葵;在建筑师眼中,设计是昔日鎏金般的圆明园或是今日一塑自由女神像;在电子工程师心中,设计是贝尔实验室的电话机或是华为的程控交换机。
凡此种种,但凡涉及设计都是一件良好的事情,因为她能给人以美的幻想,因为她能给人以金般财富,因为她能给人以成就之感,更为现实的是她能给人以成长以及成长所需的营养,而这种营养更是一种福祉,一辈子消受不竭享用不尽。
我就是以此心态对待此次《计算机组成原理》课程设计的,所谓“态度决定一切”,于是偶然又必然地收获了诸多,概而言之,大约以下几点:一、温故而知新。
课程设计发端之始,思绪全无,举步维艰,对于理论知识学习不够扎实的我深感“书到用时方恨少”,于是想起圣人之言“温故而知新”,便重拾教材与实验手册,对知识系统而全面进行了梳理,遇到难处先是苦思冥想再向同学请教,终于熟练掌握了基本理论知识,而且领悟诸多平时学习难以理解掌握的较难知识,学会了如何思考的思维方式,找到了设计的灵感。
二、思路即出路。
当初没有思路,诚如举步维艰,茫茫大地,不见道路。
在对理论知识梳理掌握之后,茅塞顿开,柳暗花明,思路如泉涌,高歌“条条大路通罗马”。
顿悟,没有思路便无出路,原来思路即出路。
三、实践出真知。
文革之后,关于真理的大讨论最终结果是“实践是检验真理的唯一标准”,自从耳闻以来,便一直以为马克思主义中国化生成的教条。
时至今日,课程设计基本告成,才切身领悟“实践是检验真理的唯一标准”,才明晓实践出真知。
四、创新求发展。
“创新”目前在我国已经提升到国家发展战略地位,足见“创新”的举足轻重。
五、过而能改,善莫大焉。
至善至美,是人类永恒的追求。
但是,不从忘却“金无足赤,人无完人”,我们换种思维方式,去恶亦是至善,改错亦为至美。
六、学海无涯,学无止境。
在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。
最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。
感谢这次课程设计给了自己锻炼的机会,自己在今后的学习和生活中,会更加的努力,争取更大的进步!8参考文献【1】赵家俊,赵扬编著. 计算机组成原理.北京:清华大学出版社, 2010年【2】张代远编著. 计算机组成原理教程. 北京:清华大学出版社, 2009年【3】王爱英主编.计算机组成与结构(第3版).北京:清华大学出版社,2000【4】秦磊华,王小兰.计算机组成原理实验指导及课程设计指导书(基于EDA平台)武汉:华中技大学出版社,2010年.【5】张钧良,林雪明编著. 计算机组成原理. 电子工业出版社, 2001年。