[go: up one dir, main page]

CN102253824A - 一种字节内比特数据混洗的方法 - Google Patents

一种字节内比特数据混洗的方法 Download PDF

Info

Publication number
CN102253824A
CN102253824A CN2010101743639A CN201010174363A CN102253824A CN 102253824 A CN102253824 A CN 102253824A CN 2010101743639 A CN2010101743639 A CN 2010101743639A CN 201010174363 A CN201010174363 A CN 201010174363A CN 102253824 A CN102253824 A CN 102253824A
Authority
CN
China
Prior art keywords
data
register
source
shuffled
positional number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010101743639A
Other languages
English (en)
Inventor
胡玉乐
王艳艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JIANGSU XINDONG SHENZHOU TECHNOLOGY CO LTD
Original Assignee
JIANGSU XINDONG SHENZHOU TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JIANGSU XINDONG SHENZHOU TECHNOLOGY CO LTD filed Critical JIANGSU XINDONG SHENZHOU TECHNOLOGY CO LTD
Priority to CN2010101743639A priority Critical patent/CN102253824A/zh
Publication of CN102253824A publication Critical patent/CN102253824A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种字节内比特数据混洗的方法,将待混洗字节数据存储进不少于2个源寄存器;将与配置寄存器能够存储的数据个数一样数量的待混洗字节数据所在的位置数存储进配置寄存器;逐个根据配置寄存器中的位置数对不少于2个源寄存器中的字节数据进行混洗。采用了本发明的技术方案,能够支持对一个源、两个源或者三个源混洗,支持多源混洗操作可减少多源数据重排应用中所需要的指令数量,提高处理器的执行速度,并且支持对目的寄存器中的部分数据进行保持、清零,而其他部分正常的接收混洗的数据,源寄存器中的数据保持不变。

Description

一种字节内比特数据混洗的方法
技术领域
本发明涉及微处理器技术领域,尤其涉及一种字节内比特数据混洗的方法。
背景技术
计算机系统已在当今社会中变得日益普遍,在过去10年的时间里,媒体应用驱动着微处理器的发展。事实上,近些年的多数计算升级都是由媒体应用驱动的,这些升级主要出现在消费者方面,尽管在用于娱乐增强教育和通信用途的企业方面也看到了显著的进步。然而未来的媒体将需要更高的计算要求,今后的个人计算体验在视听效果方面将更加丰富且更易于使用,更重要地是将计算将与通信合并在一起,因此用户通常期望和需要他们计算机的性能越来越高,因此处理器的数据并行处理变的尤其重要,对快速混洗的要求也越来越高。
随着通信技术的发展,快速字节内的比特间数据混洗应用越来越多。但目前并没有字节内混洗操作的技术方案。
发明内容
本发明的目的在于提出一种字节内比特数据混洗的方法,能够支持多个源的字节内比特数据混洗操作,从而提高处理器的执行速度。
为达此目的,本发明采用以下技术方案:
一种字节内比特数据混洗的方法,包括以下步骤:
A、将待混洗比特数据存储进不少于2个源寄存器;
B、将与配置寄存器能够存储的数据个数一样数量的待混洗比特数据所在的位置数存储进配置寄存器;
C、逐个根据配置寄存器中的位置数对不少于2个源寄存器中的比特数据进行混洗,如果位置数的高位为1,则将位置数对应的目的寄存器中位置处比特数据清零,如果位置数的高位为0,并且位置数大于或等于预设值,则位置数对应的目的寄存器中位置处比特数据保持不变,如果位置数的高位为0,并且位置数大于或者等于零,且小于预设值,则将位置数对应的目的寄存器中位置处比特数据改为位置数对应的源寄存器中位置处比特数据。
配置寄存器是矢量寄存器,源寄存器和目的寄存器是标量寄存器。
配置寄存器是256位寄存器,能够存储32个8比特的数据,源寄存器和目的寄存器是32位寄存器,能够存储32个1比特的数据。
预设值是0x3F。
采用了本发明的技术方案,能够支持对一个源或者多个源混洗,支持多源混洗操作可减少多源数据重排应用中所需要的指令数量,提高处理器的执行速度,并且支持对目的寄存器中的部分数据进行保持、清零,而其他部分正常的接收混洗的数据,源寄存器中的数据保持不变。
附图说明
图1是本发明具体实施方式中字节内比特数据混洗操作的示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
图1是本发明具体实施方式中字节内比特数据混洗操作的示意图。如图1所示,配置寄存器VR16是256位矢量寄存器,能够存储32个8比特的数据,两个源寄存器Rm和Rn和目的寄存器Rd是32位标量寄存器,能够存储32个1比特的数据。
首先,将待混洗比特数据存储进两个源寄存器Rm和Rn中,两个源寄存器Rm和Rn的数据合并在一起统一排序,位置用8比特数据表示。
其次,从两个源寄存器Rm和Rn的64个1比特待混洗数据中,选取与配置寄存器VR16能够存储的数据个数一样数量,即32个的待混洗比特数据在源寄存器中的位置数存储进配置寄存器VR16中,这32个的待混洗数据可以是重复选取的。
再次,逐个根据配置寄存器VR16中的位置数对源寄存器中的数据进行混洗,规则如下:
如果位置数的最高位为1,则将位置数对应的目的寄存器中位置处比特数据清零。比如配置寄存器VR16中存储的最后一个数据除最高位外的数据值无论是何值,如果该数据的最高位为1,则将目的寄存器Rd的最后一个数据中的比特数据清零。
如果位置数的最高位为0,并且除最高位外的数据值大于或等于预设值0x3F,则对应的目的寄存器中位置处比特数据保持不变。比如配置寄存器VR16中存储的第10个数据最高位为0,除最高位外的数据值是4E,4E就是指向源寄存器的位置数,并且大于或等于预设值0x3F,则将目的寄存器Rd的第10个位置中的比特数据保持不变。
如果位置数的高位为0,并且位置数大于或者等于零,且小于预设值0x3F,则将位置数对应的目的寄存器中位置处比特数据改为位置数对应的源寄存器中位置处比特数据。比如配置寄存器VR16中存储的第4个数据是3,3就是指向源寄存器的位置数,3的高位为0,并且大于零且小于预设值0x3F,则将目的寄存器Rd的第3个位置中的比特数据改为从源存储器Rm的第4个位置中取出的比特数据。
以此类推,配置寄存器VR16中存储的位置数对应的全部待混洗比特数据完成混洗后,整个数据混洗流程结束。
当然本具体实施方式中的源寄存器个数、预设值,以及源寄存器、配置寄存器和目的寄存器的存储空间都是可以根据具体需要进行调整的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (4)

