计算机组成原理课程设计微程序报告

合集下载

计算机组成原理课程设计报告-微程序设计

计算机组成原理课程设计报告-微程序设计

窊大的计算机学院的学弟学妹们,你们师哥呕心沥血的一个月,终于把计算机最棘手的一门实验搞定了---微程序设计以下是我汗水的结晶,现传在网上,供你们借鉴,用到此文档的童靴,赶紧的膜拜感激吧!真羡慕你们可以有这么慷慨的学长,处处为你们着想。

你说我的学长学姐们怎么就没有人传一份呢?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.掌握微程序控制器的组成原理。

二、实验内容1.实验电路(1)时序发生器电路本实验所用的时序电路见图4.1。

电路由一个500KHz晶振、2片GAL22V10、一片74LS390组成,可产生两级等间隔时序信号T1-T4、W1-W3,其中一个W由一轮T1-T4组成,相当于一个微指令周期或硬连线控制器的一拍,而一轮W1-W3可以执行硬连线控制器的一条机器指令。

另外,供数字逻辑实验使用的时钟由MF经一片74LS390分频后产生。

图4.1 时序信号发生器(2)微程序控制器电路图4.2微程序控制器电路微地址转移逻辑表达式:A5=D5=μA5;A4=D4=C•P2+μA4;A3=D3=IR7•P1+μA3;A2=D2=IR6•P1+SWC•P0+μA2;A1=D1=IR5•P1+SWB•P0+μA1;A0=D0=IR4•P1+SWA•P0+μA0。

2.一些关键技术(1)微指令格式图4.3微指令格式(3)上述8条指令的微程序流程图如图4.4所示图4.4微程序流程图(4)微程序代码表表4-2微程序代码表微指令KT RRF WRF RRM WRM PR当前微地址00 0C 1E 06 07 0B 1D 0D 0E 0A 02 03 09 04 05 08 0F 下一微地址08 1E 06 07 1E 1D 0D 0E 1D 02 03 02 04 05 04 0F 10P0 1 . . . . . . . . . . . . . . . .P1 . . . . . . . . . . . . . . . . 1P2 . . . . . . . . . . . . . . . . .备用. . . . . . . . . . . . . . . . .TJ . 1 . . 1 1 . 1 1 . 1 . 1 . 1 . .LDIR . . . 1 . . . 1 . . . . . . . . 1PC+1 . . . . . . . . . . . . . . . . .LDPC# . 1 . . . 1 . . . . . . . . . 1AR+1 . . . . . . . . . . . 1 . . 1 . .LDAR# . 1 . . . 1 . . . 1 . . 1 . . . . LDDR1 . . . . . . . . . . . . . . . . . LDDR2 . . . . . . . . . . . . . . . . . LDRi . . . . . . . . 1 . . . . . . . .SW_BUS# . 1 1 . . 1 1 . 1 1 . . 1 1 . 1 . RS_BUS# . . . . 1 . . . . . . . . . . . . ALU_BUS# . . . . . . . . . . . . . . . . . RAM_BUS# . . . . . . . . . . 1 . . . . . . CER# . . . 1 . . . 1 . . . . . . . . 1 CEL# . . 1 . . . 1 . . . 1 . . 1 . . . LR/W# . . 0 . . . 0 . . . 1 . . 0 . . . Cn# . . . . . . . . . . . . . . . . .M . . . . . . . . . . . . . . . . .S0 . . . . . . . . . . . . . . . . .S1 . . . . . . . . . . . . . . . . .S2 . . . . . . . . . . . . . . . . .S3 . . . . . . . . . . . . . . . . .表4-2微程序代码表(续)微指令ADD SUB AND STA LDA JC STP OUT当前微地址10 18 11 19 12 1A 13 1B 14 1C 15 1F 16 17 下一微地址18 0F 19 0F 1A 0F 1B 0F 1C 0F 0F 0F 0F 0FP0 . . . . . . . . . . . . . .P1 . . . . . . . . . . . . . .P2 . . . . . . . . . . 1 . . .备用. . . . . . . . . . . . . .TJ . . . . . . . . . . . . 1 1LDIR . . . . . . . . . . . . . .PC+1 . 1 . 1 . 1 . 1 . 1 1 . 1 1LDPC# . . . . . . . . . . . 1 . .AR+1 . . . . . . . . . . . . . .LDAR# . . . . . 1 . 1 . . . . .LDDR1 1 . 1 . 1 . 1 . . . . . . .LDDR2 1 . 1 . 1 . . . . . . . . .LDRi . 1 . 1 . 1 . . . 1 . . . .SW_BUS# . . . . . . . . . . . . . .RS_BUS# . . . . . . 1 . 1 . . 1 . 1ALU_BUS# . 1 . 1 . 1 . 1 . . . . . .RAM_BUS# . . . . . . . . . 1 . . . .CER# . . . . . . . . . . . . . .CEL# . . . . . . . 1 . 1 . . . .LR/W# . . . . . . 0 . 1 . . . .Cn# . . . 1 . . . . . . . . . .M . 0 . 0 . 1 . 0 . . . . . .S0 . 1 . 0 . 1 . 0 . . . . . .S1 . 0 . 1 . 1 . 0 . . . . . .S2 . 0 . 1 . 0 . 0 . . . . . .S3 . 1 . 0 . 1 . 0 . . . . . .注:后缀为#的信号都是低电平有效信号,为了在控存ROM中用“1”表示有效,这些信号在控制器中经过反相后送往数据通路。

