Jan 28, 2004Blackfin Compute Unit REV B ENEL619.23 DSP Architectures BlackFin Compute Unit.

Slides:



Advertisements
Similar presentations
Chapter 2: Data Manipulation
Advertisements

Computer Organization, Bus Structure
DSPs Vs General Purpose Microprocessors
There are two types of addressing schemes:
Jan 28, 2004Blackfin Compute Unit REV B A comparison of DSP Architectures BlackFin ADSP-BFXXX Compute Unit Based on a ENEL white paper prepared by.
Real time DSP Professors: Eng. Julian S. Bruno Eng. Jerónimo F. Atencio Sr. Lucio Martinez Garbino.
Overview of Popular DSP Architectures: TI, ADI, Motorola R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
Blackfin ADSP Versus Sharc ADSP-21061
Specialized Video (8-bit) and Vector (16-bit) Instructions on the Blackfin There is always a “MAKE-UP-YOUR-QUESTION-AND-ANSWER-IT” Question on a Dr. Smith.
Specialized Video (8-bit) and Vector (16-bit) Instructions on the Blackfin Expand on these ideas for Q9 question and answer on the final.
1 ALUs. 2 Topics: ALU Overview - core of the integer datapath - 2 operands, 32-bits wide, plus control signals Exercise: A simple multiplier.
Instruction Set Architecture & Design
361 div.1 Computer Architecture ECE 361 Lecture 7: ALU Design : Division.
Chapter 7. Register Transfer and Computer Operations
1 SHARC ‘S’uper ‘H’arvard ‘ARC’hitecture Nagendra Doddapaneni ER hit HAR ect VARD ure SUP Arc.
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
ARM programmer’s model and assembler Embedded Systems Programming.
1 Lecture 4: Arithmetic for Computers (Part 4) CS 447 Jason Bakos.
Computer Architecture
Embedded Systems: Hardware Computer Processor Basics ISA (Instruction Set Architecture) RTL (Register Transfer Language) Main reference: Peckol, Chapter.
Feb 12, 2004Tiger SHARC Memory Operations REV B 1 of 17 ENEL DSP Architectures Tiger SHARC Memory Operations.
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
Real time DSP Professors: Eng. Julian Bruno Eng. Mariano Llamedo Soria.
07/19/2005 Arithmetic / Logic Unit – ALU Design Presentation F CSE : Introduction to Computer Architecture Slides by Gojko Babić.
Fall EE 333 Lillevik 333f06-l7 University of Portland School of Engineering Computer Organization Lecture 7 ALU design MIPS data path.
COSC 3430 L08 Basic MIPS Architecture.1 COSC 3430 Computer Architecture Lecture 08 Processors Single cycle Datapath PH 3: Sections
Department of Computer Science and Software Engineering
05/03/2009CA&O Lecture 8,9,10 By Engr. Umbreen sabir1 Computer Arithmetic Computer Engineering Department.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
Lecture notes Reading: Section 3.4, 3.5, 3.6 Multiplication
CDA 3101 Fall 2013 Introduction to Computer Organization The Arithmetic Logic Unit (ALU) and MIPS ALU Support 20 September 2013.
Digital Signal Processors (DSPs). DSP Advanced signal processor circuits MAC (Multiply and Accumulate) unit (s) - provides fast multiplication of two.
CPU The Central Processing Unit (CPU), has 3 main parts: Control Unit Arithmetic and Logic Unit Registers. These components are connected to the rest.
What is a program? A sequence of steps
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Arithmetic Intro Computer Organization 1 Computer Science Dept Va Tech February 2008 © McQuain Multiplication Design 1.0 Multiplicand Shift left.
ARM Shifts, Multiplies & Divide??. MVN Pseudo Instructions Pseudo Intruction: Supported by assembler, not be hardware.
Computer Architecture & Operations I
Seminar On 8085 microprocessor
Single Cycle CPU.
Computer Architecture & Operations I
Introduction to 8086 Microprocessor
Chap 7. Register Transfers and Datapaths
Embedded Systems Design
/ Computer Architecture and Design
Morgan Kaufmann Publishers
CDA 3101 Summer 2007 Introduction to Computer Organization
The University of Adelaide, School of Computer Science
Microcomputer Systems 1
Subject Name: Digital Signal Processing Algorithms & Architecture
Introduction to Assembly Language
Computer Architecture & Operations I
DMA example Video image manipulation
Computer Architecture and Design Lecture 6
MICROPROCESSORS Dr. Hugh Blanton ENTC 4337.
Overview of TigerSHARC processor ADSP-TS101 Compute Operations
Expand on these ideas for Q9 question and answer on the final
The ARM Instruction Set
Branching instructions
DMA example Video image manipulation
ARM Introduction.
The Processor.
Overview of SHARC processor ADSP-2106X Compute Operations
Computer Architecture
Multiply Instructions
Computer Architecture Assembly Language
MICROCONTROLLERS AND EMBEDDED SYSTEMS Unit – 4 : ARM / Thumb Instruction set GEC
COMS 361 Computer Organization
Presentation transcript:

Jan 28, 2004Blackfin Compute Unit REV B ENEL DSP Architectures BlackFin Compute Unit

