- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
任务7.1简易处理器的系统架构设计
任务7.2简易处理器的设计实现
任务7.3简易处理器的仿真验证;处理器不仅是计算机的重要部分,也是嵌入式系统必不可少的部分。嵌入式系统设计与应用是当前电子行业发展的一个重要方向。本项目将详细介绍一个基于Verilog状态机控制的10位指令微处理器的设计流程,包括CPU的系统结构设计、基本组成部件设计、指令系统设计和CPU的RTL级仿真与实现。本项目设计的CPU没有做任何的优化处理,也没有采用流水线技术。
本项目的设计目的:一是展示通用的CPU的架构以及实现原理;二是展示HDL语言在设计复杂数字系统方面的强大能力。;任务7.1?简易处理器的系统架构设计;一、简易处理器的组成结构
简易处理器的结构框图如图7-1所示。从图7-1中可以看出,简易处理器主要由控制器和数据路径两大部分构成。另外,为了配合简易处理器完成系统任务,还需要程序存储器和数据存储器,前者用于存放程序指令的机器码,后者用于存放计算结果。
;系统采用自顶向下的方法进行设计。顶层设计由简易处理器和存储器通过双向总线相连而构成。其中,程序存储器与简易处理器的控制器通过总线交互信息;数据路径通过总线与数据存储器交互信息。
简易处理器与通用CPU的工作方式相同,执行一条指令,分多个步骤进行。程序寄存器PC初始值为0,当一条指令执行完后,程序寄存器指向下一条指令的地址。如果执行顺序指令,PC+1就指向下一条指令地址;如果执行分支跳转指令,则直接跳到该分支地址。
二、简易处理器的功能
设计要求:本简易处理器可通过运行存储在ROM中的程序来完成一定的功能,并将计算结果存储于数据存储器RAM中。
【例7-1】完成2?×?(0?+?1?+?2?+?…?+?10)?=??
;简易处理器的特点就是面向某一特定的应用领域,简易处理器像通用处理器一样是可编程的,因此简易处理器的体系结构可与通用处理器类似,但同时其各组成部分可在通用处理器的基础上作一些简化。例如,本任务设计的简易处理器要完成自然数的求和与移位功能,其功能部件只要能满足这一应用即可,所以实现起来比通用处理器考虑的内容少,设计内容少。
三、指令系统的设计
为了设计简易处理器,对可应用于该简易处理器的指令集作出约定是非常必要的。针对累加功能,可以约定如图7-2所示的一个简单的指令集。;该指令集包括以下几类:
(1)寄存器传输指令:将某寄存器的值传给另外一个寄存器。
(2)装载指令:立即赋值。
(3)算术运算指令:完成加减运算。
(4)逻辑移位指令:完成左移操作。
(5)存储指令:将数据存储到数据存储器中。
(6)分支指令:使处理器转到其他地址。
从图7-2中可以看出,所有指令都包含4位操作码和12位操作数,所有指令完成的功能在图7-2中的右边已进行了说明。
对执行该指令集的简易处理器作如下约定:在寄存器文件中共有16个寄存器,立即数为8位二进制数,ROM程序存储空间为256个地址,使用的RAM存储器有16个地址,等等。当然,可以根据简易处理器的功能要求修改指令集。例如,在对图7-2的指令集作出约定后,就可以用汇编语言来描述例7-1的算法,汇编语言代码如例7-2所示。;【例7-2】汇编语言描述例7-1。
在此基础上可以方便地将求和算法转换为机器码并存放在程序存储器中,如例7-3所示。;【例7-3】机器码描述例7-1。
显然,程序存储器的字长取为16bit较为合适。目前,常见的存储器的字长为8位、16位、32位或64位。当然,我们的设计可以很方便地根据需要将每条指令的机器码扩展为其他常用字长。
另外,需要说明的是,由于本设计涉及的程序代码较少,因此程序存储器和数据存储器均设计得很小。但是在设计这两种存储器时,本任务采用了参数化的设计方法,容易拓展到大容量的存储器,原理清晰,实现容易(感兴趣的读者可自行拓展)。
;任务7.2?简易处理器的设计实现;一、顶层系统设计
在进行系统设计时,可以将整个系统进一步细化为3个模块,即CPU、ROM、RAM,如图7-3所示。其中,程序存储器和数据存储器是为了配合简易处理器的工作而增加的简易处理器的外部器件。;与图7-3相对应的代码如例7-4所示。
【例7-4】含ROM和RAM的CPU设计。;将CPU进一步规划成datapath和controller,如图7-4所示。;与图7-4相对应的代码如例7-5所示。
【例7-5】CPU内部模块划分(包括数据路径和控制器)。;图7-4中的简易处理器分为控制器和数据路径两部分,两部分的工作时钟设计为两个同频不同相的时钟。
图7-4中的控制器是整个简易处理器的核心,它产生控制信号控制数据路径的行为,而控制器是通过状态机来产生控制信号的。因此,控制器中的状态机的设计无疑是最重要也是最容易出错的地方。
数据路径
您可能关注的文档
- 心理成长与发展 课件 第2章 成为可能的自己.pptx
- 心理成长与发展 课件 第1章 心理健康与成长.pptx
- 心理成长与发展 课件 第3章 探索友谊的世界.pptx
- 心理成长与发展 课件 第4章 体会世间的爱意.pptx
- 心理成长与发展 课件 第5章 做积极的学习者.pptx
- 心理成长与发展 课件 第6章 解析情绪方程式.pptx
- 心理成长与发展 课件 第7章 化解压力的艺术.pptx
- 心理成长与发展 课件 第8章 成为一个幸福的人.pptx
- 心理成长与发展 课件全套 (王亚楠)第1--8章 心理健康与成长 ---成为一个幸福的人.pptx
- Verilog HDL项目式教程 课件全套 (贺敬凯) 项目1--7 Verilog HDL综述 --- 简易CPU设计.pptx
文档评论(0)