《计算机组成原理》微程序设计实验报告

《计算机组成原理》微程序设计实验报告

《计算机组成原理》实验报告学院:计算机学院专业:交通工程班级学号:AP0804114学生姓名:黄佳佳实验日期:2010.12.14指导老师:李鹤喜成绩评定:五邑大学信息学院计算机组成原理实验室实验五微程序设计实验一、实验目的:深入掌握微程序控制器的工作原理,学会设计简单的微程序。

二、预习要求:1.复习微程序控制器工作原理;2.复习计算机微程序的有关知识。

三、实验设备:EL-JY-II型计算机组成原理实验系统一台,连接线若干。

四、微程序的设计:1.微指令格式设计微指令编码格式的主要原则是使微指令字短、能表示可并行操作的微命令多、微程序编写方便。

微指令的最基本成份是控制场,其次是下地址场。

控制场反映了可以同时执行的微操作,下地址场指明下一条要执行的微指令在控存的地址。

微指令的编码格式通常指控制场的编码格式,以下几种编码格式较普遍。

1)最短编码格式这是最简单的垂直编码格式,其特点是每条微指令只定义一个微操作命令。

采用此格式的微指令字短、容易编写、规整直观,但微程序长度长,访问控存取微指令次数增多从而使指令执行速度慢。

2)全水平编码格式这种格式又称直接编码法,其特点是控制场每一位直接表示一种微操作命令。

若控制场长n位,则至多可表示n个不同的微操作命令。

采用此格式的微指令字长,但可实现多个允许的微操作并行执行,微程序长度短,指令执行速度快。

3)分段编码格式是将控制场分成几段。

若某段长i位,则经译码,该段可表示2i个互斥的即不能同时有效的微操作命令。

采用这种格式的微指令长度较短,而可表示的微操作命令较多,但需译码器。

2.微程序顺序控制方式的设计微程序顺序控制方式指在一条指令对应的微程序执行过程中,下一条微指令地址的确定方法,又叫后继地址生成方式。

下面是常见的两种。

1)计数增量方式这种方式的特点是微程序控制部件中的微地址中的微地址产生线路主要是微地址计数器MPC。

MPC 的初值由微程序首址形成线路根据指令操作码编码形成。

课程设计报告(计算机组成原理)

课程设计报告(计算机组成原理)

课程设计(大作业)报告一、题目分析本次课程设计课题是设计基于微程序控制器的简单计算机设计与实现,宏观上利用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 页共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。

计算机组成原理实验报告3--微程序控制器实验

计算机组成原理实验报告3--微程序控制器实验

计算机组成原理实验报告3--微程序控制器实验计算机组成原理实验报告3--微程序控制器实验实验三微程序控制器实验⼀.实验⽬的与要求:实验⽬的: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。

计算机组成原理微程序控制单元实验报告

计算机组成原理微程序控制单元实验报告

姓名学号班级******************年级指导教师《计算机组成原理》实验报告实验名称微程序控制单元实验、指令部件模块实验、时序与启停实验实验室实验日期实验七微程序控制单元实验一、实验目的⒈ 掌握时序产生器的组成方式。

⒉ 熟悉微程序控制器的原理。

⒊ 掌握微程序编制及微指令格式。

二、实验原理图7-7-1图 7-7-4 微地址控制原理图微程序控制单元实验原理就是人为的给出一条微指令的地址,人为的去打开测试开关,观察机器怎么运行,打个比方就是我要你执行我下的某条命令,我先告诉你命令写在哪页纸上,你找到纸后,分析命令是什么之后再去执行。

观察机器微程序控制器的组成见图7-1-1 ,微地址的打入操作就是由操作者给出一条微指令的地址(同上面的例子就是仅仅告诉你我让你跑的这条命令写在哪页纸上,而没有告诉你命令的具体内容),不需要做测试去判断这是什么指令,所以由图7-7-1 ,其中微命令寄存器 32 位,用三片 8D 触发器 (273) 和一片 4D(175) 触发器组成。

