计算机组成原理课程设计微程序设计
《计算机组成原理》微程序设计实验报告
《计算机组成原理》实验报告学院:计算机学院专业:交通工程班级学号:AP0804114学生姓名:黄佳佳实验日期:2010.12.14指导老师:李鹤喜成绩评定:五邑大学信息学院计算机组成原理实验室实验五微程序设计实验一、实验目的:深入掌握微程序控制器的工作原理,学会设计简单的微程序。
二、预习要求:1.复习微程序控制器工作原理;2.复习计算机微程序的有关知识。
三、实验设备:EL-JY-II型计算机组成原理实验系统一台,连接线若干。
四、微程序的设计:1.微指令格式设计微指令编码格式的主要原则是使微指令字短、能表示可并行操作的微命令多、微程序编写方便。
微指令的最基本成份是控制场,其次是下地址场。
控制场反映了可以同时执行的微操作,下地址场指明下一条要执行的微指令在控存的地址。
微指令的编码格式通常指控制场的编码格式,以下几种编码格式较普遍。
1)最短编码格式这是最简单的垂直编码格式,其特点是每条微指令只定义一个微操作命令。
采用此格式的微指令字短、容易编写、规整直观,但微程序长度长,访问控存取微指令次数增多从而使指令执行速度慢。
2)全水平编码格式这种格式又称直接编码法,其特点是控制场每一位直接表示一种微操作命令。
若控制场长n位,则至多可表示n个不同的微操作命令。
采用此格式的微指令字长,但可实现多个允许的微操作并行执行,微程序长度短,指令执行速度快。
3)分段编码格式是将控制场分成几段。
若某段长i位,则经译码,该段可表示2i个互斥的即不能同时有效的微操作命令。
采用这种格式的微指令长度较短,而可表示的微操作命令较多,但需译码器。
2.微程序顺序控制方式的设计微程序顺序控制方式指在一条指令对应的微程序执行过程中,下一条微指令地址的确定方法,又叫后继地址生成方式。
下面是常见的两种。
1)计数增量方式这种方式的特点是微程序控制部件中的微地址中的微地址产生线路主要是微地址计数器MPC。
MPC 的初值由微程序首址形成线路根据指令操作码编码形成。
计算机组成原理课程设计
一、设计任务与要求
设某计算机运算器,其中 ALU 为 8 位的加法器,具有加法和加 1 功能,两操作 数由八位寄存器 R0、R1 提供,其结果放入 R2 中,具体何种操作可由微命令任意设 定。 1、运算器的结构 运算器的结构,如图 1 所示。
图 1.运算器的结构图
2、微程序控制器 微程序控制器的结构图,如图 2 所示。
山东英才学院教务处制 二 O 一三年十二月
微程序控制的运算器的设计
摘 要
本设计详细介绍了在可编程 ispLSI1032E 系统下,采用层次化设计方法,通过把 八位全加器、八位计数器、八位寄存器作为底层电路,以设计八位计算机运算器的设 计原理和设计过程,其中 ALU 为 8 位的加法器,具有加法和加 1 功能,两操作数由 八位寄存器 R0、R1 提供,其结果放入 R2 中,具体何种操作可由微命令任意设定。
山东英才学院
课程设计(论文)
设 计 题 目 :微程序控制运算器的设计
课 程 名 称 : 院 (系) 部 : 学 生 姓 名 : 班 专 成 级 : 业 : 绩 :
计算机组成原理 信息工程教 师 : 设 计 时 间 :
王若成 2013 年 12 月
Abstract
The detailed design of the programmable ispLSI1032E system, the use of hierarchical design method, the eight bit full adder, eight bit counter, eight bit registers as the underlying circuit, the design of eight bit computing the design principle and the design process, where ALU is a 8 bit adder, additive and plus 1function, the two operand is provided by the eight bit registers R0, R1, and the results in R2, which can be set arbitrarily by micro operation command.
计算机组成原理课程设计(微程序)报告
微程序控制器的设计与实现第 1 页共22 页目录5 调试过程 (11)6 心得体会 (12)第 2 页共22 页微程序控制器的设计与实现一、设计目的1)巩固和深刻理解“计算机组成原理”课程所讲解的原理,加深对计算机各模块协同工作的认识2)掌握微程序设计的思想和具体流程、操作方法。
3)培养学生独立工作和创新思维的能力,取得设计与调试的实践经验。
4)尝试利用编程实现微程序指令的识别和解释的工作流程二、设计内容按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
第 3 页共22 页三、设计要求1)仔细复习所学过的理论知识,掌握微程序设计的思想,并根据掌握的理论写出要设计的指令系统的微程序流程。
指令系统至少要包括六条指令,具有上述功能和寻址方式。
2)根据微操作流程及给定的微指令格式写出相应的微程序3)将所设计的微程序在虚拟环境中运行调试程序,并给出测试思路和具体程序段4)尝试用C或者Java语言实现所设计的指令系统的加载、识别和解释功能。
5)撰写课程设计报告。
四、设计方案1)设计思路按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接第 4 页共22 页寻址、立即数寻址等五种寻址方式。
从而可以想到如下指令:24位控制位分别介绍如下:XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
EMWR:程序存储器EM写信号。
EMRD:程序存储器EM读信号。
PCOE:将程序计数器PC的值送到地址总线ABUS上。
EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。
IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。
微型计算机组成原理课程设计
微型计算机组成原理课程设计1. 设计概述本课程设计是针对微型计算机组成原理课程的一个实践性设计。
设计内容包括微型计算机的CPU、存储器、输入输出接口等基本组成部分。
设计通过采用Verilog语言进行仿真和验证,以加深学生对微型计算机硬件实现的理解和应用。
2. 设计目标通过本课程设计,学生应该掌握以下能力:1.掌握微型计算机的CPU、存储器、输入输出接口等基本组成部分的工作原理和设计方法;2.熟练掌握Verilog语言进行硬件设计的方法;3.能够进行微型计算机硬件实现的仿真和验证。
3. 设计背景随着信息技术的迅速发展,微型计算机已经成为了我们日常生活和工作中不可或缺的一部分。
因此,对微型计算机的组成原理进行深入的理解和掌握,不仅有利于扩展个人技能和知识面,也具有重要的实际意义。
本课程设计旨在通过实践的方式,让学生更加深入地理解微型计算机的组成原理和实现方法,并能够应用所学知识进行微型计算机硬件的仿真和验证。
4. 设计内容4.1 CPU设计本设计通过Verilog语言进行CPU的设计。
学生需要掌握Verilog语言的基本语法和硬件设计方法,设计一个简单的CPU模块,并进行仿真和验证。
CPU的设计包括以下步骤:1.确定CPU的指令系统;2.设计CPU的指令格式和寻址方式;3.根据指令系统设计CPU的控制逻辑;4.设计ALU模块进行算术逻辑运算;5.设计寄存器模块进行数据存储和传输;6.进行仿真和验证。
4.2 存储器设计本设计通过Verilog语言进行存储器的设计。
学生需要掌握Verilog语言中的存储器模块的设计方法,设计一个简单的存储器模块,并进行仿真和验证。
存储器的设计包括以下步骤:1.确定存储器的存储结构和存储单元大小;2.设计存储器读写控制逻辑;3.进行仿真和验证。
4.3 输入输出接口设计本设计通过Verilog语言进行输入输出接口的设计。
学生需要掌握Verilog语言中的输入输出接口模块的设计方法,设计一个简单的输入输出接口模块,并进行仿真和验证。
计算机组成原理课程设计(中央处理器--微程序控制器设计)
计算机组成原理课程设计:中央处理器-微程序控制器设计摘要本文档介绍了一个针对计算机组成原理课程的设计项目,即中央处理器的微程序控制器设计。
在设计中央处理器的微程序控制器时,我们将考虑指令的执行、数据的处理以及控制信号等关键方面。
通过这个设计项目,学生将深入了解计算机系统的核心组件并掌握微程序控制器的设计方法。
引言计算机组成原理课程旨在帮助学生理解计算机硬件系统的基本原理和组成部分。
其中,中央处理器是计算机系统中最核心的部分之一。
微程序控制器是中央处理器的关键组件,它通过微指令序列控制着处理器的各个部件。
本设计项目旨在实践计算机组成原理的理论知识和设计方法,使学生能够了解中央处理器的内部结构和工作原理,并掌握微程序控制器的设计技术。
设计目标本次设计的目标是: 1. 使用合适的指令集设计一个完整的微程序控制器。
2. 实现基本的指令执行功能,包括算术逻辑单元(ALU)操作、内存读写、条件分支和跳转等。
3. 考虑控制信号与数据通路之间的兼容性和时序关系。
4. 考虑指令的效率和性能,实现合理的指令编码和微指令生成策略。
设计内容1. 指令集设计在设计微程序控制器时,首先需要确定适合该设计的指令集。
指令集应该包括基本的算术、逻辑、移位和控制指令,以及内存读写指令。
根据实际需求,可以添加其他合适的指令。
2. 微指令设计为了实现指令集中的每个指令,需要设计相应的微指令。
微指令是一系列控制信号的序列,用于控制中央处理器中各个部件的操作。
每个微指令应该包含控制信号、操作码、寄存器的选择和数据通路的选择等信息。
3. 数据通路设计数据通路连接了CPU中各个部件,包括寄存器、ALU、控制器等。
在设计数据通路时,需要考虑指令的执行顺序、数据的传递和处理,以及控制信号的生成等。
数据通路应该支持指令的执行和数据操作。
4. 控制信号设计控制信号是微程序控制器中最关键的部分,它确定了中央处理器中各个部件的操作方式和时序。
在设计控制信号时,需要考虑不同指令的差异性和并行性,确保指令的正确执行。
计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告
《计算机组成原理课程设计》简单模型机的微程序设计学生姓名:学号: *********XX系别:三系班级:专业:软件工程指导教师:**一. 课程设计的目的1.计算机的硬件基本组成2.计算机中机器指令的设计3.计算机中机器指令的执行过程4.微程序控制器的工作原理5.微指令的格式设计原则在此基础上设计可以运行一些基本机器指令的微程序的设计二. 课程设计的内容和要求题目:①数据传送指令MOV RD,RS:(RS)→(RD)②减法指令SUB RD,RS:(RS)减(RD)→(RD)③或指令OR RD,(addr):(RD)或(addr)→(RD)④异或指令XOR RD,(addr):(addr)异或(RD)→(RD)⑤与指令AND RD,RS:(RS)与(RD)→(RD)通过使用作者开发的微程序分析和设计仿真软件,熟悉介绍的为基本模型机而设计的微程序的执行过程。
必须充分理解并正确解释下些问题:(1) 微程序中的微指令的各个字段的作用。
哪些字段是不译码的,哪些字段是直接译码的,哪些字段又可以看成是字段间接编码的。
答:不译码:S3-B0,直接译码:C字段,间接译码:A,B字段,当C字段进行P(1)或LDPC时ua6-ua1也是间接。
(2)微程序中的微指令是否是顺序执行的,如果不是,那么次地址是如何产生的。
什么情况下,次地址字段才是将要执行的微指令的地址。
答:微程序中的微指令不是顺序执行的,如果遇到P(1)~P(4)测试时,则根据机械指令,uA5~uA其他有关部件的内容,产生下一条微指令在空存中的微地址,是微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行等。
例如遇到P(1)测试,则下一条微指令在空存中的微地址的4~1位是用次地址字段NA(4~1位)或指令寄存器IR(8~5位)所产生,下一条微指令的微地址仍为NA字段的6~5位。
如果没有遇到P(1)~P(4)测试的话,那么次地址即为该微指令地址字段所指向的微地址。
微型计算机组成原理下册课程设计 (2)
微型计算机组成原理下册课程设计一、选题背景微型计算机组成原理是计算机科学与技术专业中的一门重要课程,学生通过该课程的学习,可以了解到计算机系统的组成结构、工作原理和设计方法,是计算机系统硬件设计的基础课程之一。
下册的微型计算机组成原理课程设计要求学生基于上学期学到的知识,设计一个完整的计算机系统。
二、课程设计目标本次课程设计旨在帮助学生进一步加深对微型计算机组成原理的理解和实践。
具体的目标如下: - 了解计算机系统的组成结构; - 熟练掌握计算机系统各组成部分的工作原理; - 掌握计算机系统的设计方法; - 能够设计一个基于微型计算机的完整的计算机系统。
三、课程设计内容本次课程设计内容分为两个阶段,第一个阶段是设计计算机系统的各个模块,第二个阶段则是进行系统的集成和测试。
1. 设计计算机系统的各个模块设计计算机系统的各个模块,学生需要包括以下内容: - CPU指令集的设计 - 存储器的设计 - 输入输出设备的设计 - 总线的设计2. 系统集成和测试在完成各个模块的设计之后,需要进行系统的集成和测试,确保整个计算机系统能够正常地工作。
学生需要通过以下步骤来完成本阶段的工作: - 将各个模块进行集成 - 对整个系统进行测试 - 找出并解决问题四、课程设计实验环境与工具本次课程设计需要使用到的实验环境与工具如下: - Intel 8086 CPU开发板- 8086汇编语言 - 计算机模拟软件五、课程设计评分标准本次课程设计的评分标准如下: - 各模块的设计方案是否合理,是否满足要求(40%) - 实现的系统是否能够正常地工作(30%) - 在测试过程中发现的问题是否处理得当(20%) - 系统的文档和报告是否规范、完整(10%)六、课程设计注意事项•本次课程设计必须由学生独立完成,不得抄袭或抄作业。
•学生在做课程设计时,必须参考上学期的课程内容和相关的参考书籍。
•学生在完成系统设计的过程中,应当考虑到系统的性能要求和扩展性。
计算机组成原理课程设计 - 设计一个微程序控制器
第一章设计概述1.1课程设计的目的本课程设计的教学目是在掌握计算机系统的组成及内部工作机制,理解计算机各功能部件工作原理的基础上,深入掌握数据信息流和控制信息流的流动过程,进一步加深计算机系统各模块间相互关系的认识和整机的概念,培养开发和调试计算机的技能,在设计实践中提高应用所学专业知识分析问题和解决问题的能力。
1.2设计任务和基本要求本课程设计以TDN-CM++计算机组成原理教学实验系统为平台设计完成。
1.按给定的数据格式和指令系统,设计一个微程序控制器。
2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微程序的为指令代码。
3.连接逻辑电路完成启动,测试,编程,测试,效验和运行,并观测运行过程及结果。
4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台模型计算机。
5.用微程序控制器控制模型机的数据通路。
6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。
7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序.在PC机上编辑机器指令和微程序,装载代码到TDN-CM++实验系统并运行,实现应用要求。
第二章规定项目的验证实现2.1规定项目任务和要求:任务:从输入设备输入一个数与内存中地址为0AH存放的数字1相加结果送地址为0BH单元中。
并能从内存中取出到外围设备显示之。
要求:通过此验证实验来学会数据通路电路图的连接、机器指令的设计、微指令设计中相关字段的作用、微程序流程图的设计以及能熟练掌握用微程序控制数据通路来实现机器指令的功能,为以后的实验设计做好准备。
2.2规定项目实现原理:(1)在本设计中,数据通路的控制将由微程序控制器来完成。
计算机从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
计算机组成原理课程设计---简单计算机的设计
计算机组成原理课程设计(Ver 3.1)计算机科学与工程学院2007年7月1、课程设计目的 (3)2、仪器设备 (3)3、基于微控器的模型机设计部分 (3)3.1、设计步骤 (3)3.2、准备知识 (6)3.3、设计内容 (11)题目一:设计一个具有带进位加法和立即数寻址方式的模型机11题目二:设计一个具有带进位加法和条件跳转的模型机 (11)题目三:设计一个具有循环左移功能的模型机 (12)题目四:设计一个具有带借位减法和存储功能的模型机 (13)4、可编程逻辑器件设计部分 (14)4.1、设计步骤 (14)4.2、准备知识 (14)4.3、设计内容 (16)题目五:利用CPLD设计一个并行加法器 (16)题目六:阵列乘法器设计 (16)题目七:硬联控制器设计 (17)5、具有中断处理功能的模型机设计 (19)5.1、设计内容 (19)5.2、准备知识 (20)5.3、设计步骤 (23)6、课程设计任务及要求 (27)7、考核办法 (27)8、参考资料 (27)9、附录 (28)附录1(数据通路): (28)附录2(系统连线参考图) (29)附录3(实验系统主要单元电路) (30)附录4(ispDesignEXPERT软件使用) (35)VIII.把设计适配到Lattice器件中 (47)IX.层次化操作方法 (47)《计算机组成原理》课程设计1、课程设计目的通过对一个简单计算机的设计,对计算机的基本组成,部件的设计、部件间的连接、微程序控制器的设计、微指令和微程序的编制与调试等过程有更深的了解,在此基础上完成一台基本计算机的组成设计,从而加深对理论课程的理解,锻炼学生的独立思考和动手能力。
2、仪器设备硬件环境为PC-386以上微机,西安唐都科教仪器公司的TDN-CM+计算机组成原理实验台。
软件环境采用WINDOWS操作系统,西安唐都科教仪器公司的TDN-CM+计算机组成原理实验软件。
3、基于微控器的模型机设计部分3.1、设计步骤设计一台完整的计算机,大致需按如下的顺序来考虑:(1)确定设计目标确定所设计计算机的功能和用途。
计算机组成原理课程设计微程序设计
计算机组成原理课程设计微程序设计文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)《计算机组成原理》课程设计报告——微程序设计指导老师:丁伟学院:计算机学院班级:软件 1501姓名:学号:一、项目任务本项目的任务是针对第2章所述的OpenJUC-II教学机模型机,设计控制器的微程序,实现该模型机的指令系统。
通过课程设计理解指令的执行过程,指令系统与硬件的关系,进而加深对计算机的结构和工作原理的理解。
二、项目设计本项目预期分为6个上机设计步骤:Day1:熟悉微程序的设计和调试方法Day2:双操作数指令的设计与调试Day3:条件转移指令的设计与调试Day4:移位指令的设计与调试Day5:堆栈相关指令的设计与调试Day6:中断系统的设计与调试通过上述实践步骤,初步达成微程序设计要求,针对不同产品提出的不同要求,通过编写相应符合的微程序汇编指令,达到预期效果和收益。
三、项目需求OpenJUC-II模型机、Quartus II软件、虚拟实验板软件、Windows 计算机、预先编写完成的.sof和.scc文件。
取指令字段取目的操作数入口取源操作数寄存器寻址入寄存器间接寄存器自增间立即寻址直接寻址间接寻址变址寻址相对寻址进入取目阶段取目的操作数阶段从微地址028至02F依次为寄存器寻址,寄存器间接寻址,寄存器自增间接寻址,02B为空,直接寻址,间接寻址,变址寻址,相对寻址进入执行阶段从41开始为MOV,ADD,ADDC,SUB,SUBB,AND,OR,XOR,CMP,TEST的入口地址保存结果的控存SAR,SHL,SHR,ROL,ROR,RCL,RCR控存JC,JNC,JO,JNO,JZ,JNZ,JS,JNS控存转移的控存JMP,INC,DEC,NOT的控存PUSH,POP,CALL的控存HALT,NOP,RET,RETI,EI,DIINC与JMP设计与调试。
ORG 0030HINC 0040HJMP 0030HMOV,SUB调试CMP及JC测试软件延时0030: 0460 INC FF02H 0031: FF020032: 1600 MOV #000F, R0 0033: 000F0034: 0440 INC R00035: 9600 CMP #FFFFH, R0 0036: FFFF0037: 0220 JC 0030H 0038: 00300039: 0260 JNC 0034H003A: 0034003B: HALT右移0030: 1601 MOV #0001H, R0 0031: 00010032: 00C0 SHR R00033: 0238 JC FFFDH(PC) 0034: FFFD0035: 0000 HALT左移0030: 1601 MOV #0505H, R0 0031: 00010032: 00C0 TEXT #0001H,R1 0033: 02380034: FFFD JZ 3(PC) 0035: 00000036:0101 ROL R10037:0420 JMP 0032流水灯设计0030: 1620 MOV #0080H, FF01H 0031: 00800032: FF010033: 1600 MOV #0000H, R0 0034: 00000035: 0440 INC R00036: 9600 CMP #FFFFH, R0 0037: FFFF0038: 0220 JC 003CH0039: 003C003A: 0260 JNC 0035H003B: 0035003C: 0160 ROR FF01H003D: FF01003E: A620 TEST #FFFFH, FF01H 003F: FFFF0040: FF010041: 0320 JZ 0030H0042: 00300043: 0360 JNZ 0033H0044: 00330045: 0000 HALTPUSH,POP0030: 1600 MOV #0041H,R0 0031: 00410032: 0060 PUSH R00033: 0620 PUSH 0040H 0034: 00400035: 0648 POP (R0)0036: 0641 POP R1程序中断0030: 1600 MOV #0100H, 0000H 0031: 00400032: 00000033: 0004 EI0034: 0460 INC 0040H0035: 00400036: 1601 MOV #2333H, R1 0037: 23330038: 0000 HALT0100: 1820 MOV #FF08H, FF02H 0101: FF08结课任务将R2的内容左右颠倒存入R7(A1A2A3A4------A4A3A2A1)总体设计及总结成功完成了对JUC2的整体设计。
计算机组成原理课程设计 微指令
计算机组成原理课程设计微指令一、课程设计题目微指令设计与实现二、设计目的通过本次课程设计,学生将深入了解微指令的概念、设计方法和实现过程,掌握微指令的编写技巧和调试方法,提高学生的计算机组成原理理论水平和实践能力。
三、设计内容1. 微指令的概念和作用2. 微指令的设计方法和流程3. 微指令的编写技巧和调试方法4. 微指令的实现过程和实验操作四、设计步骤1. 学生自行学习微指令的概念和作用,了解微指令的设计方法和流程。
2. 学生根据所学知识,编写一个简单的微指令程序,包括指令的操作码、操作数、寻址方式等。
3. 学生使用微指令编译器,将编写好的微指令程序转换成微指令码。
4. 学生使用微指令模拟器,将微指令码加载到模拟器中,进行调试和测试。
5. 学生根据实验结果,对微指令程序进行优化和改进,提高程序的执行效率和稳定性。
6. 学生撰写实验报告,总结微指令的设计方法和实现过程,分析实验结果和问题,并提出改进方案和建议。
五、设计要求1. 学生需要独立完成本次课程设计,不得抄袭他人作品。
2. 学生需要按照设计步骤,认真完成实验操作和调试工作。
3. 学生需要撰写规范的实验报告,包括实验目的、原理、方法、结果和结论等内容。
4. 学生需要在规定时间内完成课程设计,并按时提交实验报告。
六、设计评价1. 学生的实验报告质量和内容是否符合要求。
2. 学生的实验操作和调试能力是否达到要求。
3. 学生的微指令程序设计和实现是否合理和有效。
4. 学生的课程表现和参与度是否积极和认真。
七、设计参考资料1. 《计算机组成原理》(第2版),唐朔飞,高等教育出版社,2015年。
2. 《计算机组成原理实验指导书》(第2版),唐朔飞,高等教育出版社,2016年。
3. 《微指令设计与实现》课程教材,作者待定。
计组课设微程序设计
《计算机组成原理》课程设计报告——微程序设计指导老师:肖铁军,赵蕙学院:计算机学院班级:信息安全1501姓名:周里威学号:3150604044一、个人感想这一个多星期的课设做下来真是收获超大,我强烈建议以后的课可以实验课理论课对半开,现在我们的实验课真是太少了,平时上课基本听不懂,没有实验课根本学不到什么。
我刚开始学习计算机组成原理这门课程的时候感觉,这课怎么这么难啊,什么也看不懂,什么也听不懂,除了介绍一些基本的概念的时候,都没听懂过课讲真,于是乎考试也是一脸懵逼,就挂了。
但是其实上课期间的实验课还是挺有意思的,能够让我稍微了解一点计算机组成原理的一丁点,但是并没有什么卵用,我还是对之啥也不懂,在这挂科加上啥也不懂之际,迎来了可亲可爱的课设。
课设第一天,我在老师在人没来齐就走了的情况下扯了半小时的蛋才开始问到大神,他说老师让我们自己瞎搞先。
我当时心里真是一万个What the hell 跑了出来,后来才了解原来这是老师的良苦用心,要是一开始就讲讲讲我也是啥也听不到,还不如先实际操作一下先,老师再讲,效果更好(但最好也要先告诉我们该干什么),于是在大神的帮助下,我开始看书上什么微指令,什么寻址方式,什么汇编指令等等东西,好在我还有之前实验的基础,才看了10分钟就看不下去了。
于是在社霸们的神奇的搜寻下,一个牛逼学长的报告已经在群里传开了,于是我顺利的完成了第一天的任务,虽然是抄的,但是我知道只是抄是没用的,于是我就不厌其烦的叨扰大神,让他给我一点一点得讲了每一条指令,每一个数据通路运行图上各个部件是啥有啥用等等,虽然有些似懂非懂,但是我似乎领悟到了什么。
第二天开始,我感觉我每天都能学到很多新知识,经过4天的洗礼,我感觉我已经从啥也不懂的小白晋级为青铜圣斗士了,有时其他同学不懂的问题我也能回答一些了,就在我觉得我可以爆发小宇宙的时候,堆栈和中断横亘而来,给了我一个猝不及防的打击,前4天的任务我已经提前半天完成,可剩下的半天我却一点都整不出来,然而听说隔壁的大神已经开始写报告了。
计算机组成原理课程设计---——简单模型机的微程序设计
计算机组成原理课程设计---——简单模型机的微程序设计课程设计报告课程名称:计算机组成原理系别:姓名:班级:学号:成绩:指导教师:开课时间: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及通用寄存器等组成。
计算机组成原理课程设计(中央处理器--微程序控制器设计)
“计算机组成原理”课程设计报告微程序控制器的设计一、设计思路按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
从而可以想到如下指令: (1)24位控制位分别介绍如下:位控制位分别介绍如下: XRD XRD :: 外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
定外设读数据。
EMWR EMWR:: 程序存储器EM 写信号。
写信号。
EMRD EMRD:: 程序存储器EM 读信号。
读信号。
PCOE PCOE:: 将程序计数器PC 的值送到地址总线ABUS 上。
上。
EMEN EMEN:: 将程序存储器EM 与数据总线DBUS 接通,由EMWR 和EMRD 决定是将DBUS 数据写到EM 中,还是从EM 读出数据送到DBUS DBUS。
IREN IREN:: 将程序存储器EM 读出的数据打入指令寄存器IR 和微指令计数器uPC uPC。
EINT EINT:: 中断返回时清除中断响应和中断请求标志,便于下次中断。
中断返回时清除中断响应和中断请求标志,便于下次中断。
ELP ELP:: PC 打入允许,与指令寄存器的IR3IR3、、IR2位结合,控制程序跳转。
转。
MAREN MAREN:将数据总线:将数据总线DBUS 上数据打入地址寄存器MAR MAR。
MAROE MAROE:将地址寄存器:将地址寄存器MAR 的值送到地址总线ABUS 上。
上。
OUTEN OUTEN:将数据总线:将数据总线DBUS 上数据送到输出端口寄存器OUT 里。
里。
STEN STEN:: 将数据总线DBUS 上数据存入堆栈寄存器ST 中。
中。
RRD RRD:: 读寄存器组读寄存器组R0-R3R0-R3,寄存器,寄存器R?R?的选择由指令的最低两位决定。
的选择由指令的最低两位决定。
的选择由指令的最低两位决定。
计算机组成原理课程设计报告-微程序设计
窊大的计算机学院的学弟学妹们,你们师哥呕心沥血的一个月,终于把计算机最棘手的一门实验搞定了---微程序设计以下是我汗水的结晶,现传在网上,供你们借鉴,用到此文档的童靴,赶紧的膜拜感激吧!真羡慕你们可以有这么慷慨的学长,处处为你们着想。
你说我的学长学姐们怎么就没有人传一份呢?O(∩_∩)O哈哈~姓名: [请输入姓名]联系电话: [请输入联系电话]目录1 课程设计的目的和要求 (1)1.1课程设计目的 (1)1.2 课程设计的要求 (1)2 实验设备 (1)3 实验分析 (1)3.1 指令译码电路分析 (1)3.2 微地址形成分析 (2)3.3 时序电路分析 (4)3.4 运算器单元分析 (6)3.5 寄存器单元分析 (7)3.6 微控器电路分析 (8)3.7 设计内容分析 (10)4 实验设计 (11)4.1 微程序控制电路 (11)4.2 微指令格式 (13)4.3 指令功能类别 (13)4.4 微程序流程总框架 (14)5 微程序详细设计 (16)5.1 微程序流程框架 (16)5.2 控制台流程 (17)5.3 每条指令的详细设计 (19)6 机器指令程序 (25)6.1 程序流程图 (25)6.2 程序助记符形式 (26)6.3 机器指令程序 (26)6.4 程序的CPI (27)7 实验步骤 (28)7.1线路连接图 (28)7.2 程序微代码表 (29)心得体会 (31)参考文献 (32)1 课程设计的目的和要求1.1课程设计目的在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
通过一个完整的8位指令系统结构(ISA)的设计和实现,加深对计算机组成原理课程内容的理解,建立起整机系统的概念,掌握计算机设计的基本方法,培养学生科学的工作作风和分析、解决实际问题的工作能力。
1.2 课程设计的要求要求综合运用计算机组成原理、数字逻辑和汇编语言等相关课程的知识,理解和熟悉计算机系统的组成原理,掌握计算机主要功能部件的工作原理和设计方法,掌握指令系统结构设计的一般方法,掌握并运用微程序设计(Microprogramming)思想,在设计过程中能够发现、分析和解决各种问题,自行设计自己的指令系统结构(ISA),并编写相应的微程序,具体上机调试掌握整机概念。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机组成原理》课程设计报告
——微程序设计
指导老师:丁伟
学院:计算机学院
班级:软件 1501
姓名:
学号:
一、项目任务
本项目的任务是针对第2章所述的OpenJUC-II教学机模型机,设计控制器的微程序,实现该模型机的指令系统。
通过课程设计理解指令的执行过程,指令系统与硬件的关系,进而加深对计算机的结构和工作原理的理解。
二、项目设计
本项目预期分为6个上机设计步骤:
Day1:熟悉微程序的设计和调试方法
Day2:双操作数指令的设计与调试
Day3:条件转移指令的设计与调试
Day4:移位指令的设计与调试
Day5:堆栈相关指令的设计与调试
Day6:中断系统的设计与调试
通过上述实践步骤,初步达成微程序设计要求,针对不同产品提出的不同要求,通过编写相应符合的微程序汇编指令,达到预期效果和收益。
三、项目需求
OpenJUC-II模型机、Quartus II软件、虚拟实验板软件、Windows计算机、预先编写完成的.sof和.scc文件。
取指令字段
取目的操作数入口取源操作数
寄存器寻址入口
寄存器间接
寄存器自增间接
立即寻址
直接寻址
间接寻址
变址寻址
相对寻址
进入取目阶段
取目的操作数阶段
从微地址028至02F依次为寄存器寻址,寄
存器间接寻址,寄存器自增间接寻址,02B
为空,直接寻址,间接寻址,变址寻址,相
对寻址
进入执行阶段
从41开始为
MOV,ADD,ADDC,SUB,SUBB,AND,OR,XOR,CMP,
TEST的入口地址
保存结果的控存
SAR,SHL,SHR,ROL,ROR,RCL,RCR控存
JC,JNC,JO,JNO,JZ,JNZ,JS,JNS控存
转移的控存
JMP,INC,DEC,NOT的控存
PUSH,POP,CALL的控存
HALT,NOP,RET,RETI,EI,DI
INC与JMP设计与调试。
ORG 0030H
INC 0040H
JMP 0030H
MOV,SUB调试
CMP及JC测试
软件延时
0030: 0460 INC FF02H 0031: FF02
0032: 1600 MOV #000F, R0 0033: 000F
0034: 0440 INC R0
0035: 9600 CMP #FFFFH, R0 0036: FFFF
0037: 0220 JC 0030H 0038: 0030
0039: 0260 JNC 0034H
003A: 0034
003B:
HALT
右移
0030: 1601 MOV #0001H, R0 0031: 0001
0032: 00C0 SHR R0
0033: 0238 JC FFFDH(PC) 0034: FFFD
0035: 0000 HALT
左移
0030: 1601 MOV #0505H, R0 0031: 0001
0032: 00C0 TEXT #0001H,R1 0033: 0238
0034: FFFD JZ 3(PC)
0035: 0000
0036:0101 ROL R1
0037:0420 JMP 0032
流水灯设计
0030: 1620 MOV #0080H, FF01H 0031: 0080
0032: FF01
0033: 1600 MOV #0000H, R0 0034: 0000
0035: 0440 INC R0
0036: 9600 CMP #FFFFH, R0 0037: FFFF
0038: 0220 JC 003CH
0039: 003C
003A: 0260 JNC 0035H
003B: 0035
003C: 0160 ROR FF01H
003D: FF01
003E: A620 TEST #FFFFH, FF01H 003F: FFFF
0040: FF01
0041: 0320 JZ 0030H
0042: 0030
0043: 0360 JNZ 0033H
0044: 0033
0045: 0000 HALT
PUSH,POP
0030: 1600 MOV #0041H,R0 0031: 0041
0032: 0060 PUSH R0
0033: 0620 PUSH 0040H
0034: 0040
0035: 0648 POP (R0)
0036: 0641 POP R1
程序中断
0030: 1600 MOV #0100H, 0000H 0031: 0040
0032: 0000
0033: 0004 EI
0034: 0460 INC 0040H
0035: 0040
0036: 1601 MOV #2333H, R1 0037: 2333
0038: 0000 HALT
0100: 1820 MOV #FF08H, FF02H 0101: FF08
结课任务
将R2的内容左右颠倒存入R7(A1A2A3A4------A4A3A2A1)
总体设计及总结
成功完成了对JUC2的整体设计。
包括取指令,取目的(源)操作数,保存结果,转移指令,移位指令,堆栈相关指令设计,中断设计等。
熟练掌握了微程序设计的基本思想和实现方法。
理解指令执行过程,指令系统与硬件的关系,加深了对计算机的结构和工作原理的理解。