1.一种字节内比特数据混洗的方法,其特征在于,包括以下步骤:
A、将待混洗比特数据存储进不少于2个源寄存器;
B、将与配置寄存器能够存储的数据个数一样数量的待混洗比特数据所在的位置数存储进配置寄存器;
C、逐个根据配置寄存器中的位置数对不少于2个源寄存器中的比特数据进行混洗,如果位置数的高位为1,则将位置数对应的目的寄存器中位置处比特数据清零,如果位置数的高位为0,并且位置数大于或等于预设值,则位置数对应的目的寄存器中位置处比特数据保持不变,如果位置数的高位为0,并且位置数大于或者等于零,且小于预设值,则将位置数对应的目的寄存器中位置处比特数据改为位置数对应的源寄存器中位置处比特数据。
2.根据权利要求1所述的一种字节内比特数据混洗的方法,其特征在于,配置寄存器是矢量寄存器,源寄存器和目的寄存器是标量寄存器。
3.根据权利要求2所述的一种字节内比特数据混洗的方法,其特征在于,配置寄存器是256位寄存器,能够存储32个8比特的数据,源寄存器和目的寄存器是32位寄存器,能够存储32个1比特的数据。
4.根据权利要求1所述的一种字节内比特数据混洗的方法,其特征在于,预设值是0x3F。
CN2010101743639A 2010-05-18 2010-05-18 一种字节内比特数据混洗的方法 Pending CN102253824A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101743639A CN102253824A (zh) 2010-05-18 2010-05-18 一种字节内比特数据混洗的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101743639A CN102253824A (zh) 2010-05-18 2010-05-18 一种字节内比特数据混洗的方法

Publications (1)

Publication Number Publication Date
CN102253824A true CN102253824A (zh) 2011-11-23

Family