它们的清零端由CLR来控制微控制器的清零。

它们的触发端CK接 T2,不做测试时 T2 发出时钟信号,将微程序的内容打入微控制寄存器(含下一条微指令地址)。

打入了微指令的地址(即告诉你命令在哪页纸上,此时你需要先找到这页纸并判断命令是叫你做什么,然后执行),进行测试,T4 发出时钟信号,转移逻辑满足条件后输出的负脉冲通过置位端将某一触发器输出端置为“1”状态,按图 7-7-4 所示,微地址锁存器的置位端R 受 SE5~SE0控制,当测试信号 SE5~SE0输出负脉冲时,通过锁存器置位端R将某一锁存器的输出端强行置“1”,实现微地址的修改与转移,此时的地址指的是指令的操作码的地址(即你已经知道命令是跑,此时做的是跑的行为)。

再由数据开关置入微地址的值,再做测试,再跳到指令的操作码的地址准备开始执行指令,这就是微程序控制单元实验的原理。

三、实验连线连接图或“图 7-2-27-2-2 中的 B1、 B7、 B10、 B15,用双头实验导线连接上图中所有标明“”图案的插孔(注:Dais-CMH 的时钟信号以作内部连接)。

计算机组成原理课程设计报告

计算机组成原理课程设计报告

计算机组成原理课程设计报告一、引言计算机组成原理是计算机科学与技术专业的重要课程之一,通过学习该课程,我们可以深入了解计算机的硬件组成和工作原理。

本次课程设计旨在通过设计一个简单的计算机系统,加深对计算机组成原理的理解,并实践所学知识。

二、设计目标本次课程设计的目标是设计一个基于冯·诺依曼体系结构的简单计算机系统,包括中央处理器(CPU)、存储器、输入输出设备等。

通过该设计,我们可以掌握计算机系统的基本组成和工作原理,加深对计算机组成原理的理解。

三、设计方案1. CPU设计1.1 硬件设计CPU由控制单元和算术逻辑单元组成。

控制单元负责指令的解码和执行,算术逻辑单元负责算术和逻辑运算。

1.2 指令设计设计一套简单的指令集,包括算术运算指令、逻辑运算指令、数据传输指令等。

1.3 寄存器设计设计一组通用寄存器,用于存储数据和地址。

2. 存储器设计2.1 主存储器设计一块主存储器,用于存储指令和数据。

2.2 辅助存储器设计一个简单的辅助存储器,用于存储大容量的数据。

3. 输入输出设备设计3.1 键盘输入设备设计一个键盘输入设备,用于接收用户的输入。

3.2 显示器输出设备设计一个显示器输出设备,用于显示计算结果。

四、实施步骤1. CPU实现1.1 根据CPU的硬件设计,搭建电路原型。

1.2 编写控制单元的逻辑电路代码。

1.3 编写算术逻辑单元的逻辑电路代码。

1.4 进行仿真验证,确保电路的正确性。

2. 存储器实现2.1 设计主存储器的存储单元。

2.2 设计辅助存储器的存储单元。

2.3 编写存储器的读写操作代码。

2.4 进行存储器的功能测试,确保读写操作的正确性。

3. 输入输出设备实现3.1 设计键盘输入设备的接口电路。

3.2 设计显示器输出设备的接口电路。

3.3 编写输入输出设备的读写操作代码。

3.4 进行输入输出设备的功能测试,确保读写操作的正确性。

五、实验结果与分析通过对CPU、存储器和输入输出设备的实现,我们成功设计了一个基于冯·诺依曼体系结构的简单计算机系统。

计算机组成原理实验报告微程序控制

计算机组成原理实验报告微程序控制

计算机硬件实验室实验报告课程名称:姓名徐骁学号33 班级0920542 成绩设备名称及软件环境计算机、Proteus仿真软件、模型机仿真软件实验名称微程序控制器实验日期一.实验内容使用模型机验证微指令与微操作的关系,验证微程序执行时序。

二.理论分析或算法分析微操作码:包含指令执行的一个步骤中所包含的全部微命令的编码,即一条微指令所需的全部控制信号的编码, 用来发出操作控制信号。

微地址码:用来产生下一条微指令的地址,指出下一条微指令代码在控制存储器中的存储位置。

(一)、微程序控制原理:控制存储器:存放实现计算机指令系统的所有微程序由ROM (EPROM )实现。

控制存储器的字长是微指令字的长度。

控制存储器的容量取决于指令的数量和每条指令的微程序长度,也取决于微指令代码的利用率。

微指令寄存器:微指令寄存器(CMIR )存放由控制存储器读出的一条微指令信息 微地址寄存器(CMAR ):存放将要访问的下一条微指令的微地址。

