Introduction to 5685x Series

Slides:



Advertisements
Similar presentations
ITCS 3181 Logic and Computer Systems 2015 B. Wilkinson slides3.ppt Modification date: March 16, Addressing Modes The methods used in machine instructions.
Advertisements

© 2008 Wayne Wolf Overheads for Computers as Components 2nd ed. TI C55x instruction set C55x programming model. C55x assembly language. C55x memory organization.
Chapter 11 Instruction Sets: Addressing Modes and Formats HW: 11.4, 5, 13, 16 (Due 11/15)
Some material taken from Assembly Language for x86 Processors by Kip Irvine © Pearson Education, 2010 Slides revised 2/2/2014 by Patrick Kelley.
Module 10 Adapted By and Prepared James Tan © 2001.
CoE3DJ4 Digital Systems Design Chapter 3: instruction set summary.
Input-Output Organization
George W. Woodruff School of Mechanical Engineering, Georgia Tech ME4447/6405 ME 4447/6405 Microprocessor Control of Manufacturing Systems and Introduction.
Computer Organization
Addressing Modes MTT CPU08 Core Motorola CPU08 ADDRESSING MODES.
DIGITAL SIGNAL PROCESSORS. Von Neumann Architecture Computers to be programmed by codes residing in memory. Single Memory to store data and program.
Instruction Sets: Addressing modes and Formats Group #4  Eloy Reyes  Rafael Arevalo  Julio Hernandez  Humood Aljassar Computer Design EEL 4709c Prof:
Addressing Modes and Formats
Introduction to Microprocessors Chapter 3. Programming Model (8086)  Shows the various internal registers that are accessible to the programmer.
DSP C5000 Chapter 3 Addressing Modes Copyright © 2003 Texas Instruments. All rights reserved.
CPE 323 Introduction to Embedded Computer Systems: The MSP430X Architecture Instructor: Dr Aleksandar Milenkovic.
Memory Access Instructions Load and Store Addressing Modes Memory Addressing. Base addressing mode. Load byte and store byte: lb, lbu, sb Address alignment.
1 Contents: 3.1 Instruction format and Addressing Modes 3.2 Instruction Introduction Chapter 3 Instruction system.
Microprocessors I 8051 Addressing Modes CS Prof. Msc. Ivan A. Escobar
Displacement (Indexed) Stack
8051 Pin - out PORT 0 PORT 1 PORT 2 PORT 3.
CHAPTER ADDRESSING MODES.
ECE 3430 – Intro to Microcomputer Systems
Memory Access Instructions
A Closer Look at Instruction Set Architectures
ECE 3430 – Intro to Microcomputer Systems
ECE 3430 – Intro to Microcomputer Systems
Overheads for Computers as Components 2nd ed.
ADDRESSING MODES.
Alvaro Mauricio Peña Dariusz Niworowski Frank Rodriguez
A Closer Look at Instruction Set Architectures
ECE 3430 – Intro to Microcomputer Systems
8051 Addressing Modes The way, using which the data source or destination addresses are specified in the instruction mnemonic for moving the data, is.
ADDRESSING MODES.
William Stallings Computer Organization and Architecture 8th Edition
Computer Organization and Assembly Language (COAL)
CS-401 Assembly Language Programming
Instruction Formats Each instruction consists of two parts:
Subject Name: Digital Signal Processing Algorithms & Architecture
Introduction to Assembly Language
SCHOOL OF ELECTRONICS ENGINEERING Electronics and Communication
8086 Registers Module M14.2 Sections 9.2, 10.1.
Introduction to Micro Controllers & Embedded System Design Addressing Mode Department of Electrical & Computer Engineering Missouri University of Science.
Lecture 18 Interrupt 동국대학교 홍유표.
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Overview of Computer Architecture and Organization
ECEG-3202 Computer Architecture and Organization
8085 MICROPROCESSOR 8085 CPU Registers and Status Flags S Z AC P C A B
Introduction to Micro Controllers & Embedded System Design
Programming Examples.
CNET 315 Microprocessor & Assembly Language
A Closer Look at Instruction Set Architectures Chapter 5
Lecture 06 Programming language.
MARIE: An Introduction to a Simple Computer
LC-2: The Little Computer 2
Introduction to Microprocessor Programming
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
8051 ASSEMBLY LANGUAGE PROGRAMMING
Overheads for Computers as Components 2nd ed.
CPU Structure CPU must:
Information Representation: Machine Instructions
Addressing Modes in 8051 MC S. Lourduraj Asst. Prof. of Physics
Computer Operation 6/22/2019.
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
Introduction to 8086 Assembly Language
Computer Architecture and System Programming Laboratory
Part I Data Representation and 8086 Microprocessors
Presentation transcript:

