基于TR600芯片的过程调用设计与硬件实现

[10-10 20:38:44]   来源:http://www.88dzw.com  单片机学习   阅读:8849

文章摘要: www.88dzw.com TR600芯片体系结构采取2种过程调用方式:同层调用和换层调用。当一层寄存器子堆满足主调过程和被调过程的寄存器资源使用时,采用同层调用;当换层调用时,被调过程位于主调过程的下一层寄存器子堆,主调过程和被调过程分别控制所在层的寄存器单元,主调过程将传递参数写入窗口寄存器.被调过程则从窗口寄存器取入参数,以当前寄存器子堆为存储空间进行运算,并将需要传递的运算结果写入窗口寄存器.返回主调过程。如果被调过程内还含有调用.可以根据寄存器使用情况确定是同层调用还是换层调用,从而决定传递参数写入局部通用寄存器或是窗口寄存器。多重过程调用同样遵循这个过程。TR600体系

基于TR600芯片的过程调用设计与硬件实现,标签:单片机开发,单片机原理,http://www.88dzw.com

  

www.88dzw.com

     TR600芯片体系结构采取2种过程调用方式:同层调用和换层调用。当一层寄存器子堆满足主调过程和被调过程的寄存器资源使用时,采用同层调用;当换层调用时,被调过程位于主调过程的下一层寄存器子堆,主调过程和被调过程分别控制所在层的寄存器单元,主调过程将传递参数写入窗口寄存器.被调过程则从窗口寄存器取入参数,以当前寄存器子堆为存储空间进行运算,并将需要传递的运算结果写入窗口寄存器.返回主调过程。如果被调过程内还含有调用.可以根据寄存器使用情况确定是同层调用还是换层调用,从而决定传递参数写入局部通用寄存器或是窗口寄存器。多重过程调用同样遵循这个过程。TR600体系中采用的语音编解码算法的过程调用最多涉及到17个子函数过程和5重嵌套调用,而重叠寄存器窗口技术都可以很好地解决这些问题。

2 存取算于对存储体交叉访问技术

     存取算子对存储体交叉访问机制解决了存取算子访问局部性与过程调用中参数传递的全局性之间的矛盾。由于在指令体系设计时,将Is存取算子设计成与SDRAM存储体一一对应的关系,这就使得存取算子只能固定访问单块存储体。而对于过程调用,主调过程实参传递可来自于任意存储体,被调过程的形参却只能指向某一个存储体.这就要求主调过程要将实参转移到形参指定的存储体内,才能正确执行调用;而在数据转移过程中,可能引起数据相关,并且浪费数据转移时间。本设计的解决方法是对LS存取算子做变换,使其能够访问所有存储体,避免数据转移,并称其为存取算子对存储体的交叉访问。

      为了在过程调用时使存取算子能够访问任意存储体,使被调过程形参可以指向任意存储体,采用在体系中添加段寄存器配置,标识存取算子访问存储体的信息的方法。因此用户可以通过设置段寄存器的值来动态改变璐存取算子对SDRAM存储体的访问关系。在初始化状态,段寄存器中的值表示LS存取算子与存储体访问是一一对应的,如图2所示。在存储体交叉访问时,过程调用指令通过重置段寄存器值,改变存取算子与存储体的对应关系,并在执行调用过程中保持不变,如图3所示。段寄存器值由过程调用指令来动态配置,用户在使用过程中调用指令时,要参照指令格式的要求,在具体指令域装载段寄存器的配置信息。段寄存器值经过译码器译码产生存储体控制信息,再经过逻辑运算产生每个存储体的控制信号,包括:输入输出数据通路选择信号以及存储体的使能、读写、地址控制信号。

 

     在TR600芯片体系结构中包含5块独立编址的SDRAM存储体,指令体系提供5个LS存取控制算子,分别为LSl控制读写RAMl、LS2控制读写RAM2……LS5控制读写RAM5。相应地,体系中提供5个3位段寄存器,标识过程调用时存取算子与存储体的对应关系。考虑到语音算法存在多重嵌套过程调用,每次过程调用时都可能发生存储体交叉访问的情况,因此设计了6层段寄存器阵列分别标·代表“或”操作识每次调用时存取算子与Rij表示第i层第j个段寄存器存储体的对应关系,如图4所示。执行过程调用指令时,段寄存器被重新配置,同时将过程调用的嵌套次数保存在层计数器。通过对层计数器输出的译码,产生段寄存器的层控制信息,包括段寄存器使能和段寄存器输出选择控制。通过段寄存器阵列的变换,实现每个存取算子对存储体访问的控制转换.再经过段译码器译码及逻辑运算产生存储体控制信号。例如,存储体RAMI使能信号(RAM1_E)可由5个段译码器译码产生的RAMl控制信号做逻辑“或”运算产生,变换逻辑运算即可以产生存储体的读写信号、地址控制信号和输入输出选择控制信号(本文不做详细论述)。

上一页  [1] [2] [3]  下一页


Tag:单片机学习单片机开发,单片机原理维修教程知识 - 单片机学习

《基于TR600芯片的过程调用设计与硬件实现》相关文章