微地址形成部件:能测试执行中的状态信息,修改微地址寄存器的内容,以便按修改后的内容去读下一条指令。

OPIR 微地址形成部件CMAR译码驱动状态条件 微地址微操作码 控制存储器微操作信号CMCMIR(二)、工作原理1、取指阶段(1)将取指微程序首地址置于CMAR 中。

(2)读微指令。

(3)产生微操作命令。

(4)形成下一条微指令地址。

(5)取下一条微指令。

…………重复(1)~(4)过程,直到该机器指令送入IR 为止。

2、执行阶段(1)当指令存入IR 后,由指令的OP 部分送到微地址形成部件,形成该指令对应的微程序的首地址。

(2)读出微指令。

(3)产生微操作命令。

(4)形成下一条微指令地址。

…………重复(1)~(4)过程,直到该机器指令执行完为止。

时序RAM IRPCAR微程序控制器产生器256×8LDARLDPCLDIRRDWELDPC →BUSDR 2DR 1LDR 0I/OR 3R 2R 1R 0LDR 3LDR 2LDR 1LDDR 1LDDR 2ALUALU →BUS BUSS 2S 1M -1S 3S 0模型机数据通路框图三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)(a) 五条指令的微程序流程图ADD1110 01 IN 13 12100201STAOUT SW →R0 P(1)PC →ARPC+1RAM →BUS BUS →IR 04 03PC →AR PC+1RAM →BUS BUS →AR15 07 PC →AR PC+1RAM →BUS BUS →AR 16 PC →AR PC+1RAM →BUS BUS →AR26 PC →AR PC+1RAM →BUS BUS →PCJMP14 0605 R0→DR1RAM →BUS BUS-DR0(DR1)+(DR2)→R001 R0→BUS BUS →RAM0117RAM →BUS BUS →DR101DR1→LED25 01运行微程序八进制地址 KWE 23 20 2000KRD RPP(1) 15 07 PC →AR PC+1RAM →BUS BUS →DR116PC →AR PC+1DR1→LED控制台213024PC →AR PC+1(SW)→BUS BUS →DR1DR1→RAM(b) 控制台微程序流程图八进制地址01四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)微地址S3 S2 S1 S0 M Cn WEA9 A8 A B C μA5--μA000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 001 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 002 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 003 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 004 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 105 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 006 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 107 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 110 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 111 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 112 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 1 1 113 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 014 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 015 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 116 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 117 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 120 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 021 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 0 022 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 123 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 124 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 025 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 126 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 127 0 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 030 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1微程序代码表五.结论按照实验要求进行数据操作,实现实验结果,为了便于控制程序的运行,时序电路发生器设置了一个启停控制触发器Cr,使TS1-TS4信号输出可控。

计算机组成原理微程序系统实验总结

计算机组成原理微程序系统实验总结

计算机组成原理微程序系统实验总结计算机组成原理是计算机科学与技术专业的基础课程之一,它主要研究计算机硬件系统的组成和工作原理。

在这门课程中,我们学习了计算机的基本组成部分,包括中央处理器(CPU)、存储器、输入输出设备等,并了解了它们之间的工作原理和相互关系。

在计算机组成原理课程的实验环节中,我们进行了微程序系统的实验。

微程序系统是一种将指令集的控制逻辑以微指令的形式存储在存储器中的控制方式。

通过实验,我们进一步加深了对计算机硬件组成和工作原理的理解,并掌握了微程序系统的设计和实现方法。

在实验过程中,我们首先需要了解微程序系统的基本原理和设计思想。

微程序系统通过将指令的控制逻辑以微指令的形式存储在存储器中,然后通过控制器按照微指令的顺序来执行指令。

这种方式可以使得计算机的指令集更加灵活,并且可以方便地进行指令的扩展和修改。

在实验中,我们使用了VHDL语言来描述微程序系统的控制逻辑。

VHDL是一种硬件描述语言,可以用于描述数字电路的结构和行为。

通过使用VHDL语言,我们可以将微程序系统的控制逻辑以硬件的形式描述出来,并通过仿真软件来验证其正确性。

在实验中,我们首先进行了微程序系统的设计。

我们根据指令集的要求,设计了适当的微指令,并将其存储在存储器中。

然后,我们设计了控制器的逻辑电路,用于按照微指令的顺序来执行指令。

最后,我们使用仿真软件对设计的微程序系统进行了验证,确保其能够正确地执行指令。

通过实验,我们不仅加深了对计算机组成原理的理解,还掌握了微程序系统的设计和实现方法。

我们学会了使用VHDL语言来描述微程序系统的控制逻辑,并通过仿真软件来验证其正确性。

