ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:453.06KB ,
资源ID:7873339      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7873339.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一个非常简单CPU设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

一个非常简单CPU设计.docx

1、一个非常简单CPU设计 课 程 设 计课程名称: 计算机硬件及其组成原理 设计题目: 一个非常简单的CPU的设计 学 院: 信息工程与自动化学院 专 业: 计算机科学与技术 年 级: 09级 学生姓名: 指导教师: 日 期: 2011.7.11-2011.9.9 教 务 处 制课程设计题目 一个非常简单的CPU的设计 - 1 -摘要 - 1 -1 总体说明 - 2 -1.1指令系统: - 2 -1.1.1指令格式分类 - 2 -1.1.2相关指令流程图: - 4 -1.1.3指令数据通路的构建: - 5 -1.2微代码 - 8 -1.2.1微代码定义 - 8 -1.2.2微指令代码化 - 9

2、-2详细设计 - 13 -2.1系统分析 - 13 -2.1.1系统需求分析 - 13 -2.1.2系统目标 - 13 -2.1.3功能分析 - 13 -2.1.4详细步骤 - 13 -3总结 - 16 -课程设计题目 一个非常简单的CPU的设计 课程设计主要内容:设计一模型计算机。根据功能和用途确定指令系统,要求:(1)定义数据通路,要把框图画出。(2)设计每条指令的执行流程。(3)可以利用组合逻辑控制器或微程序进行设计,至少实现4条CPU指令(从ADD ,SUB ,XOR,AND,OR中选择);(4)在设计中要求详细定义指令系统的格式。(5)用具体的芯片以及连线实现该模型机,用Protel

3、画连线逻辑图摘要随着社会科技的发展,计算机被应用到各行各业,人们步入自动化、智能化的生活阶段。本次课程设计课题是基本模型机的设计与实现,它正体现了这一点。利用CPU与简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,编写指令的应用程序,用微程序控制器实现了一系列的指令功能,最终达到将理论与实践相联系。本次设计完成了各指令的格式以及编码的设计,实现了各机器指令微代码,形成具有一定功能的完整的应用程序。部件实验过程中,各部件单元的控制信号是人为模拟产生的,本课程设计将能在微程序控制下自动产生各部件单元的控制信号,实现特定指令的功能,通过设计流程图,编写机器指令,微

4、指令和控制信号程序。首先向存储器(RAM)中装入数据和程序,然后检查写入是否正确,启动程序执行。另外,还需设计三个控制台操作微程序:存储器读操作(READ),存储器写操作(WRITE),运行程序(RUN)。以上各微指令设计完毕后,连接线路在ZY15CompSys12BB计算机组成原理教学实验箱运行程序,并将实验结果显示输出。这一课题的实现不仅使我们对各种微指令有了熟练的掌握,更对以后的学习、工作中有深远的影响。关键词:微指令,机器指令,READ,WRITE, RUN,ZY15CompSys12BB1 总体说明1.1指令系统: 计算机的指令是用户使用计算机与计算机本身运行的最小功能单位。一台计算

5、机支持的全部指令就构成该机的指令系统。从计算机本身的组成看,指令系统直接与计算机系统的性能和硬件结构的复杂程度等密切相关,它是CPU设计的起始点和基本依据。设计指令系统的核心问题是选定指令的格式和功能。具体到我们的设计来说,指令的功能应该包括简单的算术和逻辑运算,移位操作,数据传送,跳转,读写内存,另外还可能包括一些其他功能如置条件码等。为了指令的规整性和便于译码,我们主要采用了定长的操作码组织方案,操作码为8位。寻址方式包括了寄存器寻址、立即数寻址、直接地址和相对寻址。1.1.1指令格式分类部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控

6、制信号,实现特定指令的功能,这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一个微程序。 本实验采用六条机器指令:IN,OUT,STA,加ADD,减SUB,循环左移RLC其指格式如下:地址内容助记符说明0000IN ;输入开关数据R0,采集数据0110ADD0AH ;R0+0AHR0020A ;地址0320STA0BH ;R00BH040B ;地址0530OUT0BH ;0BHBUS,输出显示060B ;地址0740SUB0AH ;R0-0AHR0080A ;地址0950RLC0A010

7、B为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序.存储器读操作:拨动总清开关CLR后,控制台开关SWB,SWA 为”0 0”时,按START微动开关,可对RAM连续手动读操作.存储器写操作:拨动总清开关CLR后,控制台开关SWB SWA置为”0 1”时,按START微动开关可对RAM进行连续手动写入.启动程序:拨动总清开关CLR后,控制台开关SWB SWA置为“1 1”时,按START微动开关,既可转入到第01号“取址”微指令,启动程序运行.上述三条控制台指令用两个开关SWB SWA 的状态来设置,其定义如下表1读写变化SWBSWA控制台指令0

