Feb 12, 2004Tiger SHARC Memory Operations REV B 1 of 17 ENEL619.23 DSP Architectures Tiger SHARC Memory Operations.

Slides:



Advertisements
Similar presentations
8086 Ahad.
Advertisements

Computer Architecture
Computer Organization, Bus Structure
Lecture 6 Programming the TMS320C6x Family of DSPs.
INSTRUCTION SET ARCHITECTURES
Processor Architecture Needed to handle FFT algoarithm M. Smith.
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.
Processor Function Topic 3.
DAT2343 Comparison of The LMC and General Computer Models © Alan T. Pinck / Algonquin College; 2003.
Computer Organization. This module surveys the physical resources of a computer system. –Basic components CPUMemoryBus I/O devices –CPU structure Registers.
Lecture 5: Decision and Control CS 2011 Fall 2014, Dr. Rozier.
Software and Hardware Circular Buffer Operations First presented in ENCM There are 3 earlier lectures that are useful for midterm review. M. R.
Execution of an instruction
Memory - Registers Instruction Sets
1 SHARC ‘S’uper ‘H’arvard ‘ARC’hitecture Nagendra Doddapaneni ER hit HAR ect VARD ure SUP Arc.
Alyssa Concha Microprocessors Final Project ADSP – SHARC Digital Signal Processor.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Chapters 5 - The LC-3 LC-3 Computer Architecture Memory Map
TigerSHARC processor General Overview. 6/28/2015 TigerSHARC processor, M. Smith, ECE, University of Calgary, Canada 2 Concepts tackled Introduction to.
Jan 28, 2004Blackfin Compute Unit REV B ENEL DSP Architectures BlackFin Compute Unit.
Overview von Neumann Model Components of a Computer Some Computer Organization Models The Computer Bus An Example Organization: The LC-3.
Computer Organization Computer Organization & Assembly Language: Module 2.
Processor Architecture Needed to handle FFT algoarithm M. Smith.
Computer Architecture and the Fetch-Execute Cycle
Stack Stack Pointer A stack is a means of storing data that works on a ‘Last in first out’ (LIFO) basis. It reverses the order that data arrives and is.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
4-1 Section 3 Data Address Generators (DAGs) DSP 技术与应用.
Cis303a_chapt04.ppt Chapter 4 Processor Technology and Architecture Internal Components CPU Operation (internal components) Control Unit Move data and.
Execution of an instruction
Microprocessors The ia32 User Instruction Set Jan 31st, 2002.
Overview of Super-Harvard Architecture (SHARC) Daniel GlickDaniel Glick – May 15, 2002 for V (Dewar)
Computer Architecture Lecture 03 Fasih ur Rehman.
DIGITAL SIGNAL PROCESSORS. Von Neumann Architecture Computers to be programmed by codes residing in memory. Single Memory to store data and program.
Overview von Neumann Architecture Computer component Computer function
Intel 8086 (8088) Microprocessor Structure
October 1, 2003Serguei A. Mokhov, 1 SOEN228, Winter 2003 Revision 1.2 Date: October 25, 2003.
Picoblaze Overview EENG Introduction 8-bit microcontroller for Xilinx devices Soft Core – Soft Processor 5% of the resources of spartan 3 (3S200.
CS61C L20 Datapath © UC Regents 1 Microprocessor James Tan Adapted from D. Patterson’s CS61C Copyright 2000.
ECE 447 Fall 2009 Lecture 4: TI MSP430 Architecture and Instruction Set.
Elements of Datapath for the fetch and increment The first element we need: a memory unit to store the instructions of a program and supply instructions.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
Computer Organization Instructions Language of The Computer (MIPS) 2.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
I NTEL 8086 M icroprocessor بسم الله الرحمن الرحيم 1.
Lecture 6: Decision and Control CS 2011 Spring 2016, Dr. Rozier.
DSP Processor
Embedded Systems Design
Subject Name: Digital Signal Processing Algorithms & Architecture
CS/COE0447 Computer Organization & Assembly Language
Software and Hardware Circular Buffer Operations
TigerSHARC processor General Overview.
MISP Assembly.
Overview of SHARC processor ADSP and ADSP-21065L
Trying to avoid pipeline delays
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Architecture Overview
Overview of TigerSHARC processor ADSP-TS101 Compute Operations
Unit 12 CPU Design & Programming
MIPS Assembly.
General Optimization Issues
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
MIPS Assembly.
Overview of SHARC processor ADSP-2106X Memory Operations
Understanding the TigerSHARC ALU pipeline
ADSP 21065L.
* M. R. Smith 07/16/96 This presentation will probably involve audience discussion, which will create action items. Use PowerPoint.
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Feb 12, 2004Tiger SHARC Memory Operations REV B 1 of 17 ENEL DSP Architectures Tiger SHARC Memory Operations

Feb 12, 2004Tiger SHARC Memory Operations REV B 2 of 17 Overview Architecture Overview IALU Features Data addressing Normal, broadcast, merged distribution Circular buffers DAB Bit reversing Parallel instructions

Feb 12, 2004Tiger SHARC Memory Operations REV B 3 of 17 References ADSP-TS101 TigerSHARC Processor Programming Reference, Rev 1, January 2003, Analog Devices. – Sections 1 and 6 A number of the figures in this presentation are based on figures found in the ADSP- TS101 TigerSHARC Processor Programming Reference.

Feb 12, 2004Tiger SHARC Memory Operations REV B 4 of 17 Architecture Overview X Register File 32 x 32 bit Y Register File 32 x 32 bit Y Compute Block X Compute Block DMA and Link Controllers SDRAM Controller & External Port Interfaces Access to program and two data operands without memory or bus constraints.

Feb 12, 2004Tiger SHARC Memory Operations REV B 5 of 17 IALU Features bit general registers + 1 status register + 8 dedicated registers for circular buffers Performs integer ALU operations and data addressing ALU instructions: ADD, SUB, ARS, LRS (right shifts only), ROT (left and right), AND NOT, NOT, OR, XOR, ABS, MIN, MAX, CMP Status flags: zero (Z), negative (N), overflow (V), carry (C) Instruction conditions: EQ, LT, LE, NEQ, NLT, NLE Instruction options: unsigned (U), circular buffer (CB), bit reverse (BR), computed jump (CJMP) Address related operations: data address generation, circular buffers, bit reverse, UREG moves, DAB control.

Feb 12, 2004Tiger SHARC Memory Operations REV B 6 of 17 Indirect Loads and Stores Absolute: –Immediate:XR0 = [0x34FFFFFC];; –Register + optional immediate or register update: XR0 = [J0];; XR0 = [J0 += 0x4];; XR0 = [J0 += J1];; Relative offset: –Immediate offsetXR0 = [J0 + 0x34FFFFFC];; –Register offsetXR0 = [J0+J1];;

Feb 12, 2004Tiger SHARC Memory Operations REV B 7 of 17 Immediate Extension Operations Provides capability for 32 bit immediate operands. Assembler automatically uses 2 nd instruction slot (programmer must only use 3 of the 4 instruction slots) Requires the instruction with immediate extension to be in the 1 st slot Example: XR0 = [0x34FFFFFC]; K2=[K1+1]; YR0 = YR1 +YR2;; Only 1 immediate extension allowed per instruction line Don’t have to use 32 bit immediate. An 8 bit immediate will fit into the 32 bit instruction. (15 bit immediate for Ureg direct load instructions)

Feb 12, 2004Tiger SHARC Memory Operations REV B 8 of 17 Normal, Broadcast, Merged Distribution NORMALBROADCASTMERGED SINGLE XRs = [Jm]XYRs = [Jm]XYRs = L[Jm] DUAL XRsd = L[Jm]XYRsd = L[Jm]XYRsd = Q[Jm] QUAD XRsq = Q[Jm]XYRsq = Q[Jm]

Feb 12, 2004Tiger SHARC Memory Operations REV B 9 of 17 Word DAB First access loads in nearest quad boundary Second access loads in correct value J1 = 0x

Feb 12, 2004Tiger SHARC Memory Operations REV B 10 of 17 Short Word DAB Can realign on 16 bit boundaries J0 = ADDRESS(iaInput);; J0 = J0 +5; XR3:0 = SDAB Q[J0 += 8];;

Feb 12, 2004Tiger SHARC Memory Operations REV B 11 of 17 Circular Buffers Implemented with index, modify, length and base registers Index registers must be from J3~J0 or K3 ~ K0 Modify register can be any register in the same IALU Length and base registers are dedicated registers JL3 ~ JL0 and JB3 ~ JB0 respectively.

Feb 12, 2004Tiger SHARC Memory Operations REV B 12 of 17 Circular Buffer Code Example JL = 0;; JB = 0x34FFFFC0; // need 4 cycle latency J0 = 0x34FFFFC0; // before using JL or JB J1 = 1; NOP XR0 = CB [J0 += J1];; XR1 = CB [J0 += J1];; XR2 = CB [J0 += J1];; XR3 = CB [J0 += J1];;// J0 = JB after this instr.

Feb 12, 2004Tiger SHARC Memory Operations REV B 13 of 17 Bit Reverse.section data1.var intput[8] = {0, 1, 2, 3, 4, 5, 6, 7};.section program J0 = ADDRESS(input); XR0 = BR[J0 += 0x2121] /* If we assume that “input” is located at 0x0200A5A5 then Data is loaded from 0x Instead of 0x0200C6C6

Feb 12, 2004Tiger SHARC Memory Operations REV B 14 of 17 IALU Instructions ALU Instructions Ureg indirect register load Dreg indirect register load and DAB opsUreg register transfer Ureg indirect register stores Dreg indirect register stores

Feb 12, 2004Tiger SHARC Memory Operations REV B 15 of 17 Parallel Instructions A couple of examples of restrictions from the over 20 restrictions that apply to IALU instructions: –Loading from and storing to the same register in the same instruction line gives unpredictable results –A line of instructions can contain at most 1 load immediate data to register or 1 Ureg to Ureg transfer Details of restrictions can be found on pages 1-36 to 1-46 of the TigerSHARC Programming Reference Resource tables on 1–29 to 1–35 can help sort out resource restrictions for a single instruction line Consider the following instruction: [J0+J4] = XR1; [K8+=k9]=XR3;;

Feb 12, 2004Tiger SHARC Memory Operations REV B 16 of 17 [J0+J4] = XR1; [K8+=k9]=XR3;;

Feb 12, 2004Tiger SHARC Memory Operations REV B 17 of 17 [J0+J4] = XR1; [K8+=k9]=XR3;;