通过这些实验,我们对计算机硬件的工作原理有了更加深入的了解,并且提高了我们的实践能力和问题解决能力。

计算机组成原理微程序系统实验是计算机科学与技术专业中重要的实践环节。

通过这个实验,我们加深了对计算机硬件组成和工作原理的理解,掌握了微程序系统的设计和实现方法,并提高了实践能力和问题解决能力。

计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告

计算机组成原理 课程设计 微程序的分析与设计 宿迁学院 实验报告

《计算机组成原理课程设计》简单模型机的微程序设计学生姓名:学号: *********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)测试的话,那么次地址即为该微指令地址字段所指向的微地址。

计算机组成原理 实验3 微程序控制单元

计算机组成原理 实验3 微程序控制单元
3.微程序流程与代码
下图为几条机器指令对应的参考微程序流程图。
运行微程序
实验内容
1.微程序的编写
2.微地址的打入操作
实验环境
DICE-CH2000增强型计算机组成原理实验仪一台+排线若干
实验
步骤
1.微程序的编写
在微地址00H、40H、80H、C0H单元地址分别输入55H,在微地址01H、41H、81H、C1H单元地址分别输入数据AA H。以下以向00H单元输入数据55H、向01H输入数据AA H为例,其它操作类似。
经上述操作,第一位显示8表示为“8”微地址寄存器,20表示此时打入的微地址为20,Rg表示为寄存器状态。
该操作表示将微地址打入微地址寄存器,若原来的微地址寄存器中有内容,此时再向其打入微地址,则后打入的微地址将覆盖原内容。
实验结果
在微地址00H、40H、80H、C0H单元地址分别输入55H,在微地址01H、41H、81H、C1H单元地址分别输入数据AA H。
RST
00②40④80⑥CO
UME UME UMEUME
①↓55③↓55⑤↓55⑦↓55
增址增址增址增址
OAA OAA OAA OAA
MON MON MON MON
经上述操,作即可完成实验内容的要求。
其中,UME为控存,按下它,表示进入微程序读写状态,此时打入“55”表示将内容写入某单元。(该单元为按UME键之前所按的地址:如为“00”则将“55”写入“00”单元。)
计算机组成原理实验报告
学院:计算机科学与信息专业:信息安全班级:
姓名
学号
实验组
实验时间
指导教师
成绩
实验项目名称
三、微程序控制单元实验

计算机组成原理课程设计报告006

计算机组成原理课程设计报告006

计算机组成原理课程设计报告专业名称: 专业名称: 计算机科学与技术 班级学号: 班级学号: 0801 学生姓名: 学生姓名: 指导教师: 指导教师: 设计时间: 设计时间: 2010 年 7 月 7 日—— 2010 年 7 月 日第一天 熟悉微程序的设计和调试方法一、设计目标1、掌握微程序的设计方法 2、熟悉利用调试软件 UniDebugger 运行、调试微程序的方法二、微程序设计方法写微程序包括 3 个方面,即取指令微程序,取操作数微程序和指令执行微程 序。

微程序设计的一般方法: (1)根据数据通路画出取指令微流程、取操作数微流程;根据每条指令的 功能画出指令的执行微流程。

(2) 按微指令格式及微命令的编码, 根据微流程的每一步填写微指令 F0-F7 字段的内容。

(3)根据微流程的每一步之间是否有转移以及何种转移,参照表 1-4,填 写微指令 F8 字段和 F9 字段。

以 MOV #1234H,R1 为例: 1)取指令微程序微地址 (H) 001 002 003 微指令字段(H) F0 20080006 00069003 CC000404 1 0 6 F1 0 0 3 F2 0 0 0 F3 0 0 0 F4 2 1 0 F5 0 2 0 F6 0 1 0 F7 0 1 0 F8 0 0 2 F9 002 003 004 PCoe,ARce ARoe’, RD,DRce’, PCinc DRoe,IRce微指令(H)微命令2)取源操作数为立即数的微程序微地址 (H) 004 00B 00F 016 微指令字段(H) F0 00000A08 0008000F 00069C10 D0000006 0 1 0 6 F1 0 0 0 4 F2 0 0 0 0 F3 0 0 0 0 F4 0 2 1 0 F5 0 0 2 0 F6 0 0 1 0 F7 0 0 1 0 F8 5 0 6 0 F9 008 00F 010 006 NOP PCoe,ARce ARoe’, RD, DRce’, PCinc DRoe,TRce微指令(H)微命令3)取目的操作数为寄存器寻址的微程序微地址 (H) 006 018 微指令字段(H) F0 20080006 00069003 0 2 F1 0 5 F2 0 0 F3 0 0 F4 0 5 F5 0 0 F6 0 0 F7 0 0 F8 5 0 F9 018 007 NOP GRSoe,Ace微指令(H)微命令4)MOV 指令的微程序微地址 (H) 007 044 046 微指令(H) F0 00000800 00000E46 88000000 0 0 4 F1 0 0 4 F2 0 0 0 0 0 0 微指令字段(H) F3 F4 0 0 0 F5 0 0 0 F6 0 0 0 F7 0 0 0 F8 4 7 0 F9 xxx 046 000 PCoe,ARce ARoe’, RD,DRce’, PCinc DRoe,IRce 微命令三、微程序调试的方法1.准备工作 将试验仪的通信电缆和下载电缆分别连接电脑的 RS-232 串行接口和打印机接 口。

