DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 244|回复: 0
打印 上一主题 下一主题

PicoBlaze处理器的基本结构

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 19:17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      由于PicoBlaze的紧凑型特点,因此在FPGA逻辑器件中实现的PicoBlaze内核与CPLD所实现的内核有些区别,主要是可提供的通用寄存器数不同。FPGA型PicoBlaze资源丰富,可提供16个16位通用寄存器,15~31级堆栈,16位或18位指令系统,地址线宽度可达10位,即具有1 Kb的寻址空间。而CPLD型PicoBlaze(为了区别,将该类型称为“CoolBlaze”)一般仅提供8个8位通用寄存器、4级堆栈和16位指令系统。另外,FPGA型PicoBlaze的程序存储器可由FPGA的块存储器来实现,这样不需要再有其他外围存储器器件。同时,程序(指令)可通过FPGA的位流(Bits STream)配置文件配置到块存储器中。而CPLD型PicoBlaze由于没有块存储器结构,所以必须有程序存储器这样的外围器件与其一起工作,其他结构(包括指令系统)基本相同。
  由于两种类型的PicoBlaze 8位处理器逻辑结构基本相同,因此利用CPLD型PicoBlaze(CoolBlaze)来详细地分析8位处理器逻辑结构和指令系统,并设计一个小型CPU。图1和2图所示为构成PicoBlaze处理器的基本逻辑结构。




  图1 基于FPGA的PicoBlaze 8位处理器逻辑结构




  图2 基于CPLD的PicoBlaze(CoolBlaze)8位处理器逻辑结构
  其中包括如下部分:
  (1)通用寄存器(General Purpose Registers,GPR):在CoolBlaze(PicoBlaze)中共有8个8位的通用寄存器,分别定义为s0~s7。这些寄存器可用于数据的读/写、输入/输出、运算等操作,并且可以全部提供给用户,没有为特定的操作而保留任何寄存器(即没有特殊功能寄存器)。
  (2) 算术逻辑单元(Arithmetic Logic Unit,ALU):算术逻辑单元提供所有简单的8位运算,所有的操作由任何寄存器提供的操作数来完成,其结果返回到相同的寄存器。运算中所需要的第2个操作数可以是指令中所包含的8位常数或指定的寄存器。在该单元中,还可完成布尔操作,如装入(LOAD)、逻辑与(AND)、逻辑或(OR)和逻辑异或(XOR),并具有灵活的移位操作功能。
  (3) 标志/程序流程控制(Flags/Program Flow Control):算术逻辑单元的运算结果影响零(ZREO)和进位(CARRY)标志,当使用条件和非条件程序流程控制指令时,这些条件决定了程序执行的顺序。跳转(JUMP)指令将无条件地执行所指定地址(程序地址空间内)一的程序;而子程序调用(CALL)和程序返回(RETURN)在改变程序执行顺序的同时,需要保护转移时的地址(现场),以便程序执行完毕后的恢复。
  (4) 输入/输出:PicoBlaze处理器可提供256个输入口和256个输出口,8位的输入/输出口地址译码器和读/写控制信号可以一起访问这些输入/输出口。这些口地址可以是程序中的绝对地址,也可以是任何一个寄存器的内容所指定的间接地址。当访问由外部存储器所构成的块存储器时,使用间接寻址是比较理想的方法。
  在INPUT操作周期内,输入口上的值(数据)可传送到8个寄存器中的任何一个。输入操作由READ_STROBE脉冲信号来指示,该控制信号表示数据已由PicoBlaze获取。
  在OUTPUT操作周期内,寄存器中的内容可以传送到输出口。WRITE_STROBE脉冲信号表示执行输出操作,该控制信号可用来设计输出接口逻辑,以便确保有效数据传送到外部系统。
  输入/输出时序如图3所示。




  图3 PicoBlaze处理器的输入出时序
  FF指令,同时将自动地保护当前的零(ZERO)和进位(CARRY)标志,并禁止响应其他的中断。特定的中断返回RETURNI指令用来保证中断服务子程序的结束,恢复标志和控制状态。中断操作时序如图4所示。




  图4 PicoBlaze处理器的中断操作时序

  
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-12-28 21:00 , 耗时 0.110187 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表