发明名称 |
流输入读取的多媒体扩展指令的设计与实现方法 |
摘要 |
本发明公开了一种流输入读取的多媒体扩展指令的设计与实现方法,该方法针对音视频解码中流数据输入读取设计了4条媒体扩展指令,其硬件实现结构包括两个32比特的缓冲寄存器、读取码流的地址寄存器(Addr)、Flag标志寄存器、Left寄存器与两个任意位移位器;该扩展指令包括指令读初始化(Bini),码流读取(Bread),数据装载(Bload),当前码流地址返回(Bpos)构成,并设计了该流数据读取指令的硬件实现电路以及在处理器中的流水线划分,给出了其在基于SPARCV8处理器中具体指令编码方式,实验证明该扩展指令的效率是手工优化的SPARC V8处理器指令实现的5-8倍。能够有效的提高处理器对多媒体解码处理的性能。 |
申请公布号 |
CN1912925A |
申请公布日期 |
2007.02.14 |
申请号 |
CN200610105066.2 |
申请日期 |
2006.08.29 |
申请人 |
西安交通大学 |
发明人 |
梅魁志;郑南宁;吴奇;李国辉;张元林;黄畅 |
分类号 |
G06T1/20(2006.01);H04N7/26(2006.01);G06T9/00(2006.01) |
主分类号 |
G06T1/20(2006.01) |
代理机构 |
西安通大专利代理有限责任公司 |
代理人 |
李郑建 |
主权项 |
1.流输入读取的多媒体扩展指令的设计与实现方法,其特征在于,该方法针对音视频解码中流数据输入读取设计了4条媒体扩展指令,其硬件实现结构包括两个32比特的缓冲寄存器、读取码流的地址寄存器(Addr)、Flag标志寄存器、Left寄存器与两个任意位移位器;码流读初始化(Bini)指令用来设置读取码流的地址寄存器(Addr),装载两个32Bit的初始数据到两个码流缓冲寄存器,两个寄存器交替地从数据Cache中装载数据,设置Flag标志寄存器与Left寄存器;由标志Flag决定当前存放前面码流的缓冲寄存器;码流读取(Bread)指令从码流缓冲寄存器中读取32位以内的任意Bit流数据,数据装载(Bload)指令从数据Cache装载32Bit的字到任一码流缓冲寄存器中;当前码流地址返回(bpos)指令返回码流读取操作中的Left与Addr寄存器值;每次使用任意位移位操作读取需要的Len位码流后Left=Left-Len,当Left小于等于0时,需要装载32位码流数据到空的码流缓冲寄存器中,同时反转Flag标志寄存器,同时Left=32+Left;对于Len<=Left,可在一个节拍内实现码流读取,使用32位的任意位左移/右移移位器各1个;对于Len>Left,可在两个节拍内实现码流读取以及使用2个32位的任意位左移/右移位器的共享方法;对于一些数据加减法操作不需要加法器,可用简单的取反加1和取反逻辑实现。 |
地址 |
710049陕西省西安市咸宁路28号 |