计算机组成原理课程设计.docx
- 文档编号:17393783
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:22
- 大小:223.44KB
计算机组成原理课程设计.docx
《计算机组成原理课程设计.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计.docx(22页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计
山东英才学院
课程设计(论文)
设计题目:
微程序控制运算器的设计
课程名称:
计算机组成原理
院(系)部:
信息工程学院
学生姓名:
邵帅
班级:
11科计技本科班
专业:
计算机科学与技术
成绩:
指导教师:
王若成
设计时间:
2013年12月
山东英才学院教务处制
二O一三年十二月
微程序控制的运算器的设计
摘要
本设计详细介绍了在可编程ispLSI1032E系统下,采用层次化设计方法,通过把八位全加器、八位计数器、八位寄存器作为底层电路,以设计八位计算机运算器的设计原理和设计过程,其中ALU为8位的加法器,具有加法和加1功能,两操作数由八位寄存器R0、R1提供,其结果放入R2中,具体何种操作可由微命令任意设定。
Abstract
ThedetaileddesignoftheprogrammableispLSI1032Esystem,theuseofhierarchicaldesignmethod,theeightbitfulladder,eightbitcounter,eightbitregistersastheunderlyingcircuit,thedesignofeightbitcomputingthedesignprincipleandthedesignprocess,whereALUisa8bitadder,additiveandplus1function,thetwooperandisprovidedbytheeightbitregistersR0,R1,andtheresultsinR2,whichcanbesetarbitrarilybymicrooperationcommand.
一、设计任务与要求
设某计算机运算器,其中ALU为8位的加法器,具有加法和加1功能,两操作数由八位寄存器R0、R1提供,其结果放入R2中,具体何种操作可由微命令任意设定。
1、运算器的结构
运算器的结构,如图1所示。
图1.运算器的结构图
2、微程序控制器
微程序控制器的结构图,如图2所示。
图2.微程序控制器框图
当模式开关置于统调时,控制存储器ROM2#、ROM1#、IR15-8、IR7-0、L15-8、L7-0、CPIR、A0~A7均连入1032E系统中。
其中,自行设计的微程序计数PC向控制存储器提供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;为0C0=0;
IR6:
为1,产生CPR0;
IR5:
为1,产生CPR1;
IR4:
为1,产生CPR2;
4、编写微指令
实验要求:
用二进制代码写出下面3条指令的微程序:
例如55+AAR2执行过程55R0AAR1R0+R1R2结束。
0101010101000000
1010101000100000
0000000000010000
5、调试步骤
首先,将模式开关置于统调,涉及运算器和uPC逻辑线路并下载至1032E中;再将模式开关置于分调,键入微指令十六进制代码至空存ROM2#、ROM1#中,微指令从0号单元开始存放。
然后,将模式开关置于统调,按一次RET2键将uPC置零,每按一次脉冲键读出一条微指令。
当微程序执行完时检查并记录结果。
二、设计方案与论证
1、确定总体结构
程序设计的总体结构,如图4所示。
图4.系统的总体结构
2、寄存器设置
R0、R1、R2为8位的通用寄存器;R0、R1R2为不带复位的寄存器。
系统中R0、R1为通用寄存器,可存放源操作数、R2为通用寄存器,可存放中间结果或最终结果;每个寄存器均由8个D触发器构成。
3、微程序计数器的设置
uPC采用的是8位二进制异步加法计数器,微程序计数器的值通过加1实现的。
复位信号有效时,计数器uPC清零。
4、加法器设置
采用8位带串行进位的并行加法器。
为实现加、减法运算,系统用于计算的操作数一律采用补码表示。
加法器由8个一位全加器构成,一位全加器之间采用串行进位。
微程序设计技术,是利用软件设计方法来设计硬件的一门技术。
基本思想是仿照通常的编制程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里,当机器运行时,又一条一条读出这些微指令,并由此产生全机所需的各种微操作控制信号,使相应部件执行所规定的操作。
该课程设计采用微程序设计方法,通过确定总体结构、逻辑设计、确定控制方式、测试用例等几个步骤,完成简单运算器及其外围设备的电路设计,实现55R0AAR1R0+R1R2等指令的简单功能,该方案是可行的。
三、逻辑设计
1、微程序计数器的设计
在数字电路中,把记忆输入CP脉冲个数的操作叫做计数,能实现技术操作的电子电路称为计数器。
主要特点:
1.一般的说,计数器除了输入计数脉冲cp信号之外,很少有另外的输入信号,其输出通常也都实现态的函数,而输入计数脉冲CP是当作触发器的时钟信号对待的。
2.从电路组成看,其主要组成单元是时钟触发器。
计数就是计CP脉冲的个数,每来一个CP脉冲,计数器就加一个1,随着输入计数脉冲个数的增加,计数器中的数值也增大,当计数器计满时再来CP脉冲,计数器归零的同时给高位进位。
根据二进制递增计数规律。
以三位二进制加法计数器为例,如其状态图如图5所示.
a)选择触发器
D触发器,凡是具有置0置1功能的电路,都叫D触发器
特性方程:
Qn+1=DCP上升沿时刻有效
b)求时钟方程
由于要求构成的是异步计数器,显然各个触发器的时钟信号都应使用输入计数脉冲CP.
c)求输出方程C=Q2nQ1nQ0n
d)求状态方程
CP
根据状态图的规定,可画出异步三位二进制计数器的原理图,如图6所示。
图6.异步三位二进制计数器的原理图
同理,八位二进制计数器原理图如图7所示:
图7.八位二进制计数器原理图
八位二进制计数器电子元器件生成,如图8所示:
图8.八位二进制计数器电子元器件
2、八位寄存器的设计
寄存器:
具有寄存功能的电路。
寄存器是一种基本的时序电路,在各种数字系统中几乎无所不在,因为任何数字系统,都必须把需要处理的数据,代码寄存器来,以便随时取用。
特点:
(1)具有存储功能的触发器组合构成。
(2)任务是暂时存储二进制数据或代码,部队存储内容进行处理,逻辑功能比较单一。
本实验要求设计一个8位的寄存器,其中d7—d0、q7—q0分别为寄存器的输入和输出,cp为寄存器的时钟脉冲。
图电路为8位寄存器的线路原理图,如图9所示。
图9.八位寄存器的线路原理图
八位寄存器电子元器件生成,如图10所示:
图10.八位寄存器电子元器件
3、加法器的设计
在项目管理器窗口中,打开菜单中的Source项,选择new命令,在弹出对话框中选择Schematic,并按OK随即弹出一个对话框,要求输入原理图名称,只要在文件名栏输入如:
Add8.sch并按保存按钮即进入原理图编辑窗口。
将如下八位全加器原理图输入即可。
加法器的原理图,如图11所示。
图11.全加器原理图
当将八位全加器原理图编辑完成并确认没有错误之后,在原理图编辑窗口中,打开File菜单,点击其中的MatchingSymbol菜单项,此时,便生成了新的Add8元器件,出现在Local库中。
如图12所示:
图12.全加器Add8电子元器件
四、设计过程与步骤
1、创建新项目
(1)启动ispEXPERTSYSTEM;在Windows98下,选LatticeSemiconductor项的ispEXPERTSYSTEM,单击后进入ispEXPERTSYSTEMProjectNavigator窗口。
(2)建立新项目,建立新项目的方法是:
选择项目管理其窗口中上排的菜单选项用鼠标单击File菜单下的NewProject···,弹出CreateNewProject对话框,首先从最上部的小窗口选择驱动器(假设使用D盘),然后用鼠标左键单击建“新文件夹”按钮,在对话框的提示栏中键入USER,并选择OK,这样就在D盘的根目录下建立了一个“USER”文件夹.
(3)在“文件名”窗口键入项目名“wcxkzysq.syn”以取代原来默认的New.syn,按“打开”确认,新项目建立完毕并自动进入项目管理器。
2、选择虚拟器件
进入项目管理器之后,在其左边窗口可以看到虚拟器件:
VirtualDevice。
现在需要选择使用的具体目标器件,双击VirtualDevice,弹出ChooseDevice对话框。
我们的实验平台所用的器件为ispLSI1032E,则可在Devicefamily窗口中选择ispLSI1000(1000系列),再在Device窗口中按动Device器件目录中滚动条找到ispLSI1032E-70LJ84并选择OK即可。
如图13所示:
图12.选择器件窗口
3、设计原理图输入
在ispEXPERT中如何使用原理图输入的方法进行设计,主要步骤如下:
(1)原理图命名
在项目管理器窗口下,选择总菜单Source项下的New选项,此时将出现NewSource对话框。
选择其中的Schematic(原理图),并单击ok确认。
接着在随后弹出的对话框的“文件名(N)”项下键入原图名wcxkzysq.sch以取代原来的*.sch,并选择保存,即进入原理图编辑窗口。
(2)在原理图编辑器的图纸上添加器件,如附录一。
选择器件的方法:
在块接工具条中,点击符号打开器件库(或选择Add菜单下的Symbol),器件库的上部窗口Library表示器件的类别,下部窗口Symbol表示该类别所对应的器件。
本设计中先从Library中找到Add8,count8,Register8等电子元器件。
(3)添加连线;
在快捷工具条中点击画线按钮(或选择Add菜单中的Wire项),进入画线状态,单击左键定义连线的始端,将光标移至县的另一端,单击左键便可定义这根线。
在连完一根线之后,单击右键就可以结束这一连线,开始下一根线,依次完成全部的连线。
(4)为信号命名;
单击快捷工具栏中的信号命名按钮(或选择Add菜单下的NetName项),这时窗口的下方出现命令:
NetName-EnterName=,在此键入“uir8”并按回车键,连线名“uir8”会粘在鼠标的光标上,将十字光标的中心点移至该信号线的连线头上,单击鼠标即可。
用同样的方法在其余连线上加上信号名。
(5)添加I/OMarkers;
单击快捷工具按钮(或选择菜单下的I/OMarkers项),在弹出的对话框中选择“input”,在将鼠标的光标移至输入信号的连线末端(位于连线和连线名之间),并单击左键,这是会出现一个输入I/OMarkers框,标记里面是连线名,用同样的方法分别为其它加上输入I/OMarkers。
至此,原理图就全部输入完毕。
存盘退出即可。
(6)引脚所定
锁定ispLSI器件引脚方法:
单击快捷工具按钮(或在菜单条上选择Add项中的SymbolAttribute命令),这是会出现一个SymbolAttributeEditor对话框。
单击需要定义属性的输出I/OPad,对话框里会出现一系列可供选择的属性,选中“SynarioPin”属性,并且把文本框中的“*”替换成所需要的管脚号如‘34’,然后用鼠标在图纸的任意位置单击一下,I/OPad小方框中的“*”便被‘34’代替,(注意:
不同的器件,其各引脚的标号定义和功能都是不一样的,在定义管脚时请查阅ispLSI1032E的引脚标号和功能)。
单击其余需要锁定引脚的I/OPad,重复上述步骤,完成全部引脚锁定工作,最后选择File菜单下的Save选项存盘。
4、源文件编译
源文件建立完毕之后,下一步是执行每一个源文件所对应的处理过程。
在主项目管理器中选择不同的源文件分别进行编译。
编译结束后如果出现两个绿色的勾,说明你的设计完全正确。
如果出现的是黄色的‘!
’,说明设计中有“Warnings”出现,一般情况下不会有问题。
如果出现的是红色的“×”,则说明设计中存在着严重的错误,必须对照automake.log报告仔细分析,找出设计中的错误予以排除,然后重新编译。
5、设计项目适配
所谓适配就是将以上完成的逻辑设计针对以选定的器件,在EDA软件的帮助下,形成能写进芯片的熔丝图文件(*.jed),本例中也就是将设计项目适配到isp1032E中去。
这是一个将逻辑设计转化成为适合于具体isp器件的设计过程。
通过适配,将生成标准的JED熔丝图文件,以供编程到具体的芯片中之用。
适配的具体步骤是:
(1)基本参数设定;
对于以选择的器件ispLSI1032E。
选用鼠标左键单击右窗栏的(wcxkzq.sch)项,使其变深色,再单击右边栏的CompilerSchematic。
此时,栏下部的Properties…按钮会变为深色,单击此按钮后会跳出一窗口,其中的各有关项设定如下:
①“ISP”设为True,即在系统可编程的3条编程下载线定义为专用下载口线,不可用为第二功能。
②“ISPExceptY2”设为False,其功能同上。
③“Pullup”设为True,其功能可从“Help”键中得到。
④“Security”设为True,即加密允许。
⑤点击Close退出。
(2)适配控制属性参数设定。
用鼠标单击右窗栏的ispLSI1032E-70LJ84项,使其变深色,再单击右边栏的FitDesign。
与上相同,栏下部的Properties…按钮会变为深色,单击此按钮后会跳出一窗口。
请根据其中的有关的内容,对Properties窗口中的各有关项目进行设定,为方便设计,在这里也可点击Defaults键使各项取默认项。
点击Close退出。
用鼠标单击左边窗口的ispLSI1032E-70LJ84项,使其变深色,然后双击右边栏的FitDesign,使项目管理器完成对源文件的编译、连接、和逻辑分割,最后将所有设计的逻辑进行适配或者说映射到所选择的PLD器件中去。
适配结束后,如果通不过,在有关项目上会出现红色的叉,并弹出automake.log报告,找出问题的所在,重新进行适配运行,直到成功。
如果出现黄色的惊叹号,这也算成功。
但您不妨看一下automake.log报告,了解一下warnings产生的原因。
6、编程下载
所谓编程下载就是将已完成的逻辑设计“烧录”到具体器件中去。
其基本步骤如下:
(1)按照微机组成原理实验系统的使用说明,将实验系统的工作电源连接好,再使用专用下载电缆将实验系统和微机连接好。
(2)用鼠标双击ISPDaisyChainDownload编程下载项目,此时弹出一窗口“LSCISPDaisyChainDownloadVersion7.1”。
(3)用鼠标点击菜单中的Configuration项,并选择ScanBoard,或单击窗口工具栏中Scan按钮。
如果电路板连接无误,这时电路板上的ISP器件的型号应当出现在菊花连下载窗口中。
(4)在Operation下拉框中,选择pv选项。
(5)单击Browse按钮,将弹出一个对话框,在该对话框中选择在上面设计中生成的JED文件add.jed,并按“打开”按钮退出。
此时,点击Command菜单项目下的RunOperation,或直接点击工具栏上的按钮(上面有一个跑步的小人),下载软件机会将JED文件以串行方式烧写到ISP器件中去。
如果下载成功,会出现“PASS”字样,然后在实验箱上进行验证,如果硬件检查结果正确则设计全部完成。
7、在实验箱上进行逻辑验证
(1)将模式开关置于分调,通过右下脚的小键盘,键入微指令十六进制代码至空存ROM2#、ROM1#中,微指令从0号单元开始存放。
代码如下:
0101010101000000
1010101000100000
0000000000010000
(2)将模式开关置于统调,按一次RET2键将uPC置零,每按一次脉冲键读出一条微指令,根据状态指示灯验证是否得到预期的结果。
五、所遇到的问题及解决办法
当原理图画完并且编译运行通过,连接单片机系统进行下载测试时,发现系统只能输出一条记录。
通过分析发现,导致这种情况出现的原因主要是,计数器没有进行状态变化,程序指针无法指向下一条指令,导致指令无法送入寄存器。
解决办法是更换八位计数器的器件,换为具有清零端的register中的FD11,通过调试成功解决问题,实验成功。
六、结论与心得
通过本课程的学习让我们了解了微程序控制的运算器的历史、原理和编码的步骤还有它的实际应用和不足之处、也使我对微程序控制的运算器有了重新的认识。
通过对论文的不断更改我反思了很多,也学到了很多。
通过本课程的学习,我也认识到了自己还有很多不足,还有很多需要进一步学习的地方,在接下来的学习中我会花更多时间来认真加深知识的理解与运用。
历时将近一个月的时间终于将实验调试成功并把这篇论文写完,在论文的写作过程中遇到了很多的困难和障碍,但是遇到不懂不会的,通过上网查资料、询问老师同学,都在同学和老师的帮助下度过了。
尤其要强烈感谢我的论文指导老师——王若成老师,他对我进行了无私的指导和帮助,无论是课堂上精彩的讲解还是对我所反错误的单独指导,我都有了很大的进步。
感谢这篇论文所涉及到的各位学者。
本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。
由于我的学术水平有限,所写论文难免有不足之处,请各位老师和同学批评和指正!
七、参考文献
[1]唐朔飞.计算机组成原理[M].2版.北京:
高等教育出版社,2008.
[2]刘荣兴,等.计算机组成原理课程设计[M].山东:
山东大学出版,2002.8
[3]孙德文,等.微型计算机技术[M].修订版.北京:
高等教育出版社,2006.
[4]白中英,等.计算机组成原理[M].3版.北京:
科学出版社,2002.
八、教师评语
九、附录
附录一:
微程序控制的运算器设计原理图
微程序控制的运算器设计原理图,如图所示:
微程序控制的运算器设计原理图
附录二:
本课程设计软硬件平台介绍
1、硬件平台
本课程设计的硬件平台主要由“在系统可编程”大规模集成电路ispLSI1032E系统与单片机系统构成。
1032E是其核心器件,其逻辑功能主要由1032E之外的开关及显示器来体现。
所谓“在系统可编程”(In_systemprogrammability简称ISP),是指在用户自己设计的目标系统中或线路板上为重构逻辑而对逻辑器件进行编程或反复编程。
因此,在用户ispLSI构成系统时可以先装配后编程。
即器件安装或焊接在线路板中后,仍然可让用户在不改变电路系统设计或线路板硬件设置的情况下,为重构逻辑而对ispLSI进行编程或反复编程。
正因为这种独特的系统可编程技术,使得使用ispLSI的数字逻辑系统比使用常规的数字集成电路在设计上更方便,逻辑功能更灵活,硬件的功能可以随时加以修改或按预定的程序改变其组态。
2、软件系统
操作系统采用windowsXP;与硬件平台配套使用的应用软件为LatticeSemiconductor公司的ispDesignEXPERTVersion8.4.06.39_DE_STARTER和ispEXPERTCompilerVersion8.4.06.39。
3、硬件平台结构
硬件平台结构,如图14所示。
图14.实验平台的结构框图
该实验平台主要有两部分组成:
①可编程ispLSI1032E系统,就其结构上讲包括ispLSI1032E芯片、开关、LED(发光二极管)、时钟及复位键等;②单片机系统,包括单片机、存储器、显示及键盘等。
(1)可编程ispLSI1032E系统
①输入装置
开关:
K15―8和K7―0分别接在1032E的33―26脚与60―53脚。
时钟信号:
连续时钟发生器经跨接插座J2后连接在1032E的20脚,占空比1:
1;单脉冲发生器接在1032E的73脚,按一下脉冲键,便产生一个宽度为20ms的负脉冲。
复位键RET2:
接在1032E的24脚上,按此键对1032E内部的所有电路进行复位。
②输出装置
状态指示灯:
由L15―0、LED15―0共32只发光二极管组成。
他们分别连接到1032E的41―34,52―45和10―3,83―76管脚;在分调模式下,L15―0不能使用。
(2)单片机系统
①输入设置
数字键:
0-F共16个,键入代码16进制;下一单元键;上一单元键;选体键;单脉冲键。
存储器:
单元位数8位,容量256×8。
3#RAM用作程序存储器,分调时,通过键盘写入、读出数据;统调时,连入1032E系统。
2#ROM,1#ROM控制存储器,分调时,是两个独立的随机存储器,通过键盘写入、读出数据;统调时,为只读存储器连入1032E系统。
②数字显示
五位数字键:
最高位显示体号,中间两位某存储器单元地址;低两位该地址下单元内容。
复位键RET1
4、实验平台工作模式
在计算机组成原理课程中,对于较复杂的课程设计,往往涉及的部件较多,部件与部件之间的连线较多,操作复杂,这给课程设计的调试及验证过程带来了很大的困难。
为了便于调试,在实验系统平台上设有一开关,确定了实验系统平台的两种工作模式。
当开关置于上方时,实验系统平台处于统调状态;当开关置于下方时,实验系统平台处于分调状态。
当实验系统处于分调工作模式时,这时实验系统平台被分成独立的两部分即可编程ispLSI1032E系统和单片机系统,这两部分在数据通路上完全被阻断,可以独立进行操作。
这时可编程ispLSI1032E系统可适用于数字逻辑系统的所有实验及课程设计,例如:
与计算机组成原理课程设计有关的部件,计数器、译码器、节拍发生器、堆栈、全加器、串行进位加法器、并行进位加法器,多路开关等都可方便进行设计,并通过下载线接收计算机的下载信息,并固化在isp1032E芯片中,利用外围电路进行调试或验证isp1032E中的逻辑功能。
当实验系统处于统调工作模式时,单片机系统向课程设计提供两种存储器,一种是微指令控制存储器;一种是指令与数据存储器,可以通过键盘方便的将编制好的微程序写入微指令控制存储器;将编制好的程序写入指令存储器,从而可以进行一些较复杂的组成原理实验例如微程序控制器、CPU、一个简单计算机的设计等。
在这种课程设计中,可编程isp1032E系统和单片机系统通过数据通路有机连接为一个整体,给较复杂的组成原理实验的设计、调试及功能测试提供了硬件条件。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计