- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.简单RISC处理器设计.doc
6.4 简单RISC处理器设计
前面我们已经学习了现代电子系统设计的基本方法,学习了使用Verilog HDL语言设计简单组合逻辑和简单时序逻辑模块,学习了自顶向下的设计方法,同时还学习了状态机的设计。在这里,将综合运用以上所学的知识,设计一个简化的处理器。“麻雀虽小,五脏俱全”,这里设计的处理器虽然是经过简化的,但是能对其进行综合、适配,最终可以在硬件上运行。
这里介绍的处理器由于主要用于教学,只是一个简单的教学模型,设计不一定合理,只是从原理上说明了一个简单的处理器是如何构成的。
6.4.1 RISC处理器简介
中央处理器(CPU,Central Processing Unit)是计算机的核心部件。计算机进行信息处理可分为两个步骤:
(1)将数据和程序(即指令序列)输入到计算机的存储器中;
(2)从第一条指令的地址起开始执行该程序,得到所需结果,结束运行。CPU的作用是协调并控制计算机的各个部件并执行程序的指令序列,使其有条不紊地进行。因此它必须具有以下基本功能:
◆ 取指令——当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址和控制信号。
◆ 分析指令——即指令译码,这是对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。
◆ 执行指令——根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理及下条指令地址的形成。
将CPU的功能进一步细化,可概括如下:
(1)能对指令进行译码并执行规定的动作;
(2)可以进行算术和逻辑运算;
(3)能与存储器和外设交换数据;
(4)提供整个系统所需要的控制。
尽管各种CPU的性能指标和结构细节各不相同,但它们所能完成的基本功能相同。由功能分析可知,任何一种CPU内部结构至少应包含下面这些部件:
(1)算术逻辑运算部件(ALU);
(2)累加器或寄存器;
(3)程序计数器;
(4)指令寄存器和译码器;
(5)时序和控制部件。
精简指令计算机(RISC,Reduced Instruction Set Computer)是一种20世纪80年代才出现的CPU,它与一般CPU相比不仅只是简化了指令系统,而且还通过简化指令系统使计算机的结构更加简单合理,从而提高了运算速度。从实现的途径看,RISC处理器与一般的CPU的不同之处在于:它的时序控制信号形成部件是用硬布线逻辑实现的而不是采用微程序控制的方式。所谓硬布线逻辑也就是用触发器和逻辑门直接连线所构成的状态机和相应的组合逻辑,故产生控制序列的速度比用微程序控制方式快得多,因为这样做省去了读取微程序指令的时间。下面就详细介绍一个简化的、用于教学目的的RISC处理器SimpleRISC,它是采用硬布线逻辑实现的控制,是一个可综合的CPU模型。
6.4.2 SimpleRISC处理器结构介绍
一、处理器结构
这里首先对我们即将要进行设计的SimpleRISC处理器硬件结构作一个简要介绍。这里所介绍的处理器结构只是SimpleRISC芯片的内部结构,或者说只是SimpleRISC的CPU核,所以不包括存储器单元和外设等。SimpleRISC处理器的内核结构如图6-54所示。
图6-54 SimpleRISC处理器内核结构
从图6-54中可以看出,SimpleRISC处理器内核包括以下功能单元:控制器、程序计数器、通用寄存器、算术逻辑单元(ALU,Arithmetic Logic Unit)和总线接口单元(BIU,Bus Interface Unit)。以下的内容将依次讨论这些模块。
二、处理器内部子模块
1、控制器
控制器用于进行指令译码、产生ALU运算控制信号、产生通用寄存器读写控制信号以及协调处理器工作时序工作。
2、程序计数器
程序计数器用于指向下一条将要执行的指令的地址,它可以自动增值或是通过分支指令来设置其内容。
3、通用寄存器
SimpleRISC处理器内部有32个32 位通用寄存器,ALU运算的源操作数、目的操作数大都来自这个通用寄存器堆。
4、算术逻辑单元
算术逻辑单元用于进行算术运算、移位操作、比较设置操作以及逻辑运算。对于其他未能实现的运算,例如乘法、浮点运算等,可以使用软件来实现。
5、总线接口单元
总线接口单元用于SimpleRISC处理器与外部存储器和I/O口的连接,为了简单起见,SimpleRISC系统的存储器和I/O采用统一编址的方式进行组织,并且采用程序存储器和数据存储器分开的哈佛结构。
从图6-54可以看出,SimpleRISC处理器并没有实现中断处理以及Cache等功能,虽然如此,但是SimpleRISC处理器已经能进行一些简单的工作了。下面将继续讨论有关SimpleRISC的一些细节
文档评论(0)