CN102253824A - 一种字节内比特数据混洗的方法 - Google Patents
一种字节内比特数据混洗的方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 13
- 241001269238 Data Species 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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。
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)
| 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 |
-
2010
- 2010-05-18 CN CN2010101743639A patent/CN102253824A/zh active Pending
Cited By (7)
| 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 |