文档库 最新最全的文档下载
当前位置:文档库 › 计算机组成原理课程设计41846教学文稿

计算机组成原理课程设计41846教学文稿

计算机组成原理课程设计41846教学文稿
计算机组成原理课程设计41846教学文稿

计算机组成原理课程设计41846

山东英才学院

课程设计(论

文)

设计题目:微程序控制运算器的设计

课程名称:计算机组成原理

院 (系) 部:信息工程学院

学生姓名:邵帅

班级: 11科计技本科班

专业:计算机科学与技术

成绩:

指导教师:王若成

设计时间: 2013年12月

山东英才学院教务处制

二O一三年十二月

微程序控制的运算器的设计

摘要

本设计详细介绍了在可编程ispLSI1032E系统下,采用层次化设计方法,通过把八位全加器、八位计数器、八位寄存器作为底层电路,以设计八位计算机运算器的设计原理和设计过程,其中ALU为8位的加法器,具有加法和加1功能,两操作数由八位寄存器R0、R1提供,其结果放入R2中,具体何种操作可由微命令任意设定。

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.

目录

一、设计任务与要求 0

1、运算器的结构 0

2、微程序控制器 0

3、微指令格式 (1)

4、编写微指令 (1)

5、调试步骤 (1)

二、设计方案与论证 (2)

1、确定总体结构 (2)

2、寄存器设置 (2)

3、微程序计数器的设置 (2)

4、加法器设置 (2)

三、逻辑设计 (3)

1、微程序计数器的设计 (3)

2、八位寄存器的设计 (5)

3、加法器的设计 (6)

四、设计过程与步骤 (7)

1、创建新项目 (7)

2、选择虚拟器件 (8)

3、设计原理图输入 (8)

4、源文件编译 (9)

5、设计项目适配 (9)

6、编程下载 (10)

7、在实验箱上进行逻辑验证 (11)

五、所遇到的问题及解决办法 (11)

六、结论与心得 (11)

七、参考文献 (13)

八、教师评语 (14)

九、附录 (15)

附录一:微程序控制的运算器设计原理图 (15)

附录二:本课程设计软硬件平台介绍 (18)

一、设计任务与要求

设某计算机运算器,其中ALU

为8位的加法器,具有加法和加1功能,两操作数由八位寄存器R0、R1提供,其结果放入R2中,具体何种操作可由微命令任意设定。

1、运算器的结构

运算器的结构,如图1所示。

2、微程序控制器

微程序控制器的结构图,如图2所示。

当模式开关置于统调时,控制存储器ROM2#、ROM1#、IR15-8、IR7-0、L15-8、L7-0、CPIR、A0~A7均连入1032E系统中。其中,自行设计的微程序计数PC

图1.运算器的结构图

图2.微程序控制器框图

向控制存储器提供8位微地址,在控存读信号的作用下,读出一条长16位的微指令代码,并在打入命令CPIR的作用下,送入IR15-8、IR7-0。L15-8、L7-0用于显示微指令寄存器IR15-8、IR7-0的内容。

每当按一次脉冲键便产生一个负脉冲,该脉冲的作用是:

1.作为读控存的命令。

2.负脉冲当作CPIR将读出的微指令打入微指令寄存器IR。

3.负脉冲的上升沿使PC+1形成下一条微指令的地址。

4.负脉冲反相后的上升沿作为寄存器打入脉冲。

3、微指令格式

微指令格式,如图3所示。

图3.微指令格式

字段分配:

μIR15-μIR8:定义为8位操作数;

μIR7:为1,C0=1;为0 C0=0;

μIR6:为1,产生CPR0;

μIR5:为1,产生CPR1;

μIR4:为1,产生CPR2;

4、编写微指令

实验要求:用二进制代码写出下面3 条指令的微程序:例如55+AA→R2执行过程55→R0 AA→R1 R0+R1→R2结束。

0101 0101 0100 0000

1010 1010 0010 0000

0000 0000 0001 0000

5、调试步骤

首先,将模式开关置于统调,涉及运算器和uPC逻辑线路并下载至1032E中;再将模式开关置于分调,键入微指令十六进制代码至空存ROM2#、ROM1#中,微指令

从0号单元开始存放。然后,将模式开关置于统调,按一次RET2键将uPC置零,每按一次脉冲键读出一条微指令。当微程序执行完时检查并记录结果。

二、设计方案与论证

1、确定总体结构

程序设计的总体结构,如图4所示。

图4.系统的总体结构

2、寄存器设置

R0、R1、R2为8位的通用寄存器;R0、R1 R2为不带复位的寄存器。

系统中R0、R1为通用寄存器,可存放源操作数、R2为通用寄存器,可存放中间结果或最终结果;每个寄存器均由8个D触发器构成。

3、微程序计数器的设置

uPC采用的是8位二进制异步加法计数器,微程序计数器的值通过加1实现的。复位信号有效时,计数器uPC清零。

4、加法器设置

采用8位带串行进位的并行加法器。 为实现加、减法运算,系统用于计算的操作数一律采用补码表示。加法器由8个一位全加器构成,一位全加器之间采用串行进位。

微程序设计技术,是利用软件设计方法来设计硬件的一门技术。基本思想是仿照通常的编制程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里,当机器运行时,又一条一条读出这些微指令,并由此产生全机所需的各种微操作控制信号,使相应部件执行所规定的操作。

该课程设计采用微程序设计方法,通过确定总体结构、逻辑设计、确定控制方式、测试用例等几个步骤,完成简单运算器及其外围设备的电路设计,实现55→R 0 AA →R 1 R 0+R 1→R 2等指令的简单功能,该方案是可行的。