微程序控制器组与微程序设计实验报告

微程序控制器组与微程序设计实验报告

数学学院实验报告课程名称:计算机组成原理 实验项目名称:微程序控制器组成与微程序设计实验一、实 验 目 的(1) 掌握微程序控制器的组成原理。

(2) 掌握微程序的编制、写入,观察微程序的运行过程。

二、实验设备与器件PC 机一台,TD-CMA 实验系统一套。

三、实 验 原 理微程序控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能转换成可以控制的硬件逻辑 部件工作的微命令序列,完成数据传送和各种处理操作。

它的执行方法就是将控制各部件动作的微命令的集合进行编码,即将微命令的集合仿照机器指令一样,用数 字代码的形式表示,这种表示称为微指令。

这样就可以用一个微指令序列表示一条机器指令,这种微指令序列称为微程序。

微程序存储在一种专用的存储器中,称为 控制存储器,微程序控制器原理框图如图3-2-1所示。

图3-2-1 微程序控制器组成原理框图控制器是严格按照系统时序来工作的,因而时序控制对于控制器的设计是非常重要的,从前面的实验可以很清楚地了解时序电路的工作原理,本实验所用的时序由时序单元来提供,分为四拍TS1、TS2、TS3、TS4,时序单元的介绍见附录2。

微程序控制器的组成见图3-2-2,其中控制存储器采用3片2816的E 2PROM ,具有掉电保护功能,微命令寄存器18位,用两片8D 触发器(273)和一片4D (175)触发器 组成。

微地址寄存器6位,用三片正沿触发的双D 触发器(74)组成,它们带有清“0”端和预置端。

在不判别测试的情况下,T2时刻打入微地址寄存器的内容 即为下一条微指令地址。

当T4时刻进行测试判别时,转移逻辑满足条件后输出的负脉冲通过强置端将某一触发器置为“1”状态,完成地址修改。

S E 1S E 2S E 3S E 4S E 5S E 0图3-2-2 微程序控制器原理图在实验平台中设有一组编程控制开关KK3、KK4、KK5(位于时序与操作台单元),可实现对存储 器(包括存储器和控制存储器)的三种操作:编程、校验、运行。

计算机组成原理课程设计微程序设计

计算机组成原理课程设计微程序设计