ID=44981107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101743639A Pending CN102253824A (zh) 2010-05-18 2010-05-18 一种字节内比特数据混洗的方法

Country Status (1)

Country Link
CN (1) CN102253824A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106575217A (zh) * 2014-09-25 2017-04-19 英特尔公司 位置乱处理器、方法、系统和指令
CN106605206A (zh) * 2014-09-25 2017-04-26 英特尔公司 位组交织处理器、方法、系统及指令
GB2577890A (en) * 2018-10-08 2020-04-15 Advanced Risc Mach Ltd Data processing system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106575217A (zh) * 2014-09-25 2017-04-19 英特尔公司 位置乱处理器、方法、系统和指令
CN106605206A (zh) * 2014-09-25 2017-04-26 英特尔公司 位组交织处理器、方法、系统及指令
US10713044B2 (en) 2014-09-25 2020-07-14 Intel Corporation Bit shuffle processors, methods, systems, and instructions
CN106575217B (zh) * 2014-09-25 2024-01-30 英特尔公司 位置乱处理器、方法、系统和指令
GB2577890A (en) * 2018-10-08 2020-04-15 Advanced Risc Mach Ltd Data processing system
GB2577890B (en) * 2018-10-08 2021-03-10 Advanced Risc Mach Ltd Data processing with swizzle operation
US11188331B2 (en) 2018-10-08 2021-11-30 Arm Limited Processor instruction specifying indexed storage region holding control data for swizzle operation

Similar Documents

Publication Publication Date Title
US10552163B2 (en) Method and apparatus for efficient scheduling for asymmetrical execution units
US10831490B2 (en) Device and method for scheduling multiple thread groups on SIMD lanes upon divergence in a single thread group
CN107851014B (zh) 用于转换存储器与多个向量寄存器之间的多个数据结构的设备及方法
US10180856B2 (en) Method and apparatus to avoid deadlock during instruction scheduling using dynamic port remapping
JP2012194992A5 (ja) データ処理装置、プログラム、データ構造、データ処理システム、パケットデータ、記録媒体、記憶装置、データ処理方法、データ通信方法および命令セット
CN103164490B (zh) 一种不固定长度数据的高效存储实现方法和装置
JP2014500546A5 (zh)
GB2496934A (en) Multi-stage register renaming using dependency removal and renaming maps.
JP2016511470A5 (zh)
US20170031682A1 (en) Element size increasing instruction
ATE528715T1 (de) Controller mit direktzugriff zum speicher mit mehreren quellen, sowie entsprechendes verfahren und computerprogramm
Gruzdev et al. The complete chloroplast genome of parasitic flowering plant Monotropa hypopitys: extensive gene losses and size reduction
US9804853B2 (en) Apparatus and method for compressing instruction for VLIW processor, and apparatus and method for fetching instruction
CN102253824A (zh) 一种字节内比特数据混洗的方法
IL256440A (en) Operating particle size control array
WO2015017129A4 (en) Multi-threaded gpu pipeline
CN104035825A (zh) 跳转源列表处理方法、装置及编译器
GB2603653A (en) Instruction handling for accumulation of register results in a microprocessor
WO2008043287A1 (en) Configurable single instruction multiple data unit
WO2014100485A3 (en) Method for dispersing and collating i/o's from virtual machines for parallelization of i/o access and redundancy of storing virtual machine data
CN102253823A (zh) 一种数据混洗的方法
US20060288188A1 (en) Translating a string operation
US20110185150A1 (en) Low-Overhead Misalignment and Reformatting Support for SIMD
US8560811B2 (en) Lane crossing instruction selecting operand data bits conveyed from register via direct path and lane crossing path for execution
CN101593095B (zh) 基于流水级的数据处理方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
DD01 Delivery of document by public notice

Addressee: Jiangsu Xindong Shenzhou Technology Co.,Ltd.

Document name: Notification of Publication of the Application for Invention

DD01 Delivery of document by public notice

Addressee: Jiangsu Xindong Shenzhou Technology Co.,Ltd.

Document name: Notification of before Expiration of Request of Examination as to Substance

DD01 Delivery of document by public notice

Addressee: Jiangsu Xindong Shenzhou Technology Co.,Ltd.

Document name: Notification that Application Deemed to be Withdrawn

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111123