PicoBlaze处理器的指令系统

出处:zdm6688 发布于:2008-09-18 17:26:17

  PicoBlaze处理器采用精简指令系统(RISC),即具有固定的单指令长度和固定的指令执行周期,每一条指令的执行需要两个时钟周期,如图1所示。指令的长度PicoBlaze为18位,可寻址空间为1024字节。而CoolBlaze(基于CPLD的PicoBlaze)则为16位,可寻址空间为256个字节。我们以CoolBlaze来说明指令系统。

PicoBlaze处理器指令执行时序

  图1 PicoBlaze处理器指令执行时序

  说明:在指令集中,“X”和“Y”用来定义相关寄存器“s”,其范围为0~7;“kk”用来表示范围在00~FF的一个常数值;“aa”用来表示范围在00~FF的地址;“pp”用来表示范围在00~FF的一个口地址;“C”和“D”表示指令的编码。

  1.程序控制组

  程序控制组(Program Control Group)由跳转指令JUMP、子程序调用指令CALL和子程序返回指令RETURN构成,如图2所示。

  (2) 跳转(JUMP)指令

  在正常条件下,程序计数器(PC)自动地将指针调整到下一条指令。由于程序计数器是8位宽度,寻址空间为256(十六进制为00~FF)。当计数器到FF时,将会自动地变成00。

程序控制组结构

  图2 程序控制组结构

  JUMP指令用所设定的新地址来改变程序执行顺序。另外,该指令也可以是条件转移。条件转移将根据进位标志(CARRY)和零标志(ZERO)的状态来执行,但条件转移指令本身不会影响这两个标志位。

  每一条JUMP指令都必须用两位十六进制数来指定8位地址,汇编程序将会编译成相应的代码。

  (2) 调用指令CALL

  调用指令CALL的操作类似于转移指令JUMP,也由所设定的新地址来改变程序执行顺序。CALL指令可以是无条件调用或条件调用,当执行该指令后,程序计数器将把当前的计数值压入堆栈,并用所设定的新地址替换。调用指令CALL不会影响标志位的状态,肖条件调用时需判断状态位。

  CoolBlaze的堆栈深度仅为4个字节,即只能嵌套4个调用指令,而FPGA型PicoBlaze的堆栈深度可以有31个字节。由于中断操作时也需要用到一个堆栈,因此通常情况下应保留一个堆栈;除非中断操作被禁止。

  堆栈用独立的缓冲器实现,当堆栈满后将会覆盖前面的值。每一条CALL指令都必须用两位十六进制数来指定8位地址,汇编程序将会编译成相应的代码。

  (3) 子程序返回指令RETURN

  子程序返回指令与调用指令是相对应的,也分为无条件返回和条件返回。执行RETURN指令后,程序计数器将从堆栈中恢复计数指针。RETURN指令不会影响标志位的状态,当条件返回时需判断状态位。
  


  
关键词:PicoBlaze处理器的指令系统PicoBlaze处理器

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

TMS320C6678ACYPA25-DSP数字信号处理器(TI 德州仪器)
广告
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站客服电话

0571-85317606

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!