Download presentation
Presentation is loading. Please wait.
Published byEugenia Blankenship Modified over 8 years ago
1
PLX : Instruction Set Architecture Shih-Hsueh, Chang
2
Outline Introduction Instruction Set Architecture Datapath Scalability Predication ALU instructions Shift and Permute instructions Multiply instructions Other instructions Conclusion
3
Outline Introduction Instruction Set Architecture Datapath Scalability Predication ALU instructions Shift and Permute instructions Multiply instructions Other instructions Conclusion
4
Introduction (1/3) What's PLX? PLX is a small, general-purpose, subword- parallel instruction set architecture (ISA) designed at Princeton University, Department of Electrical Engineering.Princeton University Department of Electrical Engineering PLX is designed to be a simple yet high- performance ISA for multimedia information processing.
5
Introduction (2/3) PLX History In Fall 2001, design goals and architecture for PLX were specified by Prof. Ruby B. Lee of Princeton University.Prof. Ruby B. Lee PLX 0.1 was encoded, documented, and implemented as a project for the ELE-572 Class during Spring 2001 by Princeton graduates R. Adler '01 and G. Reis '01.
6
Introduction (3/3) PLX 1.1 was released in February 2002. The software toolset includes an assembler, a compiler, and a simulator. Currently PLX 1.2 is being maintained and developed by PALMS.
7
PLX 1.1 Toolset assembler - contains the asm script, which is the PLX assembler benchmarks - contains the PLX benchmarks written in PLX assembly and C build - initially empty, this is where the binary executable for the simulator is built compiler - source code for the PLX compiler (see the README and INSTALL files in this directory for how to install the compiler) scripts - Perl scripts used to automate the build process simulator - source code for the PLX simulator ISA - contains the PLX architecture definition vhdl - contains the VHDL model for a PLX processor
8
Outline Introduction Instruction Set Architecture Datapath Scalability Predication ALU instructions Shift and Permute instructions Multiply instructions Other instructions Conclusion
9
Instruction Set Architecture These ISAs exploit two properties of multimedia applications: Huge amounts of data parallelism Extensive use of low-precision data These two properties are exploited well by the use of subword parallelism.
10
Instruction Set Architecture Datapath is partitioned into multiple lower-precision segments called the subwords. All instructions are 32-bits long and subword sizes are 1, 2, 4 and 8 bytes.
11
Instruction Set Architecture The instructions operate in parallel on these subwords.
12
Instruction Set Architecture PLX instructions can be classified into three major groups : ALU instructions, shift and permute instructions, and multiply instructions.
13
Outline Introduction Instruction Set Architecture Datapath Scalability Predication ALU instructions Shift and Permute instructions Multiply instructions Other instructions Conclusion
14
Datapath Scalability PLX can be implemented as a 32-bit, 64-bit or 128-bit architecture without any changes to the ISA.
15
Outline Introduction Instruction Set Architecture Datapath Scalability Predication ALU instructions Shift and Permute instructions Multiply instructions Other instructions Conclusion
16
Predication All PLX instructions are predicated. Predicated reduces conditional branches. PLX has 128 1-bit predicate registers organized into 16 predicate register sets of 8 predicate registers each. The registers in this set are numbered P0 through P7.
17
Predication (cont.) The predicate registers P1 to P7 can be set and cleared using compare instructions (P0 is always true). Only one set is active at any time. Active set changed in software. Only 3 bits required per instruction.
18
Predication (cont.) Two types of compare instructions set the predicate registers in PLX.
19
Outline Introduction Instruction Set Architecture Datapath Scalability Predication ALU instructions Shift and Permute instructions Multiply instructions Other instructions Conclusion
20
ALU instructions
21
Saturation arithmetic 一般的算術運算在 overflow 的時候, 並沒有特 別的處理, 通常是直接將最左邊的一個 bit 丟 棄. 在多媒體的應用程式中,綠色加綠色,我們預 期他會變成深綠色。但是要是發生 overflow , 它可能變成很奇怪的顏色。 Saturation arithmetic, 使得綠色加綠色最多是 變成黑色,而不會變出什麼奇怪的顏色。
22
Low-cost multiplication Pshift [left|right] add instructions allow low-cost integer and fixed-point multiplication in the ALU without a separate multiplier.
23
pmax & pmin These instructions are very useful for sorting algorithms. pmax and pmin can perform a swap operation for multiple pairs of subwords in a single cycle.
24
PLX Allows Parallel Writing of Predicate Registers
25
Outline Introduction Instruction Set Architecture Datapath Scalability Predication ALU instructions Shift and Permute instructions Multiply instructions Other instructions Conclusion
26
Shift and Permute instructions
27
shift right pair Two source registers are concatenated and shifted right. useful for entities that span two registers. when the same register is used, the result is a rotation of that register.
28
Mix right/left Mix instructions are very useful for performing matrix transposition.
29
Matrix Transposition
30
permute The permute instruction works on 1-byte and 2-byte subwords, and performs a small set of carefully selected permutation primitives.
31
permute variable To use a second source register to specify the permutation control bits. To perform any arbitrary permutation of 1-byte or 2-byt subwords, with or without repetitions of any subword.
32
Outline Introduction Instruction Set Architecture Datapath Scalability Predication ALU instructions Shift and Permute instructions Multiply instructions Other instructions Conclusion
33
Multiply instructions
34
Pmultiply shift right right-shifts the products before writing the lower- order half of the bits to the destination register. allows selection of the desired 16-bits of each product. Pmultiply odd and pmultiply even only multiply the odd or even indexed subwords of the source registers produce full length products.
35
Outline Introduction Instruction Set Architecture Datapath Scalability Predication ALU instructions Shift and Permute instructions Multiply instructions Other instructions Conclusion
36
Other instructions PLX has load and store instructions for accessing memory. Program flow can be changed with jump instructions. This includes jump and link instructions for procedure calls. Conditional branches are achieved with predicated jump instructions.
37
Outline Introduction Instruction Set Architecture Predication Datapath Scalability ALU instructions Shift and Permute instructions Multiply instructions Other instructions Conclusion
38
Subword Parallelism Datapath Scalability Novel Definition of Predication Extended instructions for multimedia. Low cost and very high multimedia performance.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.