好运快3开奖结果查询|都支持SIMD模式。图27所示为半字位段处理电路示

 新闻资讯     |      2019-10-26 07:17
好运快3开奖结果查询|

  由于X DSP 64位SIMD移位器国防科学技术大学研究生院工程硕士学位论文 只针对逻辑左移做溢出判断所以最后结果输出 受left信号控制 当left为1时 输出overflow信号 否则输出0。以下将分指令介绍所对应的电路实现结构。如果要对源操作数A按 2个32位的模式进行移位 且amount 15 即s5 0、s4 0、s3 1、s2 1、s1 1、s0 源操作数A的每个字节将分别经过一条移位链且每条移位链中只有第一层、第二层、第三层和第四层的移1位、移2位、移4位和移8位的移位器发生移位。第五层为32位、64位数据逻辑左移2位的溢出结果。生成左移的偏移量需要一个补码减法器。当Shift 并且时钟信号有效只要来出现一个时钟信号上升沿 串行输入 SI 送入到第一个触发器 Q3 中。每个源操作数在移位阵列中进行移位时 都要经过6层移位器 即6层选择开关。在每一级有一个选择开关 当对应开关输出为1时 则上一级送来的数据传输到下一级时 将被移2i位 否则 不被移位直接送往下一级。最后输出移位结果 整个位段操作完成。第一层溢出由b5与S64控制 当64位逻辑左移且b5 开关打开移出的bit相或 然后输出。DSP64位SIMD移位器主要实现逻辑左移、逻辑右移以及算术右移的操作 其主体结构为一个基于选择开关的64位对数移位器 6为其实现指令。国防科学技术大学研究生院工程硕士学位论文 移位网络移位输出移位输入译码器A4A3A2A1A0SH31SH1SH0 12全译码方式桶形移位器电路结构对数移位器 其在对N位的数据移位时 使用log2n级传输门来实现移位控制。通过两级数据的反转操作 该移位器可以实现逻辑左移、逻辑右移和算术右移的操作。A和B的值不同实现的移位操作也不同。其缺点是在进行版图设计时 由于所占用的尺寸受到金属布线的影响 其最大移位宽度越大 所需要的面积也越大。其中打包包括两个32位打包和四个16位打包 还有饱和加打包 解包主要是四个16位解包操作 域内交换包括两个32位域内交换和四个16位域内交换 具体指令如表2 7所示。SIMD计算利用大量处理器对数据所包含的各个分量同时进行运算 这正是它获得高速处理速度的主要原因。

  如图2 10所示是一个由D触发器构成的四位移位寄存器 该寄存器带串行输入端和串行输出端。如果将串行输出端与串行输入端相连 国防科学技术大学研究生院工程硕士学位论文 10中虚线所示那么该移位寄存器可实现一个循环移位的功能。这种移位器每一级都由选择开关组成 当最大移位宽度为N时 需要 log2n 级来实现。D3Q3CED2Q2CED1Q1CED0Q0CE串行输入 SI ShiftClock串行输出 SO 2斗形移位器斗形移位器 22 Funnel 可以实现所有的移位功能 它是一种结构简单 使用比较广泛的移位器。64位打包解包单元指令设计指令助记符 语法 功能描述 BALE2 BALE2 R1 R2 R3 完成2个操作数低32位打包操作 BALE2H BALE2H R1 R2 R3 完成2个操作数高32位打包操作 BALE2LH BALE2LH R1 R2 R3 完成R1的低32位和R2的高32位打包 BALE2HL BALE2HL R1 R2 R3 完成R1的高32位和R2的低32位打包 BALE4H BALE4H R1 R2 R3 完成R1、R2的四个高16位打包 BALE4L BALE4L R1 R2 R3 完成R1、R2的四个低16位打包 SAP2 SAP2 R1 R2 R3 R1、R2和第三个操作数饱和加打包 SAP4 SAP4 R1 R2 R3 R1、R2高低32位与第三操作数饱和加打包 UBALE4H UBALE4H R2 R3 R2的两个高16位的解包操作 UBALE4L UBALE4L R2 R3 R2的两个低16位的解包操作 ITL2 ITL2 R2 R3 R2的两个32位域内交换 ITL4 ITL4 R2 R3 R2的四个16位域内交换 DSP64位打包解包单元的整体结构如图2 18所示 包括半字 32位 粒度打包 解包电路 64位粒度打包和位域交换电路 以实现打包解包单元所涉及的打包解包及域内交换指令。如果想获得更高性能的移位器 一种方法是对基于选择开关的移位器做一定程度的修改来实现 另一种方法就是通过掩码来实现。现代多媒体应用程序包含大量的数据 从而使得SIMD技术在多媒体技术实现中大量存在 SIMD移位器作为其一种实现也大量应用于其中。a0a1a2a3 a32a33a34lefts0s1s2left0orororororoverflowb2 Sb2b1 Sb1b0 Sb0lefta35 a63 1764位SIMD移位器部分溢出判断逻辑结构图 26424 是近年来兴起的一种高度压缩数字视频编解码器的标准 是在MPEG 4技术的基础之上建立起来的高性能视频编解码技术。H 264编码标准将输入的视频信号划分为编码的基本单位宏块 16 16像素大小 每个宏块包含亮度分量Y 16 16 色度分量Cr Cb 264的预测算法中经常采用的插值操作为例像素点A、B、C、D为8比特数据表示 插值操作通过将某些像素点乘以权重系数再相加 获得新的像素点值。移位网络由一个基于选择开关的数据反转移位器构成 其主体结构为一个64位对数移位器。Amount为移位量 通过译码之后 控制移位网络。具体来说 a5和a4可以通过这两个开关分别输出给y3和y2 这时相当于把移位8位的数据逻辑右移2位 a5和a4可以不能通过这两个开关y3和y2的输出为“0” 这时 相当于把两个4位的数据逻辑右移2位。斗形移位器通过选择适当的输入Z 可以支持所有的移位和旋转 或者对于仅作特定移位来说 它可以使用硬线斗形移位器的移位情况移位类型 偏移量逻辑右移 CN1…C0 逻辑左移CN 1…C0 算术右移CN 1…CN CN1…C0 算术左移CN 1…C0 旋转右移CN 1…C0 CN 1…C0 旋转左移CN 1…C0 CN 1…C0 5简化后斗形移位器的移位情况移位类型 偏移量逻辑右移 CN1…C0 逻辑左移CN 1…C0 算术右移CN 1…C0 CN 1…C0 算术左移CN 1…C0 旋转右移CN 1…C0 CN 1…C0 旋转左移CN 1…C0 CN 1…C0 3基于选择开关移位器基于选择开关移位器 20 是目前使用最多的移位器 其结构能够满足芯片高性能的需求 实现快速的移位同时减小面积和功耗 最主要的两种基于选择开关的移位器为桶形移位器和对数移位器。Sa为算术移位信号。都支持SIMD模式。

  图213为64位SIMD移位器的主体结构。在SIMD移位器1完成移位操作之后将得它和其他运算部件一样 也有结构从简单到复杂之分、性能从差到好之别。最后各级输出相或之后的结果 最后各级的结果再相或。图2 12为其全译码方式的桶形移位器的电路结构 左边的译码电路对表示移位次数的二进制数进行完全译码 这样即可得到各种移位的单独控制线 右边的则为所对应的整个桶形移位选择开关网络。

  此时实现的是一个右移的操作根据位段指令BEXT和BEXTU的译码信号 此时右移通过一个选择开关实现一个逻辑右移和算术右移的选择。解包和域内交换指令为单操作数指令。以4位的右移移位器为例 其结构示意图如图所示 其实质是一排选择开关。但是最终结果ax bx只需要8比特来存储。若移出的bit全为0 则不溢出 若移出的bit至少有一个为1 则溢出。Shifter 32Shifter 16Shifter 16Shifter 8Shifter 8Shifter 4Shifter 4Shifter 2Shifter 2Shifter 1Shifter 1AmountS5S4S3S2S1S0SaInput 63 DoorAOutput 63 1464位SIMD对数移位器 a7a6a5a4a3a2a1a0b3右移4位0y0y7y6y5y4y3y2y1 154位逻辑右移移位器 国防科学技术大学研究生院工程硕士学位论文 14中DoorA为一种开关选择门 它是由选择开关纵向排列构成 实现SIMD模式之间的切换。另外由于其移动延时为一个传输门的延时 也就是说在完成移位操作时 移位控制信号线只有一条被置一 但是实际上在在移位指令中 一般都只能用具体数据表示所需要的移位长度 故需要增加一套额外的译码逻辑产生一位控制选通信号 即需要前面所对应的三种译码方式电路中的一种。根据64位对数移位器的特点 6个右移移位器分别对应每一层溢出判断逻辑。SIMD移位器1SIMD移位器2DecoderDecoderSUSrc2 63 32 Src2 31 Src111 Dst63 32 Dst 31 7半字位段处理电路其具体半字数据位段实现如下图2 8BEXT半字位段实现和图2 9BEXTU半字位段实现。图2 17为部分溢出判断逻辑结构图 图中各级溢出判断逻辑由其移位控制信号控制 当所对应的移位控制信号有效时 其选择开关输出移位信号 否则输出0。通过这些选择开关 就可以实现SIMD移位器不同模式之间的变换。当移位数量为32时 第5级移动32位 其他级保持前一级送来的数据原样输出 当移动位数为18时 第4级移动16位 其余各级不移位。

  而且从图中也可以看出 在执行左移K位时 实际上可以用执行右移 位来实现。打包指令除了SAP2和SAP4两条饱和加打包指令为三操作数指令 其他打包指令都为双操作数指令。最终将所有层溢出结果相或 再与逻辑左移left信号相与即为逻辑左移溢出检测的最终结果。第四层为32位、64位数据逻辑左移4位的溢出结果。第六层为32位、64位数据逻辑左移1位的溢出结果。如图2 16所示 为一种逻辑右移两位的电路结构图。数据反转64位对数移位器数据反转译码溢出判断逻辑输入64LeftModeLeftAmount6Sa溢出判断有效信号输出646464 1364位SIMD移位器的主体结构 64位SIMD移位网络64位SIMD对数移位阵列是64位SIMD移位网络的核心部分 采用了一种如图2 14所示的链式结构。其移位开关网络主要由一组晶体管阵列组成 晶体管阵列的行数等于需要移位数据的字长 列数则等于需要移动的最大宽度。

  X DSP是一款面向多媒体应用DSP芯片 其中也包含了能够快速处理视频图像等数字信号的打包解包单元。在SIMD移位器1完成移位操作之后将得到的数据再输入到SIMD移位器2 然后SIMD移位器2根据SIMD模式信号和Src1 的译码信号对输入的数据进行移位。其实际所做移位是一个逻辑左移的操作 译码信号来自Src1 11 即所需移位的长度。其移位原理如图2 11所示 它由两个N位的输入 串联组成移位的时候在这2N位的数据中任意的选择N位的子域Y输出。这样整个的过程就实现了当Shift信号有效 且时钟上升沿出现的时候 数据从左往右移动了一位 实现了简单一位数据移动。字模式与半字模式的位段处理电路相似 限于本文篇幅 在此不做详细阐述。表2 4列出了执行N位字C左移K位或右移K位所用到的输入。第二层则为32位或64位数据逻辑左移16位的溢出结果。对数移位器的速度以对数的方式取决于移位宽度因为一个M位的移位器需要log2M级。其实际所做移位是一个逻辑左移的操作 译码信号来自Src1 11 即所需移位的长度。图27所示为半字位段处理电路示意图 首先 源操作数Src2输入SIMD移位器1 然后SIMD移位器1根据SIMD模式信号和Src1的译码信号对源操作数进行移位。国防科学技术大学研究生院工程硕士学位论文 64位SIMD移位器实现指令助记符 语法 功能描述 SHFLL SHFLL R1 R2 R3 完成1个64位的逻辑左移操作 SHFLL32 SHFLL32 R1 R2 R3 完成2个32位的逻辑左移操作 SHFLR SHFLR R1 R2 R3 完成1个64位的逻辑右移操作 SHFLR32 SHFLR32 R1 R2 R3 完成2个32位的逻辑右移操作 SHFAR SHFAR R1 R2 R3 完成1个64位的算术右移操作 SHFAR32 SHFAR32 R1 R2 R3 完成2个32位的算术右移操作 DSP64位SIMD移位器 23 主要由移位网络与溢出判断逻辑两部分构成。这些移位器是否执行移位操作分别由amount信号的第0到5位 即s0、s1、s2、s3、s4和s5 控制 当控制信号为高时 该移位器执行移位操作 将移位之后的结果输出给下一级移位器 否则 不进行移位 将输入数据直接输出给下一级移位器。BfAfxa21 DfCfxb43 其中1f 2f 3f 4f为权重系数 也采用8比特表示 这样乘法的中间结果Af1 Bf2 Cf3 Df4需要用16比特表示。如果数字信号处理器总线位宽度 那么一种高效的存放方式是将4个比特的像素点打包 这样就不会损失处理器的实际运算和存储能力。

  如果N是2的倍数 斗形移位器可以通过接收2N 1位输入Z来进一步简化 对于左移 可以简单的求移位量k的补码 例如 各位取反 如表3 5所示。随着处理器的快速发展 人们对获得高性能运算器要求也越来越大 移位器作为其不可缺少的一部分 也发展到了对数移位器和桶形移位器 这类移位器主要是基于选择开关实现的 功耗面积延迟都有大幅度的改善。起初的移位器主要是由寄存器组成 所以又被称为移位寄存器 这种寄存器级数多、延迟大 而且每次移位的位数很有限。1移位寄存器移位寄存器是一种能够存储二进制数据 并且在移位信号作用下能够将数据向左或向右移位的寄存器。例如 一个最大移位宽度为64位的对数移位器包括6级 即第0级到第5级。a7a6a5a4a3a2a1a0b3右移2位0y0y7y6y5y4y3y2y1s 14所对应的移位网络结构中当实现64位模式移位时 16所示S为0此时Door A打开 移位器左边的数据可以传输到移位器右边 实现一个64位的移位 当实现32位模式移位时 此时DoorA关闭 移位器左边的数据不能传输到移位器的右边 实现两个32位的移位。第三层则为32位、64位数据逻辑左移8位的溢出结果。都支持SIMD模式。csta为Src1 11 1000xxxxxxxxxxx1101xxxxxxxxxxxxxxxxxxxxx43210Src2DstcstacstbcstaLeft shiftright shift BEXT半字位段实现原理国防科学技术大学研究生院工程硕士学位论文 1000xxxxxxxxxxx0000xxxxxxxxxxxxxxxxxxxxx43210Src2DstcstacstbcstaLeft shiftright shift 1移位器的相关介绍移位器 21 被集成在处理器中 主要完成算术逻辑运算以及地址的产生等功能 在数字信号处理、浮点运算、加密 解密、串 并转换、校验以及随机数生成中都有广泛应用。下面来逐一介绍几种基本移位器的结构。从数据输入到数据输出 第一级和最后一级实现数据反转 Data Reversal 的功能 当实现的为右移操作时 数据原样输出 当为左移操作时 数据经过第一级和最后一级都要实现次序反转 即最低位数据放置在最高位 其他依次反转排列。DSP64位打包解包单元设计实现 DSP64位打包解包单元主要实现打包、解包、域内交换操作。Mode为所对应的模式信号 支持32和64两种模式。在表中指令实现语法中的R1为所要移动的位数 它可以来自立即数也可以来自寄存器R R2被移位操作数地址 R3为目的地址。64位SIMD移位器的功能概述及指令设计单指令多数据流 SIMD 18 就是指Single Instruction Stream Multiple Data Steram 它用一个控制器来控制多个处理器 同时对一组数据 又称“向量数据” 中的每一个分量分别执行相同的操作 以实现空间上的并行性。如TI6000 系列的PACK2、PACKH2、PACKH4、PACKHL2、PACKL4、PACKLH2、SPACK2、SPACKU4、UNPKHU4和UNPKLU4等指令有相对应的打包解包单元。基于选择开关桶形移位器的最主要优点是 在移位信号有效 对数据进行移位时 被移位的信号只需通过一次传输门 即可完成移位操作 也就是说其完成移位的延时是固定的 为一个传输门的延时。

  图27所示为半字位段处理电路示意图 首先 源操作数Src2输入SIMD移位器1 然后SIMD移位器1根据SIMD模式信号和Src1的译码信号对源操作数进行移位。从图中我们可以看出 相比于图2 15所示的4位逻辑右移移位器 该电路图在横向一排8个选择关中增加了纵向一列共2个二选一开关 这2个开关的作用是 控制左边高位的数据能否传递到低位。桶形移位器的电路主要由译码电路与移位开关网络两部分组成 不同的译码方式可以分为 全译码、全编码、混合译码三种方式。它是一种结构简单的移位器 能够在移位信号的作用下 在单个时钟周期内实现一位数据的移动。这样就使得能实现打包解包单元功能的指令出现 其目的是为了适应视频图像处理的数字国防科学技术大学研究生院工程硕士学位论文 信号处理系统需求加快这类运算的执行速度 主流IC设计公司在自己的芯片中设计了专门的打包与解包类指令。移位位数每一位控制一级选择开关 Bi 1时数据移动2i位 否则不移位 直接输出到下一级。后来又提出了混合译码结构的移位器 该移位器结合了桶形移位器和对数移位器的优点 不仅移位级数少 移位阵列的管子数少 而且延迟也得到了改善。该移位链由6个分别移1位、2位、4位、8位、16位和国防科学技术大学研究生院工程硕士学位论文 32位的右移移位器构成其实质即为一个64位对数移位器 即当每一级所对应的控制信号为1时 则前一级输入的数据被移位2i位之后再送入到下一级。同时 第一个触发器的输出送入第二个触发器 第二个触发器的输出送入到第三个触发器 第三个触发器的输出送入到最后一个最后一个触发器。DSP64位SIMD移位器的溢出判断逻辑只有在逻辑左移时 根据移出的bit位判断是否发生溢出。傻瓜175电源电路图同时 对于较大的移位值 传输管的串联连接会减慢移位器的速度。