计算机组成原理课程设计微程序设计文件编码(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的整体设计。

计算机组成原理微程序控制器实验报告

计算机组成原理微程序控制器实验报告

计算机组成原理实验报告三:微程序控制器实验2011-05-06 01:00:09|分类:实验报告| 标签:实验微程序字段微指令信号|字号大中小订阅实验三:微程序控制器实验一、实验目的与要求:实验目的:1、掌握时序产生器的原理和具体操作。

2、掌握微程序控制器的功能、组成知识。

3、掌握微程序的编制、写入、观察微程序的运行,学习基本指令的执行流程。

要求:做好实验预习,掌握进位控制运算器的原理。

实验之前,应认真准备,写出实验步骤和具体分析内容,否则实验效率会特别低,一次实验时间根本无法完成实验任务,即使基本做对了,也很难说学懂了些什么重要教学内容。

二、实验方案:【1】、连接好实验线路,检查无误后接通电源。

【2】、编程:(1)将编程开关(MJ20)置为PROM(编程)状态;(2)将STATE UNIT中的STEP置为"STEP"状态,STOP置为"RUN"状态;(3)在UA5-UA0开关上置要写的某个微地址(八进制);(4)在MK24-MK1开关上置要写的微地址相应的24位微代码,24位开关对应24位显示灯,开关量为"1"灯亮,为"0"灯灭;(5)启动时序电路(按动启动按钮START),即将微代码写入到E2PROM2816的相应地址对应的单元中;(6)重复(3)~(5)步骤将每一条微指令写入E2PROM2816。

【3】、校验:(1)将编程开关置为READ状态;(2)将STEP开关置为"STEP"状态,STOP开关置为"RUN"状态;(3)在开关UA5~UA0上置好要读的某个微地址;(4)按动START键,启动时序电路,观察显示灯MD24-MD1的状态,检查读出的微代码是否已写入的相同。

如果不同在将开关置于PROM编程状态,重新执行编程步骤;(5)重复(3)、(4)步骤将每一条微指令从E2PROM2816中读出。

计算机组成原理实验报告4-微程序计数器uPC实验

计算机组成原理实验报告4-微程序计数器uPC实验

千里之行,始于足下。

计算机组成原理实验报告4-微程序计数器uPC实验计算机组成原理实验报告4-微程序计数器uPC实验一、实验目的本次实验的目的是通过设计和实现微程序计数器uPC,加深对计算机组成原理中微程序控制的理解和掌握。

二、实验原理微程序控制是一种使用微操作指令来实现指令解码和控制的方法。

其基本原理是将指令的每个微操作独立编码,并存放在存储器中,再通过微程序计数器uPC逐步读取并执行这些微操作指令,从而实现对硬件的控制。

本次实验中,我们设计的微程序计数器uPC采用基于有限状态机的方式。

其工作流程如下:1. 在上升沿时,根据当前状态和输入,更新下一个状态。

2. 在状态更新完成后,判断是否需要进行微指令计数器的更新,如果需要,则计数器自增。

3. 根据计数器的值,从微指令存储器中读取相应的微指令。

4. 执行微指令。

三、实验步骤本次实验的主要步骤如下:第1页/共3页锲而不舍,金石可镂。

1. 设计微指令的编码对应的控制信号,并将其存储在微指令存储器中。

2. 设计并实现基于有限状态机的微程序计数器uPC。

3. 将uPC与微指令存储器、数据通路、输入设备等连接起来,以实现对硬件的控制。

四、实验结果在实验过程中,我们完成了微指令的编码,并将其存储在微指令存储器中,设计并实现了基于有限状态机的微程序计数器uPC,并将uPC与其他模块连接起来。

经过测试,我们发现uPC能够正确地执行微指令,并能够对硬件进行正确的控制。

五、实验总结通过本次实验,我们深入了解了微程序控制的原理和工作方式,加深了对计算机组成原理中微程序控制的理解和掌握。

在实验过程中,我们通过设计和实现微程序计数器uPC,对于掌握微程序控制有了更深入的认识,并且锻炼了自己的设计和调试能力。

虽然在实验过程中遇到了一些困难和问题,但通过思考和团队合作,我们最终成功地完成了实验并取得了满意的结果。

通过本次实验,我们不仅提高了对计算机组成原理的理论理解,也增强了自己的动手实践能力。

计算机组成原理微程序系统实验总结

计算机组成原理微程序系统实验总结

计算机组成原理微程序系统实验总结本次实验是针对计算机组成原理中微程序系统的设计与实现,通过实际编程实现了微程序的编写、调试和烧录。

在这个实验中,我们深入了解了微程序系统的实现原理,也掌握了设计和实现微程序的方法。

实验中,我们首先学习了微指令的不同格式和功能码的含义,接着,我们利用Logisim软件设计了微程序控制器的逻辑电路,编写了微程序,并进行了测试,实现了各种指令的操作。

在此过程中,我们深入了解了微程序的实现原理,并学会了如何利用微指令控制各种操作,从而实现了计算机程序的运行。

本次实验的收获可以总结为以下几点:1.深入理解微程序控制原理。

在实验中,我们学习了微程序控制的原理和实现方法,这是计算机组成中的一个重要的概念和技术,它能使计算机能够运行各种指令,实现计算和控制等操作。

通过实验,我们更加深入了解了这一技术的实现原理和使用方法。

2.掌握了Logisim软件的使用方法。

在实验中,我们使用了Logisim软件来设计和模拟微程序控制器的逻辑电路。

通过这个实验,我们学会了如何使用这个软件来设计和模拟各类电子电路,这对于电子电路的设计和实现都非常有帮助。

3.实践了微程序设计。

在实验中,我们实践了微程序的设计与实现,掌握了微指令的不同格式和功能码的含义。

通过这个实验,我们学会了如何通过微指令来控制各种操作,实现计算机程序的运行。

4.增强了团队协作能力。

在实验中,我们形成了一个小组,共同完成了这个项目。

通过这个实验,我们学会了如何与他人合作,如何利用互相的优势,以及如何在团队中进行有效的沟通和协调。

这对于我们的职业生涯和学术研究都非常有帮助。

总之,本次实验是一个非常有意义的实践活动。

通过这个实验,我们学会了深入理解微程序控制原理,掌握了Logisim软件的使用方法,实践了微程序设计,增强了团队协作能力。

这些经验和技能对我们的未来职业生涯和学习研究都具有重要的意义。

组成原理微程序设计报告

组成原理微程序设计报告

计算机组成原理课程设计报告题目:微程序设计专业:计算机科学与技术班级:()班组员:学号:指导老师:目录一、摘要二、微程序控制器原理三、总体设计(系统构成)四、详细设计五、测试六、设计中出现的问题和解决方法七、结论八、参考文献九、个人总结课程设计指导教师评定成绩表姓名学号:项目分值优秀(100>x≥90)良好(90>x≥80)中等(80>x≥70)及格(70>x≥60)不及格(x<60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题创新10 有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸)撰写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:课程设计指导教师评定成绩表姓名学号:项目分值优秀(100>x≥90)良好(90>x≥80)中等(80>x≥70)及格(70>x≥60)不及格(x<60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题创新10 有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸)撰写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:一、摘要利用CPU与简单模型机设计实验中所学到的实验原理以及编程思想,硬件设备,自拟编写指令的应用程序,用微程序控制器实现了一系列的指令功能。

计算机组成原理 微程序设计

计算机组成原理  微程序设计

计算机组成原理课程设计实验报告学生姓名:专业:学号:班级:指导教师:2012年6月28日一、实验时间: 2012/6/25-2012/6/28二、实验地点: 信工楼309三、实验题目:1、编写程序将11H、12H、……、1FH等数存入从11H开始到1FH 的连续存储空间,然后将这些数按相反的顺序存储到从21H开始到2FH的连续存储空间中。

2、采用模型机指令系统编写程序完成1到5的阶乘之和,将结果存放在指定的寄存器中。

3、给R0、R1、R2、R3各赋一初值,然后对它们进行一系列算术/逻辑运算,观察各寄存器的变化情况。

4、给R0、R1、R2、R3各赋一初值,然后对它们同立即数进行一系列算术/逻辑运算,观察各寄存器的变化情况。

5、给R0、R1、R2、R3各赋一初值,然后对它们进行一系列移位循环操作,观察各寄存器的变化情况。

四、实验目的:1、通过实验例程,熟悉软件的操作。

2、熟悉模型机的指令系统,理解并掌握各条指令的功能和用途。

3、利用该指令系统,自行编写小程序,调试并运行。

五、实验装置组成:(一)硬件部分实验装置是为计算机组成原理的工作流程专门设计的。

它能够让学生通过手动和自动的操作弄清和掌握计算机工作的基本原理。

实验模块由手动实验部分和程序实验部分组成。

手动实验主要完成计算机各个组成部分的原理实验,包括数据流程、运算器执行、存储器和外设之间的数据交换等部分,通过组合变化各个输入信号,进一步理解计算机各个部件的执行过程和工作原理,手动实验在本指导书的前面部分已经作了详细介绍。

程序实验主要完成指令系统中每条指令的具体执行,包括取指、译码、执行过程中对应微指令的工作流程,并且还能观察各类指令执行的结果。

操作过程在计算机上进行,可实现单拍、单步和连续执行,每个执行过程可以在计算机上显示,其执行结果和过程也可同步在实验板上显示,进一步观察对应指令在执行过程中的每个控制信号和数据流向。

(二)软件部分软件系统由编辑程序、编译程序、程序执行、调式程序几个部分组成,完成由源程序输入、语法分析排错、指令汇编、应用程序调试的全过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
WEN:将数据总线DBUS的值打入工作寄存器W中。

AEN:将数据总线DBUS的值打入累加器A中。

S2:S1:S0: S2、S1、S0三位组合决定ALU做何种运算。

模型机的寻址方式分五种:
累加器寻址:操作数为累加器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。

立即数寻址:参与运算的数据为指令的操作数。

例如“SUB
A,#10H”是从累加器A中减去立即数10H,
结果存入累加器A。

2)程序清单
MOV A,#01H 立即数寻址,传送指令,将01h传送给累加器a
LOOP:
MOV R0,#01H 立即数寻址,将01h传送给r0
ADD A,R0 寄存器寻址,加法操作,将r0的值与a相加,结果存入a中SUB A,@R0 寄存器间接寻址,减法将R0的值当作是内存地址,再将此地址的值与A相减,最后放入A。

ADD A,01H 存储器直接寻址,寻找出01地址中的值,
用A和此地址的值相加,最后放入A
CPL A 累加器寻址,将a的值取反
OUT
JMP LOOP //无条件跳转,跳转到LOOP
3)指令流程图
MOV A,#01H
MOV R0,#01H
ADD A,R0
SUB A,@R0
ADD,02H
CPLAOUT
JMP LOOP
五、调试过程
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周期不能灵活掌握,希望在以后的学习中可以对其进行更加深入的理解。

相关文档
最新文档