Jan 28, 2004Blackfin Compute Unit REV B Overview Architecture Overview Register Map ALU features and sample instructions Multiplier features and sample instructions Shifter features and sample instructions

Jan 28, 2004Blackfin Compute Unit REV B References ADSP-BF535 Blackfin Processor Hardware Reference, Rev 2, April 2004, Analog Devices. – Section 2 Blackfin Processor Instruction Set Reference, Rev 2, May 2003, Analog Devices. – Sections 8 ~ 10, 14 & 15 A number of the figures in this presentation are based on figures found in the ADSP-BF535 Blackfin Processor Hardware Reference.

Jan 28, 2004Blackfin Compute Unit REV B Compute Unit Architecture 2 Mulitpliers 2 ALUs 1 set of Video ALUs 1 Shifter Register File

Jan 28, 2004Blackfin Compute Unit REV B Register File 8 x 32 bit OR 16 x 16 bit 2 x 40 bit accumulators DATA REGISTER SYNTAX: R0, R1 etc refer to 32 bit registers R0.L refers to the low 16 bits of the R0 32 bit reg R0.H refers to the high 16 bits of the R0 register ACCUMULATOR SYNTAX: A0.L => low 16 bits A0.H => next 16 bits A0.W => least significant 32 bit word A0.X => MS 8 bit extension

Jan 28, 2004Blackfin Compute Unit REV B ALU Data FLow 2 x 32 bit paths to dual Multiplier/ALU units 2 x 32 bit paths back to register file

Jan 28, 2004Blackfin Compute Unit REV B ALU Features Dual 16 bit OPS: Can be : Single 16 bit OPS: Single 32 bit OPS: 31 Rm Rp Rn Rm Rp Rn Dual 16 bit Cross:

Jan 28, 2004Blackfin Compute Unit REV B ALU Sample Instructions Single 16 bit ops:Dual 16 bit ops: Quad 16 bit ops: ABABDC Single 32 bit ops: Dual 32 bit ops: A & B registers must stay on the same side of the ‘|’ for both Instructions For dual and quad 16 bit operations the (CO) option causes the destination registers to cross Operator order is important + must come before - Does not work Must have this option

Jan 28, 2004Blackfin Compute Unit REV B Multiply Data Flow 2 x 32 bit paths to dual Multiplier/ALU units 2 x 32 bit paths back to register file 2 x 40 bit accumulator Multiplier share the same operand/result buses as the ALU

Jan 28, 2004Blackfin Compute Unit REV B Multiply Features HH HL LH LL Multiplies are signed fractional by default Signed fractional multiply result is automatically left shifted 1 bit. Signed fractional multiply != signed integer multiply Rounding available on fractional number multiplies and special option of integer number multiplies

Jan 28, 2004Blackfin Compute Unit REV B Rounding 2 cases: 0x Rd top 16 bits go to destination register 31 Rm 31 Rp 0x Rd top 16 bits go to destination register 32 bit result Rounding adds 0x8000 to the 32 bit multiplier result or accumulator value before extracting a 16 bit value to the destination register

Jan 28, 2004Blackfin Compute Unit REV B Fractional Multiply When extracting a 16 bit fractional value from an accumulator the high 16 bits is taken Where in the destination register it goes depends on which accumulator is being extracted from Fractional Multiply != Integer Multiply Fractional Multiply != Integer Multiply

Jan 28, 2004Blackfin Compute Unit REV B Integer Multiply When extracting a 16 bit integer value from an accumulator the low 16 bits is taken. Where in the destination register the 16 bit value goes depends on which accumulator is being extracted from Fractional Multiply != Integer Multiply

Jan 28, 2004Blackfin Compute Unit REV B Multiply Sample Instructions 16 bit extraction from ACC 016 bit extraction from ACC 1 32 bit extraction A1 += R1.H * R2.L, A0 += R1.L * R2.L; R3.H = (A1 += R1.H * R2.L), R3.L = (A0 += R1.L * R2.L); Any combination of.H and.L in the 2 operands is allowed R3 = (A1 += R1.H*R2.L), R2 = (A0 += R1.L * R2.L); Where destination registers must be paired as follows: R[1,0], R[3,2], R[5,4] and R[7,6] R3.H = (A1 += R1.H * R2.L), A0 += R1.L * R2.L; Multi-issue MAC Instruction Examples

Jan 28, 2004Blackfin Compute Unit REV B Shifter Sample Instructions 2 operator Register shifts 2 operator Immediate shifts 3 op Reg shift 3 op Immediate shift Arithmetic shift

Jan 28, 2004Blackfin Compute Unit REV B Parallel Instruction Examples In general there are 16 and 32 bit versions of the arithmetic instructions Most of the 32 bit instructions can be executed in parallel with 2 x 16 bit memory/index operations Exceptions are DIVS, DIVQ and MULTIPLY with 32 bit operands || means parallel Examples: –A1=R2.L*R1.L,A0=R2.H*R1.H||R2.H=W[I2++] || [I3++]=R3;\ –R2=R2+|+R4, R4=R2-|-R4 || I0+=M0||R1=[I0];