微处理器系统设计
更新时间:2023-10-22 19:04:01 阅读量: 综合文库 文档下载
功能描述:
设计一个带简单I/O接口电路的多周期RISC处理器设计方案,并在FPGA上进行验证。验证题目为设计流水灯的样式为:
00000000->00000001->00000011->00000111->00001111->0011111->01111111->11111111->00000000,切换间隔为1秒。
RISC处理器简介
中央处理器(CPU,Central Processing Unit)是计算机的核心部件。计算机进行信息处理可分为两个步骤:
(1)将数据和程序(即指令序列)输入到计算机的存储器中;
(2)从第一条指令的地址起开始执行该程序,得到所需结果,结束运行。CPU的作用是协调并控制计算机的各个部件并执行程序的指令序列,使其有条不紊地进行。因此它必须具有以下基本功能:
◆ 取指令——当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址和控制信号。
◆ 分析指令——即指令译码,这是对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。
◆ 执行指令——根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理及下条指令地址的形成。
将CPU的功能进一步细化,可概括如下: (1)能对指令进行译码并执行规定的动作; (2)可以进行算术和逻辑运算; (3)能与存储器和外设交换数据; (4)提供整个系统所需要的控制。
尽管各种CPU的性能指标和结构细节各不相同,但它们所能完成的基本功能相同。由功能分析可知,任何一种CPU内部结构至少应包含下面这些部件:
(1)算术逻辑运算部件(ALU); (2)累加器或寄存器; (3)程序计数器;
(4)指令寄存器和译码器; (5)时序和控制部件。
从实现的途径看,RISC处理器与一般的CPU的不同之处在于:它的时序控制信号形成部件是用硬布线逻辑实现的而不是采用微程序控制的方式。所谓硬布线逻辑也就是用触发器和逻辑门直接连线所构成的状态机和相应的组合逻辑,故产生控制序列的速度比用微程序控制方式快得多,因为这样做
省去了读取微程序指令的时间。
RISC处理器结构介绍
一、处理器结构
RISC处理器内核结构
从图中可以看出, RISC处理器内核包括以下功能单元:控制器、程序计数器、通用寄存器、算术逻辑单元(ALU)和总线接口单元(BIU)。以下的内容将依次讨论这些模块。
二、处理器内部子模块
1、控制器
控制器用于进行指令译码、产生ALU运算控制信号、产生通用寄存器读写控制信号以及协调处理器工作时序工作。
2、程序计数器
程序计数器用于指向下一条将要执行的指令的地址,它可以自动增值或是通过分支指令来设置其内容。
3、寄存器堆
处理器内部有32个32 位寄存器,ALU运算的源操作数、目的操作数大都来自这个寄存器堆。 4、算术逻辑单元
算术逻辑单元用于进行算术运算、移位操作、比较设置操作以及逻辑运算。对于其他未能实现的运算,例如乘法、浮点运算等,可以使用软件来实现。
5、总线接口单元
总线接口单元用于SimpleRISC处理器与外部存储器和I/O口的连接,为了简单起见,SimpleRISC
系统的存储器和I/O采用统一编址的方式进行组织,并且采用程序存储器和数据存储器分开的哈佛结构。
多周期CPU设计原理
在单周期CPU中,每条指令的运行周期都是相同的。然而,不同的指令,其实际的运行时间各不相同,有的甚至相差很大。单周期处理器时钟周期远远大于许多指令实际所需执行时间,例如,R-型指令和立即数运算指令都不需要读内存;Store指令不需要写寄存器;分支指令不需要访问内存和写寄存器;Jump指令不需要ALU运算,不需要读内存,也不需要读写寄存器。受时钟周期宽度的影响,单周期处理器的效率地下、性能极差,这样就造成了运行时间的浪费,降低了运行的速度。
为了解决这个问题,引入多时钟周期CPU的设计方式。如下图所示,在多时钟周期CPU中,每条CPU指令并不是在一个时钟周期内运行,而是需要占用多个时钟周期,每一个执行步骤占用一个时钟周期。不同的指令,占用的时钟周期的个数也不相同。指令可以根据自身特点来决定使用几个时钟周期。这样,既保证了指令的正确运行,又使得指令根据自身的特点来占用运行时间,避免了运行时间的浪费。
多周期处理器的基本思想为:把每条指令的执行分为多个大致相等的阶段,每个阶段在一个时钟周期内完成;各个阶段最多完成一次访存或一次寄存器读/写或一次ALU操作;各个阶段的执行结果在下个时钟到来时保存到相应的存储单元或稳定的保持在组合电路中;时钟周期的宽度以最复杂的阶段所花的时间为准,通常取一次存储器读或写的时间。第一步自然是分析指令执行的状态。
在多周期处理器中,每条指令分多个阶段执行,每个阶段占一个时钟周期,称为一个状态。指令在被取出、译码之前,每条指令的操作是一样的,指令译码之后不同的指令有不同的执行过程。
子模块设计
控制器模块方案设计
控制器需要根据不同的指令,产生不同的控制信号,以控制数据通路中的部件能同步工作,并且使得数据通路中相应的数据选择器作出正确的选择。
这里的控制器比较复杂,使用一个有限状态机来实现,下图给出了控制器的状态转移图。
控制器状态转移图
从图中可以看出, RISC处理器的控制器具有5个状态。起始状态是取指状态Fetch, Fetch状态使得指令存储器的读控制信号有效,从而取到要执行的指令。取到指令之后,要对其进行译码,所以进入了第二个指令译码状态Decode,Decode根据前一状态取到的指令进行译码操作,产生相应的数据选择器选择信号等控制信号。指令译码之后,进入指令执行状态Execute,这一步大多数指令使用ALU进行运算,然后根据指令类型选择是进行存储器操作还是直接将运算结果写回寄存器堆。对于存储器访问指令,执行状态之后计算出进行存储器访问的地址,之后进入存储器访问状态Memory进行相应的存储器操作。对于其他不需要进行存储器访问的指令,直接进入寄存器回写状态Write,将计算结果写回寄存器。 接口定义
信号名称 op regdst regwr alusrc extop memwr memtoreg
寄存器堆模块设计 模块方案设计
MIPS指令格式中的寄存器号是5bits,指令可以访问25=32个32位的寄存器。这样的一堆寄存器“堆在一起”构成一个寄存器堆。每一个寄存器都是32位,寄存器用来存放指令执行所需的数据。根据指令执行需要,该寄存器堆需要一个写数据端口和两个读数据端口,即同时要求有两个读地址和一个写地址。每次当写信号有效和时钟上升沿来临时,会将要写入的数据写入到寄存器给定的地址中,寄存器读端口会在持续的读出寄存器中相应地址中的数据。 电路结构
方向 IN OUT OUT OUT OUT OUT OUT 含义 操作码 写寄存器地址 写寄存器控制信号 立即数和寄存器数据读选择信号 立即数扩展信号 存储器写信号 存储器写寄存器信号 We(有效时将wada写入)clkrst_nwaddrwdataraddr1raddr2寄存器rdata2rdata1
接口定义及时序图
寄存器共有9个端口,具体见下表
序号 1. 2. 3. 4. 5. 6. 7. 8. 9.
clkwerst_n接口信号名称 clk rst_n raddr1 raddr2 waddr we wdata rdata1 rdata2 方向 I I I I I I I O O 说明 处理器工作时钟,频率为 复位信号,低有效 读寄存器堆时的第1个寄存器地址 读寄存器堆时的第2个寄存器地址 写寄存器堆时的寄存器地址 寄存器堆写使能 待写入寄存器堆的数据 读寄存器堆时第1个寄存器的输出 读寄存器堆时第2个寄存器的输出 waddrwdataaddr1 addr2 rdata1 rdata2ValidValidValidValidValidValidValidValid
ALU模块方案设计
算术逻辑运算器(ALU)是数字计算机中执行加、减等算术运算,执行与、或等逻辑运算,以及执行比较、移位、传送等操作的功能部件,本模块实现32位的ALU。本文描述MIPS单周期处理器的ALU模块的功能、接口、时序及其实现。
正在阅读:
微处理器系统设计10-22
北大考古学试题,带答案,很有用06-19
《比较学前教育》模拟考试05-05
一次成功的体验作文600字07-09
公务员考试申论模拟试题参考答案及解析03-08
初中九年级数学中考专题复习模拟检测试卷WORD(含答案) (140)03-08
中级技能试题库04-27
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 微处理器
- 设计
- 系统
- 漆安慎 杜禅英 力学习题及答案06章
- 浅谈乡镇环境的问题及其治理
- 2013年下半年合同管理实务知识模拟题及答案(高级)
- 生物统计学 第四版 李春喜课后习题答案
- 2013年中考英语仿真模拟试卷
- PB 编码规范
- 光学材料折射率的测定
- 混凝土期末复习题及答案
- 生物统计学复习资料
- 犬伤门诊配置建议书 - 图文
- 混凝土公司环境因素辨识与风险评价表
- 2017届高考地理一轮复习区域地理篇专题24世界其他地区考点1非洲对点训练
- 创建星级卫生社区实施方案
- 2014专业技术人员沟通与协调能力的提升试题及答案解析1
- 推荐-连云港市2018届高三第一次调研考试数学 精品
- 2015年浙江省重点教研课题指南
- 2012五邑大学结构力学期末考试题目
- 新人教八年级下期末考试题
- 政治课本要与时事完美结合
- 2017年初三化学知识点考点大全(鲁教版)