计算机组成原理课程设计(微程序)报告
计算机组成原理课程设计报告
《计算机组成原理》课程设计报告目录1.任务书 (1)2.设备清单 (1)3.设计原理及方法 (1)3.1数据格式 (1)3.2指令设计 (1)3.3指令格式 (2)3.4指令系统 (3)3.5设计依据 (3)3.6按微指令的格式参照程序流图 (5)3.7微程序代码清单 (6)3.8实验接线图 (7)3.9机器指令代码清单 (8)3.10化简后的机器指令 (8)4.设计运行结果分析 (12)4.1实验过程 (12)4.2结果分析 (14)5.设计小结 (14)6.设计日志 (15)1.任务描述复杂指令计算机系统设计设计不少于10条指令的指令系统。
其中,包含算术逻辑指令,访问内存指令,程序控制指令,输入输出指令,停机指令。
重点是要包括直接、间接、变址和相对寻址等多种寻址方式。
基于TD-CMA计算机组成原理教学实验系统,设计一个复杂计算机整机系统模型机,分析其工作原理。
根据模型机的数据通路以及微程序控制器的工作原理,设计完成以下几条机器指令和相应的微程序,输入程序并运行。
IN R1,00H; 从端口00(IN单元)读入数据送R1LDI R2,0FH;将立即数OFH装入R2AND R1,R2;R1*R2->R1STA [10H],R1;R1->[[10H]],间接寻址OUT 40H,10H;10H单元的内容在OUT单元显示,直接寻址DEC 12H;12H单元内容减1,直接寻址LOP:BZC EXIT;JMP LOP;EXIT:HLT10H、12H单元内容分别为12H、03H2.设备清单PC机一台,TD-CMA实验系统一套,排线若干。
3.设计原理及方法3.1数据格式模式机规定采用的定点补码表示法表述数据,字长为8位,8位全用来表示数据(最高位不表示符合),数值表示的范围:0≤X≤28-1。
3.2指令设计模型机设计三大类指令共十五条,其中包括运算类指令、控制转移类指令,数据传送类指令。
运算类指令包括三类:算数运算、逻辑运算、移位运算,设计有6类运算指令,分别为:AND、ADD、INC、SUB、OR、RR,所有运算全是单指令,寻址方式采用寄存器直接寻址。
计算机组成原理课程设计报告-微程序设计
窊大的计算机学院的学弟学妹们,你们师哥呕心沥血的一个月,终于把计算机最棘手的一门实验搞定了---微程序设计以下是我汗水的结晶,现传在网上,供你们借鉴,用到此文档的童靴,赶紧的膜拜感激吧!真羡慕你们可以有这么慷慨的学长,处处为你们着想。
你说我的学长学姐们怎么就没有人传一份呢?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),并编写相应的微程序,具体上机调试掌握整机概念。
《计算机组成原理》微程序设计实验报告
《计算机组成原理》实验报告学院:计算机学院专业:交通工程班级学号:AP0804114学生姓名:黄佳佳实验日期:2010.12.14指导老师:李鹤喜成绩评定:五邑大学信息学院计算机组成原理实验室实验五微程序设计实验一、实验目的:深入掌握微程序控制器的工作原理,学会设计简单的微程序。
二、预习要求:1.复习微程序控制器工作原理;2.复习计算机微程序的有关知识。
三、实验设备:EL-JY-II型计算机组成原理实验系统一台,连接线若干。
四、微程序的设计:1.微指令格式设计微指令编码格式的主要原则是使微指令字短、能表示可并行操作的微命令多、微程序编写方便。
微指令的最基本成份是控制场,其次是下地址场。
控制场反映了可以同时执行的微操作,下地址场指明下一条要执行的微指令在控存的地址。
微指令的编码格式通常指控制场的编码格式,以下几种编码格式较普遍。
1)最短编码格式这是最简单的垂直编码格式,其特点是每条微指令只定义一个微操作命令。
采用此格式的微指令字短、容易编写、规整直观,但微程序长度长,访问控存取微指令次数增多从而使指令执行速度慢。
2)全水平编码格式这种格式又称直接编码法,其特点是控制场每一位直接表示一种微操作命令。
若控制场长n位,则至多可表示n个不同的微操作命令。
采用此格式的微指令字长,但可实现多个允许的微操作并行执行,微程序长度短,指令执行速度快。
3)分段编码格式是将控制场分成几段。
若某段长i位,则经译码,该段可表示2i个互斥的即不能同时有效的微操作命令。
采用这种格式的微指令长度较短,而可表示的微操作命令较多,但需译码器。
2.微程序顺序控制方式的设计微程序顺序控制方式指在一条指令对应的微程序执行过程中,下一条微指令地址的确定方法,又叫后继地址生成方式。
下面是常见的两种。
1)计数增量方式这种方式的特点是微程序控制部件中的微地址中的微地址产生线路主要是微地址计数器MPC。
MPC 的初值由微程序首址形成线路根据指令操作码编码形成。
计组课设-微指令的设计实验
计算机组成原理课程设计报告班级:计算机/物联网 ________ 班姓名:_______ 学号:___________完成时间:2016.1.14 _____________________一、课程设计目的1 •在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2 •通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3 •培养综合实践及独立分析、解决问题的能力。
二、课程设计的任务针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000 的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三、课程设计使用的设备(环境)1 .硬件COP2000实验仪PC机2 .软件COP2000仿真软件四、课程设计的具体内容(步骤)1•详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点:从指令字长来看该模型机指令系统包含单字长和双字长两种格式的指令,字长为8位,对于需要访问内存的指令都是双字长的,指令系统中大多数指令是单字长;从指令操作码是定长和变长来看,这里认为,虽然ADD A, R?和ADD A, @R?都是执行加法操作,但他们是不同的指令,将指令格式中寻址寄存器的两位也认为是操作码的一部分,这两条指令的操作码不同。
因此,指令系统的指令格式是定长操作码的,操作码为6位。
1)双字长的指令格式如下:举例2)单字长的指令格式如下:举例:助记符 机器码1机器码2ADD A, R? 000100xxORA, R? 011000xxMOV R?, A100000xx该模型机微指令系统的特点(包括其微指令格式的说明等) :该模型机微指令系统的微指令格式是水平型微指令, 微指令的字长为24位,是机器字长的3倍,每条微指令仅包含微操作控制字段,无顺序控制字段。
计算机课程设计报告
《计算机组成原理课程设计》任务书一、实验目的:(1)通过微程序的编制、装入、执行,验证微程序控制器控制的工作方法。
观察微程序的运行过程,为进行简单模型计算机实验做准备。
(2)通过实验分析简单模型机结构,了解计算机工作原理。
掌握计算机微程序控制器的控制方法,掌握计算机指令执行过程。
(3)深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,通过在简单模型计算机基础上设计新的5条机器指令,以提高学生对计算机机器指令理解,锻炼学生自己动手设计模型计算机机器指令的能力。
二、实验说明:要进行这项大型实验,必须清楚地懂得:(1)模型机的功能部件及其连接关系;(2)模型机每个功能部件的功能与具体组成;(3)模型机支持的指令格式;(4)模型机的微指令格式;(5)已实现的典型指令的执行实例,即相应的微指令与其执行次序的安排与衔接;三、实验内容:(1)完成总线数据传输控制实验。
(2)完成简单模型计算机实验。
(3)完成机器指令设计实验。
可选择其中一项任务任务之一:在模型机上实现以下功能:a)每次输入2个数,将这2 个数相加,其和依次存入存储器地址为20H开始的3个单元,并送LED显示输出,以上操作循环执行3次后停机。
b)其中:设R0为循环计数器、R1为累加器、R2为变址寄存器,Ri就是R2c)INPUT DEVICE和OUTPUT DEVICE的端口地址皆为00H。
任务之二:在模型机上实现以下功能:对输入开关上的数据和存储器某一单元中的数据进行加法操作,结果累计在存储器某一单元中,当累计值大于256时转而进行减法操作,即把此存储器单元中的值减去输入开关上的数据,结果送同一存储器单元,当操作结果小于0时再转而进行加法操作,使用显示灯上出现数据连续加,然后连续减,减到0时再连续加。
这样连续加民、减直到拔动CLR结束程序运行为止。
任务之三:1、分析手动装入程序代码时,为什么必须要在微地址显示灯显示“”时,才从开关上置入指令代码?同时,在手动校验时,为什么只有当微地址显示灯显示“”时,发光管上显示的内容才是内存的数据?2、若将OUT指令的操作码改为0101,则微程序必须做什么样的修改?3、在微程序流程图上,最多还可以添加几条机器指令?四、实验要求:(1)根据实验内容完成各指导书中的实验数据的结果、分析和总结。
计算机组成原理实验报告微程序控制器实验
实验三微程序控制器实验一. 实验目的与要求:实验目的:1.理解时序产生器的原理,了解时钟和时序信号的波形;2.掌握微程序控制器的功能,组成知识;3.掌握微指令格式和各字段功能;4.掌握微程序的编制,写入,观察微程序的运行,学习基本指令的执行流程。
实验要求:1.实验前,要求做好实验预习,并复习已经学过的控制信号的作用;2.按练习一要求完成测量波形的操作,画出TS1,TS2,TS3,TS4的波形,并测出所用的脉冲Ф周期。
按练习二的要求输入微指令的二进制代码表,并单步运行五条机器指令。
二. 实验方案:按实验图在实验仪上接好线后,仔细检查无误后可接通电源。
1.练习一:用联机软件的逻辑示波器观测时序信号,测量Ф,TS1,TS2,TS3,TS4信号的方法如下:(1) TATE UNIT 中STOP开关置为“RUN”状态(向上拨),STEP开关置为“EXEC”状态(向上拨)。
(2) 将SWITCH UNIT 中右下角CLR开关置为“1”(向上拨)。
(3) 按动“START”按钮,即可产生连续脉冲。
(4)调试”菜单下的“显示逻辑示波器窗口,即可出现测量波形的画面。
(5)探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的Ф插座,即可测出时钟Ф的波形。
(6)探头一端接实验仪左上角的CH2,另一端接STATE UNIT中的TS1插座,即可测出TS1的波形;(7)探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS2插座,即可测出TS2的波形。
(8)将红色探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS3插座,即可测出TS3的波形。
(9)将红色探头一端接实验仪左上角的CH1,另一端接STATE UNIT中的TS4插座,即可测出TS4的波形。
2.观察微程序控制器的工作原理:①关掉实验仪电源,拔掉前面测时序信号的接线;②编程写入E2PROM 2816A.将编程开关(MJ20)置为PROM(编程)状态;B.将实验板上STATE UNIT 中的STEP置为STEP状态,STOP置为RUN状态,SWITCH UNIT中CLR开关置为1状态;C.在右上角的SWITCH UNIT中UA5-UA0开关上置表3.2中某个要写的微地址;D.在MK24-MK1开关上置表3.2中要写的微地址后面的24位微代码,24位开关对应24位显示灯,开关置为1时灯亮,为0时灯灭;E.启动时序电路,即将微代码写入到E2PROM 2816的相应地址对应的单元中;F.重复C-E步骤,将表3.2的每一行写入E2PROM 2816。
计算机组成原理课程设计报告 第五天
计算机组成原理课程设计报告专业名称:网络1001班级学号: 3100610013学生姓名:赵一昕指导教师:丁伟设计时间:年月日——年月日第一天取操作数微程序的设计和调试一、设计目标设计并调试取操作数的微程序。
二、取操作数微流程三、测试程序、数据及运行结果格式如下:1、测试内容:立即数寻址、直接寻址测试指令(或程序):MOV #5678H,0010H运行结果及分析:四、设计中遇到的问题及解决办法这次试验中在取源操作数和取目的操作数时对微程序的入口地址的编写时我出现了问题,还有在编写时我由于粗心也出现了错误。
这次试验我了解了相关软件的应运,了解了取操作数的设计及调试,学会了对每一步操作的分析和验证。
第二天运算指令的微程序设计与调试一、设计目标设计并调试运算指令的微程序。
二、运算指令微程序入口地址三、运算类指令微程序四、测试程序、数据及运行结果1、测试内容:立即数寻址、直接寻址测试指令(或程序):ADD #5678H,0010H机器码:运行结果及分析:2.测试内容:立即数寻址、寄存器间接寻址测试指令(或程序):AND #1234H,(R0)机器码:运行结果及分析:3.测试内容:立即数寻址、寄存器寻址测试指令(或程序):DEC (0111H)机器码:运行结果及分析:4. 测试内容:立即数寻址、寄存器寻址测试指令(或程序):TEST #1234 R1机器码:运行结果及分析:五、设计中遇到的问题及解决办法在这次实验中,输入微程序的代码必须足够仔细,否则你检查起来会比较麻烦,而且这次试验我对有些运算指令代码的功能并不是十分了解,比如CMP,在老师和同学的帮助之下,我顺利完成了编写。
第三天CPU硬件的初级设计与验证一、设计目标在运算器实验的基础上对硬件进行扩充,建立初级CPU的数据通路,构造一个只支持运算指令的初级CPU。
二、硬件设计1、PC模块设计(加上适当注释)timescale 1ns / 1psmodule PC(d,q,n_reset,clk,ce,PCinc);input [15:0] d;input n_reset,clk,ce;input PCinc;output [15:0] q;reg [15:0] data;always @(posedge clk or negedge n_reset)beginif (!n_reset)data = 0; //采用异步复位,当n_reset有效时,PC清0else if (ce)data = d; //在时钟信号clk的上升沿如果数据装入使能ce有效则d→qelse if(PCinc)data=data+1; //如果自加信号PCinc有效则q+1→q。
计算机组成原理课程设计报告
计算机组成原理课程设计实验报告目录一、程序设计 (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)用于输出连续或单个方波信号,来控制机器的运行。
计算机组成原理课程设计的实验报告范文
长治学院课程设计报告课程名称:计算机组成原理课程设计设计题目:设计一台性能简单的计算机系别:计算机系专业:计科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)微指令的格式设计原理;二设计要求题一研制以台性能如下的实验计算机。
计算机组成原理课程设计总结报告[优秀范文5篇]
计算机组成原理课程设计总结报告[优秀范文5篇]第一篇:计算机组成原理课程设计总结报告大庆师范学院计算机组成原理课程设计总结报告设计题目:基本模型机的模拟设计与实现子题目:外部中断控制流水灯、蜂鸣器学生姓名:院别:专业:班级:学号:指导教师:2011 年 7 月 5日大庆师范学院课程设计任务书题目基本模型机的模拟设计与实现主要内容:对基本模型机的设计与实现,能够自己设计机器指令并且能够翻译为微程序,并能将机器指令和微程序分别打入模拟机的内存和控制存储其中,并通过程序调试能将所编写的程序正确运行。
参考资料:《计算机组成原理》唐朔飞著《计算机组成原理》白中英著《计算机组成原理实验指导》完成期限:一周指导教师签名:2011年 7 月5日大庆师范学院本科毕业论文(设计)大庆师范学院本科毕业论文(设计)目录一、设计目标 (1)二、采用设备 (1)三、设计的原理 (1)3.1 单片机..............................................................................1 3.2中断方式...........................................................................2 3.3实现控制LED 和蜂鸣器的原理 (3)四、逻辑电路图 (3)4.1LED小灯原理图..................................................................... 3 4.2扬声器原理图..................................................................... 3 4.3单片机的独立按键原理图 (4)五、程序代码...........................................................................4 5.1C语言的特点及选择...............................................................4 5.2 程序代 (5)六、调试情况 (5)6.1在keil环境下,编写外部中断的程序…………………………………6 6.2软件调试的步骤 (6)七、心得体会 (6)八、参考文献 (7)大庆师范学院本科毕业论文(设计)摘要:本文介绍了在89c51单片机系统中设计外部中断流水灯、蜂鸣器的一种方法。
计算机组成原理微程序系统实验总结
计算机组成原理微程序系统实验总结计算机组成原理是计算机科学与技术专业的基础课程之一,它主要研究计算机硬件系统的组成和工作原理。
在这门课程中,我们学习了计算机的基本组成部分,包括中央处理器(CPU)、存储器、输入输出设备等,并了解了它们之间的工作原理和相互关系。
在计算机组成原理课程的实验环节中,我们进行了微程序系统的实验。
微程序系统是一种将指令集的控制逻辑以微指令的形式存储在存储器中的控制方式。
通过实验,我们进一步加深了对计算机硬件组成和工作原理的理解,并掌握了微程序系统的设计和实现方法。
在实验过程中,我们首先需要了解微程序系统的基本原理和设计思想。
微程序系统通过将指令的控制逻辑以微指令的形式存储在存储器中,然后通过控制器按照微指令的顺序来执行指令。
这种方式可以使得计算机的指令集更加灵活,并且可以方便地进行指令的扩展和修改。
在实验中,我们使用了VHDL语言来描述微程序系统的控制逻辑。
VHDL是一种硬件描述语言,可以用于描述数字电路的结构和行为。
通过使用VHDL语言,我们可以将微程序系统的控制逻辑以硬件的形式描述出来,并通过仿真软件来验证其正确性。
在实验中,我们首先进行了微程序系统的设计。
我们根据指令集的要求,设计了适当的微指令,并将其存储在存储器中。
然后,我们设计了控制器的逻辑电路,用于按照微指令的顺序来执行指令。
最后,我们使用仿真软件对设计的微程序系统进行了验证,确保其能够正确地执行指令。
通过实验,我们不仅加深了对计算机组成原理的理解,还掌握了微程序系统的设计和实现方法。
我们学会了使用VHDL语言来描述微程序系统的控制逻辑,并通过仿真软件来验证其正确性。
通过这些实验,我们对计算机硬件的工作原理有了更加深入的了解,并且提高了我们的实践能力和问题解决能力。
计算机组成原理微程序系统实验是计算机科学与技术专业中重要的实践环节。
通过这个实验,我们加深了对计算机硬件组成和工作原理的理解,掌握了微程序系统的设计和实现方法,并提高了实践能力和问题解决能力。
计算机组成原理微程序控制器组成实验课程实验报告书
学生课程实验报告书13 级计算机与信息科学系软件工程专业 1303 班学号 3138907308 姓名王明渊2014 --2015 学年第 2 学期实验项目:微程序控制器组成实验实验时间:实验原理:(任务)一、实验目的1. 掌握时序产生器的组成原理。
2. 掌握微程序控制器的组成原理。
二、实验电路1. 时序发生器本实验所用的时序电路见图3.4。
电路由一个500KHz晶振、2片GAL22V10、一片74LS390组成,可产生两级等间隔时序信号T1-T4、W1-W3,其中一个W由一轮T1-T4组成,相当于一个微指令周期或硬连线控制器的一拍,而一轮W1-W3可以执行硬连线控制器的一条机器指令。
另外,供数字逻辑实验使用的时钟由MF经一片74LS390分频后产生。
图3.4 时序信号发生器本次实验不涉及硬连线控制器,因此时序发生器中产生W1-W3的部分也可根据需要放到硬连线控制器实验中介绍。
产生时序信号T1-T4的功能集成再图中左边的一片GAL22V10中,另外它还产生节拍信号W1-W3的控制时钟CLK1。
该芯片的逻辑功能用ABEL语言实现。
其源程序如下:MODULE TIMER1TITLE ‘CLOCK GENERATOR T1-T4’CLK = C;“INPUTMF, CLR, QD, DP, TJ, DB PIN 1..6;W3 PIN 7;“OUTPUTT1, T2, T3, T4 PIN 15..18 ISTYPE ‘REG’;CLK1 PIN 14 ISTYPE ‘COM’;QD1, QD2, QDR PIN ISTYPE ‘PEG’;ACT PIN ISTYPE ‘COM’;S = [T1, T2, T3, T4, QD1, QD2, QDR];EQUATIONSQD1 := QD;QD2 := QD1;ACT = QD1 & !QD2;QDR := CLR & QD # CLE & QDR;T1 := CLR & T4 & ACT # CLR & T4 & !(DP # TJ # DB & W3) & QDR;T2 := CLR & T1;T3 := CLR & T2;T4 := !CLR # T3 # T4 & !ACT & (DP # TJ # DB & W3) # !QDR;CLK1 = T1 # !CLR & MF;S.CLK = MF;END节拍电位信号W1-W3只在硬连线控制器中使用,产生W信号的功能集成在右边一片GAL22V10中,用ABEL语言实现。
计算机组成原理实验报告范文微程序控制单元实验计算机组成原理mio
计算机组成原理实验报告范文微程序控制单元实验计算机组成原理mio西华大学数学与计算机学院实验报告课程名称:计算机组成原理年级:2022级实验成绩:指导教师:祝昌宇姓名:蒋俊实验名称:微程序控制单元实验学号:312022*********实验日期:2022-12-15一、目的1.熟悉微程序控制器的原理2.掌握微程序编制、写入并观察运行状态二、实验原理(1)微程序控制单元的构成8位微地址寄存器由2片74LS161组成;3片6264为微程序存储器;24位微程序锁存器由3片74LS374组成。
如图1图1微程序控制单元布局图(2)微程序控制单元原理1.由于本系统中指令系统规模不大、功能较简单,微指令可以采用全水平、不编码的方式,每一个微操作信号由1位微代码来表示,24位微代码至少可表示24个不同的微操作控制信号。
如要实现更多复杂的操作可通过增加一些译码电路来实现。
2.增量方式来控制微代码的运行顺序,每一条指令的微程序连续存放在微指令存储器连续的单元中。
3.每一指令的微程序的入口地址是通过对指令操作码的编码来形成的。
在本系统指令码最长为8位,那么最多可形成256条指令。
4.在微程序存储器的0单元存放取指指令,在启动时微地址寄存器清0,执行取指指第1页共4页令。
5.每一段微程序都以取指指令结束,以取得下一条指令。
6.在本系统内,MLD为置微地址的控制信号,MCK为工作脉冲。
当MLD=0、MCK有上升沿时,把MD0~MD7的值作为微程序的地址,打入微地址寄存器。
当MLD=1、MCK有上升沿时,微地址计数器自动加1。
图2微程序控制单元原理图三、使用环境第2页共4页计算机组成原理实验箱四、实验步骤(一)准备工作1.将MD0~MD7、MLD接入二进制开关上,将MCK、MOCK分别接入脉冲单元上的PLS1、PLS2上。
请按下表接线信号定义接入开关位号MCKPLS1孔MOCKPLS2孔MD0H0孔MD1H1孔MD2H2孔MD3H3孔MD4H4孔MD5H5孔MD6H6孔MD7H7孔MLDH23孔2.启停单元中的停止按钮,置实验机为停机状态。
计算机组成原理课程设计微程序报告
计算机组成原理课程设计微程序报告微程序控制器的设计与实现⽬录1设计⽬的 (3)2设计内容 (3)3具体要求 (3)4设计⽅案 (3)5 调试过程 (11)6 ⼼得体会 (12)微程序控制器的设计与实现⼀、设计⽬的1)巩固和深刻理解“计算机组成原理”课程所讲解的原理,加深对计算机各模块协同⼯作的认识2)掌握微程序设计的思想和具体流程、操作⽅法。
3)培养学⽣独⽴⼯作和创新思维的能⼒,取得设计与调试的实践经验。
4)尝试利⽤编程实现微程序指令的识别和解释的⼯作流程⼆、设计内容按照要求设计⼀指令系统,该指令系统能够实现数据传送,进⾏加、减运算和⽆条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、⽴即数寻址等五种寻址⽅式。
三、设计要求1)仔细复习所学过的理论知识,掌握微程序设计的思想,并根据掌握的理论写出要设计的指令系统的微程序流程。
指令系统⾄少要包括六条指令,具有上述功能和寻址⽅式。
2)根据微操作流程及给定的微指令格式写出相应的微程序3)将所设计的微程序在虚拟环境中运⾏调试程序,并给出测试思路和具体程序段4)尝试⽤C或者Java语⾔实现所设计的指令系统的加载、识别和解释功能。
5)撰写课程设计报告。
四、设计⽅案1)设计思路按照要求设计指令系统,该指令系统能够实现数据传送,进⾏加、减运算和⽆条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、⽴即数寻址等五种寻址⽅式。
从⽽可以想到如下指令:24位控制位分别介绍如下:XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
EMWR:程序存储器EM写信号。
EMRD:程序存储器EM读信号。
PCOE:将程序计数器PC的值送到地址总线ABUS上。
EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR 和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。
IREN:将程序存储器EM读出的数据打⼊指令寄存器IR 和微指令计数器uPC。
计算机组成原理课程设计报告模板
三、课程设计的时间安排
序号
教学顺序
教学内容
2、控制信号的说明;
3、;实验的关键设计;
4、实验的步骤
5、实验运行图;
6、实验结果分析;
六、结论(应当准确、完整、明确精练;也可以在结论或讨论中提出建议、设想、尚待解决问题等。)
七、参考文献
(一)教科书
唐朔飞编著,《计算机组成原理》,高等教育出版社 第三版
(二)参考书
(1)李勇编著,《计算机原理与设计》,国防科技大学出版社
2、学生独立设计出对应每一条指令的一段微指令,并将若干段微程序写入控制存储器,并检查其正误。
3、把程序通过存储器写操作写入内存中
4、通过存储器读操作连续进行读操作,验证6、读寄存器对寄存器堆中的寄存器连续进行读操作,验证写的数据是否正确。
《计算机组成原理》课程设计
系院:
学生姓名:
专业:
年级:
完成日期
指导教师:
课程设计小组成员名单及分工
姓名
学号
主要完成内容
备注
一、课程设计的目的与要求
本课程设计是在完成了计算机组成原理的教学后进行的,目的在于让学生在掌握了计算机组成原理的基本理论之后,在实验室里老师指导下,自己动手,搭建一个简单的计算机的模型,其模型中包括计算机中的运算器、寄存器、译码电路、存储器、和存储微指令用的控制存储器。在此基础上,给出若干条计算机指令,要求学生自行设计出这若干条指令的微指令,并将其存放于控制存储器,然后用这几条指令设计一段程序。将该段程序存放于内存中,并运行此段程序,且显示该段程序运行后其结果的正、误,分析其原因。通过该实习,让学生在实际操作中加深对计算机的组成原理和指令在计算机中运行过程的理解。
计算机组成原理微程序计数器实验报告
洛阳理工学院实验报告
班级学号姓名
系别计算机与信
息工程学院
课程名称计算机组成与系统结构实验日期2016
实验名称实验七微程序计数器成绩
实验条件:
1、DJ-CPTH超强型组成原理实验箱
2、PC机一台
实验要求:
利用CPTH实验仪上的K16..K23 开关做为DBUS的数据,其它开关做为控制信号,实现微程序计数器uPC的写入和加1功能。
实验目的:
掌握模型机中微程序计数器结构、工作原理及其控制方法。
实验步骤:
(1)按照下表连接线。
(2) uPC 加1。
置控制信号为:
按一次STEP脉冲键,CK产生一个上升沿,数据uPC 被加1。
(3)uPC 打入。
二进制开关K23-K16用于DBUS[7:0]的数据输入,置数据28H:
K23K22K21K20 K19K18K17K16
00 1 0 1 0 0 0 置控制信号为:
当EMWR,EMEN=0时,数据总线(DBUS)上的数据被送到指令总线(IBUS)上。
按住STEP脉冲键,CK由高变低,这时寄存器uPC的黄色预置指示灯亮,表明uPC被预置。
放开STEP键,CK由低变高,产生一个上升沿,数据28H被写入uPC寄存器。
实验总结:
通过这次实验,我们更好的掌握了微程序计数器uPC的结构,工作原理和控制方法。
计算机组成原理课程设计实验报告
计算机组成原理实验报告班级:1403011学号:140301124姓名:于梦鸽地点:EII-312时间:第3批计算机组成原理与体系结构课程设计基本模型机设计与实现一.实验目的1.深入理解基本模型计算机的功能、组成知识; 2.深入学习计算机各类典型指令的执行流程;3.学习微程序控制器的设计过程和相关技术,掌握LPM_ROM 的配置方法。
4.在掌握部件单元电路实验的基础上,进一步将单元电路组成系统,构造一台基本模型计算机。
5.定义五条机器指令,并编写相应的微程序,上机调试,掌握计算机整机概念。
掌握微程序的设计方法,学会编写二进制微指令代码表。
6.通过熟悉较完整的计算机的设计,全面了解并掌握微程序控制方式计算机的设计方法。
二.实验原理1.在部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本实验将能在微过程控制下自动产生各部件单元控制信号,实现特定的功能。
实验中,计算机数据通路的控制将由微过程控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。
2.指令格式(1)指令格式采用寄存器直接寻址方式,其格式如下:其中IN 为单字长(8位二进制),其余为双字长指令,XX H 为addr 对应的十六进制地址码。
为了向RAM 中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。
1,存储器读操作(KRD ):下载实验程序后按总清除按键(CLR )后,控制台SWA 、SWB 为“0 0”时,可对RAM 连续手动读入操作。
2,存储器写操作(KWE ):下载实验程序后按总清除按键(CLR )后,控制台SWA 、SWB 为“0 1”时,可对RAM 连续手动写操作。
3、启动程序(RP ):下载实验程序后按总清除按键(CLR )后,控制台SWA 、SWB 为“1 1”时,即可转入到微地址“01”号“取指令”微指令,启动程序运行。
计算机组成原理课程设计报告,乘法,除法,子函数编程思想
课程设计报告课程名称:计算机组成原理课程设计实验项目:用微指令实现乘法和除法的程序姓名:刘斌专业:计算机科学与技术班级:计算机14-6班学号:计算机科学与技术学院实验教学中心2016 年9 月 1 日设计项目名称:用微指令实现乘法和除法的程序(2 学时)一.设计目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。
二.设计内容针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。
三.使用仪器1.硬件COP2000实验仪PC机2.软件COP2000仿真软件3.辅助COP2000计算机组成原理实验仪说明书。
四.设计步骤1.知识储备1.1.掌握计算机组成原理相关知识1.2.掌握COP 2000模型机的微程序控制器原理。
1.3.掌握有关计算机中实现乘法和除法的算法流程与相应的硬件实现原理。
2.熟悉实验环境2.1.熟悉COP2000仿真软件2.2.将1.3中算法与COP2000实验仪的硬件资源相对应3.分步设计指令系统并逐步验证3.1.设计“数据移动”相关指令,并写程序验证功能3.2.设计“加减法”相关指令,并写程序验证功能3.3.设计“整数移位”相关指令,并写程序验证功能3.4.设计“跳转”相关指令,并写程序验证功能3.5.设计“调用子函数”相关指令,并写程序验证功能4.设计乘除法,同时验证指令系统的整体功能4.1.乘法算法设计,并用全新的指令系统实现,验证程序正确性的同时验证指令系统的正确性。
4.2.除法算法设计,并用全新的指令系统实现,验证程序正确性的同时验证指令系统的正确性。
计算机组成原理实验报告-微程序控制器
01
0 0 0 0 0 0 0 1 1
1 1 0
1 1 0
1 1 0
0 0 0 0 1 0
02
0 0 0 0 0 0 0 0 1
1 0 0
0 0 0
0 0 1
0 0 1 0 0 0
03
0 0 0 0 0 0 0 0 1
1 1 0
0 0 0
0 0 0
0 0 0 1 0 0
04
0 0 0 0 0 0 0 0 1
0 0 1 1 1 1
17
0 0 0 0 0 0 0 0 1
0 1 0
0 0 0
0 0 0
0 1 0 1 0 1
20
0 0 0 0 0 0 0 1 1
1 1 0
1 1 0
1 1 0
0 1 0 0 1 0
21
0 0 0 0 0 0 0 1 1
1 1 0
1 1 0
1 1 0
0 1 0 1 0 0
22
0 0 0 0 0 0 0 0 1
(2)读微指令。
(3)产生微操作命令。
(4)形成下一条微指令地址。
(5)取下一条微指令。…………重复(1)~(4)过程,直到该机器指令送入IR为止。
2、执行阶段Βιβλιοθήκη (1)当指令存入IR后,由指令的OP部分送到微地址形成部件,形成该指令对应的微程序的首地址。
(2)读出微指令。
(3)产生微操作命令。
(4)形成下一条微指令地址。…………重复(1)~(4)过程,直到该机器指令执行完为止。
2、微指令寄存器:微指令寄存器(CMIR)存放由控制存储器读出的一条微指令信息
3、微地址寄存器(CMAR):存放将要访问的下一条微指令的微地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微程序控制器的设计与实现目录1设计目的 (3)2设计内容 (3)3具体要求 (3)4设计方案 (3)5 调试过程 (11)6 心得体会 (12)微程序控制器的设计与实现一、设计目的1)巩固和深刻理解“计算机组成原理”课程所讲解的原理,加深对计算机各模块协同工作的认识2)掌握微程序设计的思想和具体流程、操作方法。
3)培养学生独立工作和创新思维的能力,取得设计与调试的实践经验。
4)尝试利用编程实现微程序指令的识别和解释的工作流程二、设计内容按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
三、设计要求1)仔细复习所学过的理论知识,掌握微程序设计的思想,并根据掌握的理论写出要设计的指令系统的微程序流程。
指令系统至少要包括六条指令,具有上述功能和寻址方式。
2)根据微操作流程及给定的微指令格式写出相应的微程序3)将所设计的微程序在虚拟环境中运行调试程序,并给出测试思路和具体程序段4)尝试用C或者Java语言实现所设计的指令系统的加载、识别和解释功能。
5)撰写课程设计报告。
四、设计方案1)设计思路按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
从而可以想到如下指令:24位控制位分别介绍如下:XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。
EMWR:程序存储器EM写信号。
EMRD:程序存储器EM读信号。
PCOE:将程序计数器PC的值送到地址总线ABUS上。
EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR 和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。
IREN:将程序存储器EM读出的数据打入指令寄存器IR 和微指令计数器uPC。
EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。
ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。
MAREN:将数据总线DBUS上数据打入地址寄存器MAR。
MAROE:将地址寄存器MAR的值送到地址总线ABUS上。
OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT 里。
STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。
RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。
RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。
CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。
FEN:将标志位存入ALU内部的标志寄存器。
X2:X1:X0: X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。
具体如下:X2 X1 X0 输出寄存器0 0 0 IN_OE 外部输入门0 0 1 IA_OE 中断向量0 1 0 ST_OE 堆栈寄存器0 1 1 PC_OE PC寄存器1 0 0 D_OE 直通门1 0 1 R_OE 右移门1 1 0 L_OE 左移门1 1 1 没有输出WEN:将数据总线DBUS的值打入工作寄存器W中。
AEN:将数据总线DBUS的值打入累加器A中。
S2:S1:S0: S2、S1、S0三位组合决定ALU做何种运算。
具体如下:S2 S1 S0 功能0 0 0 A+W 加0 0 1 A-W 减0 1 0 A|W 或0 1 1 A&W 与1 0 0 A+W+C 带进位加1 0 1 A-W-C 带进位减1 1 0 ~A A取反1 1 1 A 输出A模型机的寻址方式分五种:累加器寻址:操作数为累加器A,例如“CPL A”是将累加器A值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。
寄存器寻址:参与运算的数据在R0-R3的寄存器中,例如“ADD A,R0”指令是将寄存器R0的值加上累加器A的值,再存入累加器A中。
寄存器间接寻址:参与运算的数据在存储器EM中,数据的地址在寄存器R0-R3中,例如“MOV A,@R1”指令是将寄存器R1的值做为地址,把存储器EM中该地址的内容送入累加器A中。
存储器直接寻址:参与运算的数据在存储器EM中,数据的地址为指令的操作数。
例如“AND A,40H”指令是将存储器EM中40H单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。
立即数寻址:参与运算的数据为指令的操作数。
例如“SUBA,#10H”是从累加器A中减去立即数10H,结果存入累加器A。
2)程序清单MOV A,#01H 立即数寻址,传送指令,将01h传送给累加器aLOOP:MOV R0,#01H 立即数寻址,将01h传送给r0ADD A,R0 寄存器寻址,加法操作,将r0的值与a相加,结果存入a中SUB A,@R0 寄存器间接寻址,减法将R0的值当作是内存地址,再将此地址的值与A相减,最后放入A。
ADD A,01H 存储器直接寻址,寻找出01地址中的值,用A和此地址的值相加,最后放入ACPL A 累加器寻址,将a的值取反OUTJMP LOOP //无条件跳转,跳转到LOOP3)指令流程图MOV A,#01HPC—>MAR(PC+1—>PC)MAR—>EMEM—>IR 、uPCEM—>A(PC+1—>PC)MOV R0,#01H ADD A,R0PC—>MAR (PC+1—>PC)MAR—>EMEM—>IR 、uPCEM—>R0 (PC+1—>PC)PC—>MAR(PC+1—>PC) MAR—>EM EM—>IR 、uPCW+A—>AR0—>WSUB A,@R0 ADD,02HPC—>MAR (PC+1—>PC)MAR—>EM EM—>IR 、uPCA-W—>A(PC+1—>PC)R0—>MAR MAR—>EM EM—>W PC—>MAR(PC+1—>PC)MAR—>EMEM—>IR 、uPCEM—>MAR02H—>EMEM—>WA&W—>A(PC+1—>PC)CPLAPC—>MAR(PC+1—>PC)MAR—>EMEM—>IR 、uPCA—>~A(PC+1—>PC)OUTPC—>MAR(PC+1—>PC)MAR—>EMEM—>IR 、uPCA—>OUT(PC+1—>PC)JMP LOOPPC—>MAR(PC+1—>PC)MAR—>EMEM—>IR 、uPCIR—>PC(PC+1—>PC)五、调试过程1)指令系统设计本指令系统涉及8条指令,分别完成数据传送,进行加、减和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
具体指令设计如下:2)微程序设计将窗口切换到“uM微程序”窗口,设计每条指令的微程序。
每个程序开始要执行的第一条微指令应是取指操作,因为程序复位后,PC和uPC的值都为0,所以微程序的0地址处就是程序执行的第一条取指的微指令。
取指操作要做的工作是从程序存储器EM中读出下条将要执行的指令,并将指令的机器码存入指令寄存器IR和微程序计数器uPC中,读出下条操作的微指令。
取指设计如下(CBFFFF):MOV A,#01H 这条指令是把立即数1从存储器EM中取出,放入累加器A 中。
微程序设计如下(C7FFF7):MOV R0,#01H这条指令是把立即数1从存储器EM中取出,放入寄存器R0中。
微程序设计如下(C7FBFF);ADD A,R0这条指令是寄存器寻址,将R0的值取出放入W中与A相加,再将结果放入A。
它由三个指令周期。
微程序设计如下:第一步,把R0 的值放入累加器W中第二步,从D中读出A的值并与W相加,结果放到A中SUB A,@R0 这条指令是寄存器间接寻址,将以R0为地址的数值取出放入W 中与A相减,再将结果放入A。
它由四个指令周期。
微程序设计如下:第一步,把R0 的值放入地址寄存器MAR中第二步从MAR中读出以R0为地址的值放入累加器W中第三步将A的值与W值相减CPL A 将A的值取反在存入A中OUT 将累加器的值送到输出端并输出:JMP LOOP六、心得体会这次微程序程序设计主要是要求我们设计一个指令系统,其中包含加,减,数据传送和无条件转移指令操作,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。
在通过设计的过程中,大概理解了各种指令操作和寻址方式。
学会了能灵活理解他们之间的关系,包括像操作与寻址方式之间的搭配等。
在这一周半的课程设计中,通过指令系统中微程序的设计,了解了24位指令字的具体含义,通过对各位的选择来确定所选择的操作,这样既方便理解,也方便操作。
在这次课程设计中,遇到了很多问题,像对各位数所代表的具体含义仍然不是十分清楚,在设计微程序的时候,对每一条指令所用的cpu周期不能灵活掌握,希望在以后的学习中可以对其进行更加深入的理解。