Introduction to 5685x Series TMS320C5510 Addressing Modes Absolute Reference a location by supplying all or part of address as a constant in an instruction Direct Reference a location using a register and an address offset Indirect Reference a location using a pointer Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Absolute Addressing k16 absolute k23 absolute I/O absolute Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Absolute Addressing: k16 absolute Uses the operand *abs16(#k16), where k16 is a 16-bit unsigned constant DPH (7-bit high part of XDP register) and k16 concatenated to form the 23-bit data-space address Example: MOV *abs16(#2002h), T2 Address generated for DPH = 4 is: DPH:k16 = 04 2002h Note: the k16 constant is encoded in a 2-byte extension to the instruction. Instruction using absolute addressing cannot be executed in parallel. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Absolute Addressing: k23 absolute Uses the operand *(#k23), where k23 is a 23-bit unsigned constant specifying the 23-bit data-space address. Example: MOV *(#042002h), T2 Address generated is: k23 = 04 2002h Note: the k23 constant is encoded in a 3-byte extension to the instruction (MSB of 3-byte extension is discarded). Instruction using absolute addressing cannot be executed in parallel. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Absolute Addressing: I/O absolute Uses the operand port(#k16), where k16 is a 16-bit unsigned constant specifying the 16-bit I/O-space address. Example: MOV port(#2002h), T2 I/O address generated is: k16 = 2002h Note: the k16 constant is encoded in a 2-byte extension to the instruction. Instruction using absolute addressing cannot be executed in parallel. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Direct Addressing DP direct SP direct Register bit-direct PDP direct Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Direct Addressing: DP direct @ symbol used before specified address Uses the XDP (extended Data Page DPH:DP) register in addition to an offset to form the 23-bit address = DPH: (DP + Doffset) The most significant 7 bits of address are specified by the 7-bit DPH register to select one of the 128 data pages (0 to 127) The 16 least significant bits are sum of 2 values: 16-bit value in the DP (data page) register + 7-bit offset (Doffset) calculated by assembler. Calculation of 7-bit offset Doffset is different for a data memory and a memory mapped register. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Direct Addressing: DP direct Computation of Doffset for a data memory: Doffset = (Daddr - .dp) & 7Fh where Daddr is the specified 16-bit address in instruction .dp is a 16-bit value assigned with the .dp assembler directive (.dp is generally set to match DP). Example: AMOV #042002h, XDP .dp #2002h MOV @02003h, T2 Doffset = (2003h – 2002h) & 7Fh = 01h 23-bit address = DPH:(DP + Doffset) = 04:(2002h + 0001h) = 04 2003h Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Direct Addressing: DP direct Computation of Doffset for a memory mapped register: Doffset = Daddr & 7Fh where Daddr is the specified 16-bit address in instruction; .dp is not used The mmap() instruction qualifier forces the CPU to behave as if XDP = DPH: DP = 00 0000 Example for XDP = 03 FFF0h: MOV mmap(@AR0), T2 Doffset = Daddr & 7Fh = 0010h & 7Fh = 10h 23-bit address = DPH:(DP + Doffset) = 00:(0000h + 0010h) = 00 0010h Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Direct Addressing: DP direct Note: The addresses 00 0000h to 00 005Fh on the first data page are reserved for memory mapped register. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Direct Addressing: SP direct The XSP register in addition to a 7-bit offset is used to form the 23-bit address. 23-bit address = SPH: (SP + offset) where SPH gives the most significant 7 bits and (SP + offset) give the least significant 16 bits. Uses the operand *SP(offset), where offset is a 7-bit constant. Example for XSP = SPH:SP = 00 FF00h MOV *SP(2), T2 23-bit address = SPH:(SP + offset) = 00:(FF00h + 0002h) = 00 FF02h Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Direct Addressing: Register-bit direct Used to access one register bit or two adjacent register bits in the accumulators (AC0 to AC3), auxiliary registers (AR0 to AR7), and temporary registers (T0 to T3). Uses an offset @bitoffset to specify a bit address as an offset from the LSB of the considered register. Example: BSET @1, AC0 The CPU sets bit 1 of AC0 Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Direct Addressing: PDP direct Used to access a location in I/O space using the port(@Poffset) operand in the instruction. Uses the 9-bit PDP (Peripheral Data Page) register and the 7-bit offset (Poffset) to specify the 16-bit I/O address: 16-bit I/O address = PDP: Poffset The 9-bit PDP register selects one of 512 peripheral data pages (0 to 511); each page is 128 words (0 to 127). Within a selected page, the 7-bit offset selects a word. Example for PDP = 004h: MOV port(@02h), T2 16-bit I/O address: 0202h = 0000 0010 0000 0010 Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing AR indirect Dual AR indirect CPD indirect Coefficient indirect Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: AR indirect Uses one of the auxiliary registers (AR0-AR7) to point to data. Address generation depends on whether one is accessing data space (memory or mmr), register bits, or I/O space. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: AR indirect Accessing Data Space (memory or registers): 23-bit address = ARnH: ARn where ARnH is the high part of XARn = ARnH: ARn and supplies the 7 most significant bits, and ARn supplies the 16 least significant bits Example: MOV *AR0, T2 23-bit address = AR0H: AR0 = XAR0 The CPU reads the value at address XAR0 and loads it into T2. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: AR indirect Accessing a register bit: The selected 16-bit ARn register contains a bit number Example for AR2 = 30: BSET *AR2, AC2 The CPU sets bit 30 of AC2. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: AR indirect Accessing I/O space: The selected 16-bit ARn register contains the complete 16-bit I/O address. Example for AR2 = 0080h: MOV port(*AR2), T2 The CPU reads the value at I/O address 0080h and loads it in T2. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: Dual AR indirect Used to make two data-memory accesses through AR0-AR7. As in AR indirect, extended registers XARn used to generate each 23-bit address. Example 1: Two data-memory accesses ADD *AR0, *AR1, AC0 Example 2: Two instructions in parallel MOV *AR1, T2 || AND *AR2, T1, AC0 Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: CDP indirect Uses the CDP (Coefficient Data Pointer) to point to data. The generation of 23-bit address depends on the access type: data space, register bit, or I/O space. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: CDP indirect Data Space Access (memory or registers): 23-bit address = CDPH: CDP where CDPH is the high part of the extended coefficient data pointer (XCDP = CDPH:CDP) and supplies the 7 MSB of 23-bit address, and CDP supplied the 16 LSB of 23-bit address. Example 1: MOV *CDP, T1 23-bit address = CDPH:CDP = XCDP Example 2: MOV *CDP+, T2 Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: CDP indirect Register Bits: CDP is used to access a register bit CDP contains the bit number Example: BSET *CDP, AC0 Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: CDP indirect I/O Space: The CDP contains the complete 16-bit I/O address. Example: MOV port(*CDP), T2 Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: Coefficient indirect Same address generation as CDP indirect. This mode is mainly used with instructions performing operations on three memory operands per cycle. Two of the operands are accessed using the dual AR indirect addressing mode Third operand is accessed using the coefficient indirect mode Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: Coefficient indirect Example: MPY *AR1, *CDP, AC0 :: MPY *AR2, *CDP, AC1 The values pointed to by AR1, AR2 and CDP are accessed in one cycle. Introduction to 5685x Series Thursday, May 09, 2019

Introduction to 5685x Series TMS320C5510 Addressing Modes Indirect Addressing: pointer operations Both pointer modification and address generation are linear or circular according to the pointer (register) configuration in status register ST2_55. All additions to and subtractions from the pointers are done modulo 64K. One cannot address data across main data pages without changing the value of ARnH of XARn. Introduction to 5685x Series Thursday, May 09, 2019