三、逻辑设计

1、微程序计数器的设计

在数字电路中,把记忆输入CP 脉冲个数的操作叫做计数,能实现技术操作的电子电路称为计数器。

主要特点:

1.一般的说,计数器除了输入计数脉冲cp 信号之外,很少有另外的输入信

号,其输出通常也都实现态的函数,而输入计数脉冲CP 是当作触发器的时钟信号对待的。

2.从电路组成看,其主要组成单元是时钟触发器。

计数就是计CP 脉冲的个数,每来一个CP 脉冲,计数器就加一个1,随着输入计数脉冲个数的增加,计数器中的数值也增大,当计数器计满时再来CP 脉冲,计数器归零的同时给高位进位。根据二进制递增计数规律。

以三位二进制加法计数器为例,如其状态图如图5所示.

a)选择触发器

D 触发器,凡是具有置0 置1功能的电路,都叫D 触发器 特性方程: Q n+1=D

CP 上升沿时刻有效

100 110 /1 /1 /1 101111 /1 /1 000

001010011 /1 /1 210 图5. 三位二进制加法计数器状态图

b)求时钟方程

由于要求构成的是异步计数器,显然各个触发器的时钟信号都应使用输入计数脉冲CP.

c)求输出方程C=Q2n Q1n Q0n

d)求状态方程

Q

Q n

n

1

=

+

CP↑

Q

Q n

n

1

1

1

=

+

Q n

Q

Q n

n

2

1

2

=

+

Q n

1

根据状态图的规定,可画出异步三位二进制计数器的原理图,如图6所示。

同理,八位二进制计数器原理图如图7所示:

图6.异步三位二进制计数器的原理图

八位二进制计数器电子元器件生成,如图8所示:

2、八位寄存器的设计

寄存器:具有寄存功能的电路。寄存器是一种基本的时序电路,在各种数字系统中几乎无所不在,因为任何数字系统,都必须把需要处理的数据,代码寄存器来,以便随时取用。

特点:

(1)具有存储功能的触发器组合构成。

(2)任务是暂时存储二进制数据或代码,部队存储内容进行处理,逻辑功能比较单一。

本实验要求设计一个8位的寄存器,其中d 7—d 0、q 7—q 0分别为寄存器的输入和

输出,cp 为寄存器的时钟脉冲。图电路为8位寄存器的线路原理图,如图9所示。

图7. 八位二进制计数器原理图 图8. 八位二进制计数器电子元器件

图9. 八位寄存器的线路原理图

八位寄存器电子元器件生成,如图10所示:

图10. 八位寄存器电子元器件

3、加法器的设计

在项目管理器窗口中,打开菜单中的Source项,选择new命令,在弹出对话框中选择Schematic,并按OK随即弹出一个对话框,要求输入原理图名称,只要在文件名栏输入如:Add8.sch并按保存按钮即进入原理图编辑窗口。将如下八位全加器原理图输入即可。加法器的原理图,如图11所示。

当将八位全加器原理图编辑完成并确认没有错误之后,在原理图编辑窗口中,打开File菜单,点击其中的Matching Symbol菜单项,此时,便生成了新的Add8元器件,出现在Local库中。如图12所示:

四、设计过程与步骤

1、创建新项目

(1)启动ispEXPERT SYSTEM;在Windows98下,选Lattice Semiconductor 项的ispEXPERT SYSTEM,单击后进入ispEXPERT SYSTEM Project Navigator 窗口。

(2)建立新项目,建立新项目的方法是:选择项目管理其窗口中上排的菜单选项用鼠标单击File菜单下的New Project···,弹出Create New Project对话框,首先从最上部的小窗口选择驱动器(假设使用D盘),然后用鼠标左键单击建“新文件夹”按钮,在对话框的提示栏中键入USER,并选择OK,这样就在D盘的根目录下建立了一个“USER”文件夹.

(3)在“文件名”窗口键入项目名“wcxkzysq.syn”以取代原来默认的New.syn,按“打开”确认,新项目建立完毕并自动进入项目管理器。

图11. 全加器原理

图12. 全加器Add8电子元器件

2、选择虚拟器件

进入项目管理器之后,在其左边窗口可以看到虚拟器件:Virtual Device。现在需要选择使用的具体目标器件,双击Virtual Device,弹出Choose Device对话框。我们的实验平台所用的器件为ispLSI1032E,则可在Device family窗口中选择ispLSI1000(1000系列),再在Device窗口中按动Device器件目录中滚动条找到ispLSI1032E-70LJ84并选择OK即可。如图13所示:

3、设计原理图输入

在ispEXPERT中如何使用原理图输入的方法进行设计,主要步骤如下:

(1)原理图命名

在项目管理器窗口下,选择总菜单Source项下的New选项,此时将出现New Source对话框。选择其中的Schematic(原理图),并单击ok确认。接着在随后弹出的对话框的“文件名(N)”项下键入原图名wcxkzysq.sch以取代原来的*.sch,并选择保存,即进入原理图编辑窗口。

(2)在原理图编辑器的图纸上添加器件,如附录一。

选择器件的方法:在块接工具条中,点击符号打开器件库(或选择Add菜单下的Symbol),器件库的上部窗口Library表示器件的类别,下部窗口Symbol表示该类别所对应的器件。本设计中先从Library中找到Add8,count8,Register8等电子元器件。

(3)添加连线;

在快捷工具条中点击画线按钮(或选择Add菜单中的Wire项),进入画线状态,单击左键定义连线的始端,将光标移至县的另一端,单击左键便可定义这根

图12. 选择器件窗口

相关文档