PicoBlaze处理器的指令系统-基础电子_第1页
PicoBlaze处理器的指令系统-基础电子_第2页
PicoBlaze处理器的指令系统-基础电子_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

1.程序控制组

程序控制组(ProgramControlGroup)由跳转指令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

子程序返回指令与调用指令是相对应的,也分为无条件返回和条件返回。执行RET

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论