8、01011读内存(KRD)写内存(KWE)启动程序(RP)根据以上要素设计数据通路框图,如图1:图1 数据通路框图1.1.2相关指令流程图:1.算术逻辑运算指令 2.访存指令 3.访寄存器指令 4.跳转指令1.1.3指令数据通路的构建:1. 取指令数据通路的构建取指令的微操作安排如下:T0: PC BUS MAR, PC BUS A, 1 READT1: M(MAR) MDRBUSIR, ALU(A+2) YT2: Y BUS PC, IR ID 数据通路如下:2. 算逻指令执行周期数据通路构建 算逻指令执行周期微操作安排如下:T0: $R2 BUS AT1: $R3 BUS BT2: ALU

9、(A ,B) Y BUS $R1 数据通路如下:3访存指令执行周期数据通路构建LDRR 指令执行周期的微操作安排如下:T0: Ad(IR) 扩位 BUS MAR, 1 READT1: M(MAR) MDRT2: MDR BUS $RSTRR 指令执行周期的微操作安排如下:T0: $R BUS MDRT1: Ad(IR) 扩位 BUS MAR, 1 WRITET2: 4. 访寄存器组指令执行周期数据通路构建访寄存器指令执行周期微操作安排如下:T0: $R2 BUS $R1 T1: T2: 数据通路如下:5. 跳转指令执行周期数据通路构建跳转指令执行周期的微操作安排如下:T0: Im(IR) 扩位

10、和移位 BUS AT1: PC BUS BT2: ALU(A+B) Y BUS PC1.2微代码1.2.1微代码定义微代码定义如表2所示:表2 微代码的定义微程序2423222120-19181716151413控制信号S3S2S1S0MCNRDM17M16A121110987654321BPuA5uA4uA3uA2uA1uA0表3 A,B,P字段内容A字段 B字段 P字段151413控制信号121110控制信号987控制信号000.000000001LDRI001RS_G001P1010LDDR1010010011LDDR2011011100LDIR100100P4101LOAD101ALU

11、_G101110LDAR110PC_G110LDPC当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。由于“取指”微指令是所有微程序都使用的公用微指令,因此P1测试结果出现多路分支。本次课程设计用指令寄存器的前4位(I7-I4)作为测试条件,出现6路分支,占用6个固定微地址单元。控制台操作为P4测试,它以控制台开关SWB,SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。1.2.2微指令代码化当全部微程序设计完毕之后,应将每条微指令代码化: 运行: 01 02 10 IN ADD STA

12、OUT SUB RLC 10 11 12 13 14 1501 03 07 16 31 35 04 26 17 32 36 05 01 25 33 37 06 34 25 01 37 01 01 25 01 控制台 00 20 WRITE(01) READ(00) RUN(11) 21 20 23 24 22 01 30 27 图2 微程序流程图表4 二进制微代码表微地址S3CNRDM17 M16ABPuA5uA0000 0 0 0 0 001 10 0 00 0 01 0 00 1 0 0 0 0010 0 0 0 0 001 11 1 01 1 01 1 00 0 0 0 1 0020 0

13、 0 0 0 000 11 0 00 0 00 0 10 0 1 0 0 0030 0 0 0 0 000 11 1 00 0 00 0 00 0 0 1 0 0040 0 0 0 0 000 10 1 10 0 00 0 00 0 0 1 0 1050 0 0 0 0 001 10 1 00 0 10 0 00 0 0 1 1 0061 0 0 1 0 101 10 0 11 0 10 0 00 0 0 0 0 1070 0 0 0 0 000 11 1 00 0 00 0 00 1 0 1 1 0100 0 0 0 0 000 00 0 10 0 00 0 00 0 0 0 0 1110

14、0 0 0 0 001 11 1 01 1 01 1 00 0 0 0 1 1120 0 0 0 0 001 11 1 01 1 01 1 00 0 0 1 1 1130 0 0 0 0 001 11 1 01 1 01 1 00 0 1 1 1 0140 0 0 0 0 001 11 1 01 1 01 1 00 1 1 0 0 1150 0 1 1 0 001 10 0 00 0 10 0 00 1 1 1 0 1160 0 0 0 0 000 11 1 00 0 00 0 00 0 1 1 1 1170 0 0 0 0 000 10 1 00 0 00 0 00 1 0 1 0 1200

15、 0 0 0 0 001 1 1 1 01 1 01 1 00 1 0 0 1 0210 0 0 0 0 001 11 101 1 01 1 00 1 0 1 0 0220 0 0 0 0 000 10 1 00 0 00 0 00 1 0 1 1 1230 0 0 0 0 001 10 0 00 0 00 0 00 0 0 0 0 1240 0 0 0 0 000 00 1 00 0 00 0 00 1 1 0 0 0250 0 0 0 0 111 00 0 01 0 10 0 00 0 0 0 0 1260 0 0 0 0 010 10 0 00 0 10 0 00 0 0 0 0 127

16、0 0 0 0 0 111 00 0 01 0 10 0 00 1 0 0 0 0300 0 0 0 0 110 10 0 01 0 10 0 00 1 0 0 0 1310 0 0 0 0 000 11 1 00 0 00 0 00 0 0 1 0 0320 0 0 0 0 000 10 1 10 0 00 0 00 0 0 1 0 1330 0 0 0 0 001 10 1 00 0 10 0 00 0 0 1 1 0340 1 1 0 0 001 10 0 11 0 10 0 00 1 1 1 1 1350 0 0 1 1 001 10 0 01 0 00 0 00 1 1 1 1 03

17、60 0 0 0 0 001 10 0 11 0 00 0 00 1 1 1 1 1370 0 0 0 0 001 10 1 00 0 10 0 00 1 0 1 0 1下面介绍指令寄存器(IR):指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把他从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试P (1),通过节拍脉冲T4的控制以便识别所要求的操作。“指令译码器:”(实验板上标有“INS DECODE”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地

18、址。本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUT DEVICE);另一种是数码块,它作为输出设备(OUT DEVICE)。例如:输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。输出时,将输出数据送到数据总线上,当写信号(W/E)有效时,将数据打入输出锁存器,驱动数码块显示。2详细设计2.1系统分析2.1.1系统需求分析一台计算机所能执行的各种指令集合称为指令系统或指令集。一台特定的计算机只能执行自己指令系统中的指令。因此,指令系统就是计算机的机器语言。指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。指

19、令系统的设计主要括指令功能、操作类型的设计,寻址方式和指令格式的设计。 计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属性,而指令系统的设置又与机器的硬件结构密切相关。指令是计算机执行某种操作的命令,而指令系统是一台计算机中所有机器指令的集合。通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。 2.1.2系统目标在基本模型机的基础上改进并实现IN,OUT,STA,加ADD,减SUB,循环左移RLC六条指令。2.1.3功能分析该系统实现的功能是对输入的数据可以和内存中的数据进行连续的加、减及循环左移运算,并对其

20、结果进行存储,显示等功能,从而得到一个简易的复杂模型机所实现的功能。2.1.4详细步骤(1)按图3连接实验线路。图3实验线路图(2)写程序联机读/写程序按照规定格式,将机器指令及表52微指令二进制表成十六进制的如下格式文件。微指令格式中的微指令代码微 将表52中的24位微代码按从左到右分成3个8位,将此三个8位二进制代码化为相应的十六进制数即可。程 序$P0000$P0110$P020A$P0320$P040B$P0530$P060B$P0740$P080A$P0950$P0A01微程序$M00018110$M0101ED82$M0200C048$M0300E004$M0400B005$M05

21、01A206$M06959A01$M0700E016$M08001001$M0901ED83$M0A01ED87$M0B01ED8E$M0C01ED99$M0D31821D$M0E00E00F$M0F00A015$M1001ED92$M1101ED94$M1200A017$M13018001$M14002018$M15070A01$M16028201$M17070A10$M18068A11$M1900E01A$M1A00B01B$M1B01A21C$M1C619A1F$M1D19881E$M1E01981F$M1F01A215 (3)运行程序.单步运行程序A 使编程开关处于”RUN的状态,ST

22、EP为”STEP” 状态,STOP为”RUN”状态B 拨动总清处于CLR (0_1),微地址清零,程序计数器清零,程序首址为00H.C 单步运行一条微指令,每按动一次START键,即单步运行一条指令,对照微程序流程图,观察微地址显示是否和流程一致.D 当运行结束后.可检查存数单元中的结果是否和理论植一致. 连续运行程序A 使”START UNIT” 中的STEP开关置为”ECEX”状态.STOP开关置为”RUN”状态. B 拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将”STOP”拨至”STOP”时,系统停机.C 停机后,可检查存数单元结果是否正确. 若联机

23、运行程序时,进入DEBUG调试界面,总清开关CLR 清零后,程序首址为00H. 按相应功能键既可联机运行调试程序。3总结经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。虽然这次设计的只是一个小程序,但是这其间我还是学到了不少东西。在这次课程设计的过程,有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。本次课程设计我们要设计一个简单的CPU,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了比较透彻的认识。由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。课程设计结束了,从中我们也学到了不少知识。虽然计算机组成原理的课程设计与学习已经结束,可我们学习之路并没有结束,我们会继续努力学习其相关的知识,以适应社会的发展与需要,这样才能真正成为一名合格的大学生。在此次的设计中,感谢老师对我们的帮助和指导。过程还不够完善,希望老师继续指导。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1