Exercise 3-1. The Program Controller EXERCISE OBJECTIVES
|
|
- Abraham Robertson
- 6 years ago
- Views:
Transcription
1 Exercise 3-1 The Program Controller EXERCISE OBJECTIVES Upon completion of this exercise, you will be familiar with the function of the hardware and software features that digital signal processors have evolved to handle program control. DISCUSSION All digital signal processors, and for that matter general-purpose processors, have a specialized unit dedicated to executing the current instruction and determining the next instruction to execute. Within the TMS320C50 DSP ('C50), the unit is known as the Program Controller. DSP Program Controllers have evolved efficient hardware features to rapidly execute instructions. Program controller hardware is said to have low-overhead (zero-overhead). The Program Controller decodes instructions, manages the pipeline, stores the central processing unit (CPU) status, and decodes conditional operations. 3-7
2 The following software mechanisms are managed by a DSP Program Controller. branch subroutine reset interrupt repeat conditional processing The software mechanisms listed above, though not unique to all digital signal processors, are used for program control. By using these software mechanisms a DSP programmer is in fact, using specialized hardware features that belong to the Program Controller. The specialized hardware in question can be categorized as follows: Program Counter register stack support repeat counters program counter-related hardware status registers The Program Counter register (often abbreviated PC register) holds the program memory address of the next instruction to be fetched and executed by the program controller. The content of the program counter is updated every instruction cycle. Depending on the previous instruction executed, the surrounding hardware (the program counter-related hardware) usually increments the program counter by one. In certain cases, the program controller is loaded with an entirely different program memory address. 3-8
3 These cases occur when the previous instruction executed was a program control instruction, such as a call, a return from subroutine, or an interrupt service routine (ISR). Digital signal processors use stacks to save and return address and status information during subroutines and interrupt service routines (ISR). A stack can consist of any memory device. Most often DSPs provide at least one of three kinds of stack support: A stack can consist of any memory device. Most often DSPs provide at least one of three kinds of stack support: shadow registers 3-9
4 A stack can consist of any memory device. Most often DSPs provide at least one of three kinds of stack support: hardware stack software stack Every time that an interrupt is executed an interrupt context save is initiated. The content of key DSP registers are saved to their respective backup registers (shadow registers). The values in the copied registers are still available to the interrupt service routine (ISR) code but after context save they are protected while held in the shadow registers. The shadow registers are copied back to the CPU registers when the return from subroutine instruction is given. Context save and restore is automatic and reduces DSP ISR overhead; The programmer avoids including the save and restore operations as instructions in the ISR code. The hardware stack is used during interrupts and subroutines to save and restore the content of the Program Counter register. The programmer usually does not have control over the hardware stack. The hardware stack is not used except invisibly during subroutine calls, interrupt service routines and repeat instructions. When a subroutine is called, an interrupt occurs or a repeat is executed, the current contents of the Program Counter register (the return address) is automatically saved to the stack (pushed on to the stack). When a return operation occurs, the return address is retrieved from the stack (popped from the stack) and loaded into the Program Counter. The key advantage of a software stack over a hardware stack is that its depth can be configured by the programmer. This can be done by simply reserving an appropriately sized section of memory. Hardware stacks, in contrast, are usually fairly shallow and the programmer must carefully guard against stack overflow (by avoiding nesting of too many interrupts or subroutines). Which of the following types of stacks is used by DSPs during an interrupt context save? a. software stack b. hardware stack c. interrupt service routine d. shadow register DSP algorithms frequently involve the repetitive execution of a small number of instructions. Such operations are required in FIR and IIR filters, FFT and matrix multiplication algorithms (these are different types of signal processing operations). 3-10
5 To eliminate looping overhead in DSPs, Program Controllers have been designed with circuits capable of repetitively executing a small number of instructions. The operation they perform is often called hardware looping. The following registers in the 'C50 are used by hardware loops. The Program Counter acts as the instruction cache that stores the instruction to be repeated during single-instruction hardware looping. The RePeaT Counter register holds the count on the number of times the instruction held in the instruction cache must be repeated during single-instruction hardware looping. The multiple-instruction hardware looping registers used in the 'C50 (BRCR, PASR, and PAER) are used for control and status of the hardware loop. Hardware loops, as opposed to software loops, lose no time incrementing or decrementing an index. Example: Difference in the overhead required for a software and a hardware loop. B = 16 RPT #16 LOOP: MAC H0, X0 MAC H0, X0 B = B - 1 Branch to LOOP The above examples implement an FIR filter. The one on the left uses a software loop and the one on the right uses a hardware loop (done using the RPT instruction). The hardware loop executes the RPT instruction only once and then automatically repeats 16 times the multiply and accumulate instruction. Hardware looping overhead is reduced compared with software looping overhead. 3-11
6 The hardware loop, in this example, executes a single-instruction several times. It is a single-instruction hardware loop. During a single-instruction hardware loop, after the repeat (RPT) instruction is executed: The microcode instruction to be repeated is loaded into the instruction cache (PC register), and a counter (RPTC) is loaded with the value of the number of times the instruction is to be repeated. During the loop, the Program Counter acting as the instruction cache supplies to the Program Controller, the instruction to be executed. Many instructions that take two or more cycles to execute will only take one when executed from within a hardware loop that uses an instruction cache. All DSPs use instruction caches (that are 1-word deep) to implement singleinstruction hardware loops, however, not all DSPs use multi-word instruction caches to implement multi-instruction hardware loops. Multi-instruction hardware loops that don't use an instruction cache must re-read the instructions being repeated each time the processor (Program Controller) proceeds through the loop. By not using an instruction cache and needing to re-read repeated instructions, the program bus cannot be freed. This means that instructions that execute more rapidly in single-instruction hardware loops won't in multi-instruction hardware loops without instruction caches. 3-12
7 Based on your current knowledge of hardware loops which of the following is true? a. Multi-instruction loops are limited by the number of instructions that can be repeated. b. Single-instruction and multi-instruction loops are often limited by the minimum number of times that a loop can be repeated. c. Single-instruction and multi-instruction loops are often limited by the maximum number of times that a loop can be repeated. d. All of the above. Hardware loops have certain limitations associated with them that are not necessarily associated with software loops. & The number of instructions repeated in multi-instruction loops might be limited by a maximum value. & The minimum and the maximum number of times a loop can be repeated for both single- and multi-instruction loops might also be limited. The fallbacks of traditional software approaches to repeated instruction execution, however, are that: & Branch instructions typically require several instruction cycles to execute. The processor must usually use a register to maintain the loop index, which is the count of the number of times the instruction(s) to be repeated must still be executed. & The processor data path must then be used to increment or decrement the index and test to see if the loop condition has been met. To avoid these problems, DSP processors have evolved special hardware control constructs that repeat either a single instruction or a group of instructions a number of times. 3-13
8 As stated, the primary role of the Program Controller is to determine the next instruction to be executed. Interrupts are used to signal to a processor both external (a push-button is pressed) and internal (a word is received through the serial port) events. All DSPs use interrupts and most use interrupts as their primary means of communicating with peripherals. An interrupt is an external event that causes the processor to stop executing its current program and to branch to a special block of code called an interrupt service routine (ISR). The ISR code, once called, typically deals with the source of the data that signaled the interrupt. E.g., if a word is received through the serial port, an interrupt is signaled. The ISR will execute the necessary code to process the word. Once an interrupt is signaled to the Program Controller, a branch instruction is executed and the Program Counter is loaded with the pma of a special block of code (often called an interrupt vector). Interrupts can be disabled. In fact, this occurs during DSP initialization, ISRs, and single-instruction hardware loops. It is the Program Controller that disables interrupts for the duration of singleinstruction hardware loop execution. A direct consequence of this inability to access an interrupt is that a programmer must carefully consider the maximum interrupt lockout-time that can be accepted. 3-14
9 Most processors, including DSPs, sample the status of the interrupt lines every instruction cycle. The processor uses status registers to signal interrupts (once sampled) and other information to the Program Controller. From the previous discussion and procedure sections in this manual you have become acquainted with a few of the status and control registers of the TMS320C50 DSP. Though, not all DSPs can be said to have the same number of status and control registers, it is true that all DSPs do contain these types of registers. Many of the registers used by the 'C50 Program Controller and CPU have equivalent counterparts in other DSPs. PROCEDURE Software Program Control In this procedure section, you will assemble a program using individual pieces of pre-programmed source code. * 1. Open the ex3_1.asm file with an ASCII text editor. * 2. Briefly familiarize yourself with the contents of the file. The ex3_1.asm file is an incomplete DSP program source file. It contains pieces of code (mostly subroutines and ISRs) that must be joined together with missing source statements. Once the source file is completed and compiled the DSP circuit will be able to be used as an audio effects generator. 3-15
10 The memory initialization directives (.ds and.ps) for the audio effects generator have not been set. * 3. Locate within the ex3_1.asm file, the CODE#1 label. Replace the label with the following memory initialization directive: <TAB> <TAB>.mmregs * 4. Locate within the ex3_1.asm file, the CODE#2 label. Replace the label with the following statement: <TAB> <TAB>.ds <TAB> 00300h * 5. Locate within the ex3_1.asm file, the CODE#3 label. Replace the label with the following statement: <TAB> <TAB>.ps <TAB> 080Ah * 6. Locate within the ex3_1.asm file, the CODE#5 label. Replace the label with the following statements: <TAB> <TAB>.ps <TAB> 0FE00h <TAB> <TAB>.entry The above memory initialization directives instruct the assembler to what addresses within the DSP that the program code and data should be stored. * 7. Save the source file to your personal student folder as: ex3_1v2.asm CALL B RET BCND RPT RPTB RETE IDLE The missing statements to be added to the source file consist either of ISR and subroutine labels or of different software program control instructions (such as the ones shown above). A program control instruction has the effect, once executed, of modifying the contents of the Program Counter. 3-16
11 The assembled program when loaded into the DSP will generate 3 audio effects. This implies that at least three subroutines will be used by the program. & An echo effect & A flanger effect & A voice effect The MAIN program loop may be interrupted by one of four interrupts. & RINT & XINT & INT1# & INT3# * 8. Locate within ex3_1v2.asm the CODE#7 and CODE#8 labels. * 9. Replace the labels by the following statements: CODE#7: --> MAIN: CODE#8: --> <TAB> B <TAB> MAIN These statements instruct the Program Controller to continue executing NOP (No OPeration). This will continue until an interrupt is signaled to the DSP. See HELP Unit 03 shelp2 Note that before a branch (B) instruction can be used, a label must exist to refer to the location of the branch. 3-17
12 As stated, the effects generator program uses 4 interrupts. Thus, the program Vector Table must contain 4 source statements. Each Vector Table source statement is a branch instruction that directs the Program Controller to execute the respective interrupt service routines. * 10. Locate within ex3_1v2.asm the CODE#4 label. * 11. Within ex3_1v2.asm, replace the CODE#4 label with the following: <TAB>.ps <TAB> 00802h int1: <TAB> B <TAB> SEL_EFFECT <TAB>.ps <TAB> 00806h int3: <TAB> B <TAB> READ_DIP * 12. Locate within ex3_1v2.asm the CODE#9, CODE#14, and CODE#16 labels. These labels respectively correspond to the RECEIVE, SEL_EFFECT, and READ_DIP interrupt service routine (ISR) program start addresses. See HELP Unit 03 shelp13 * 13. Replace each of the ISR CODE labels with its ISR label (RECEIVE:, SEL_EFFECT:, READ_DIP:). * 14. Locate within ex3_1v2.asm the CODE#18, CODE#20, CODE#23, CODE#25, and CODE#27 labels. 3-18
13 These labels respectively correspond to the ECHO, FLANGER, VOICE, CODECINIT and AIC_2ND subroutine program start addresses. * 15. Replace each of the CODE labels with its subroutine label (ECHO:, FLANGER:, VOICE:, CODECINIT:, AIC_2ND:). E.g.: CODE#23: --> VOICE: To begin executing an interrupt service routine an interrupt must be signaled, from the MAIN code to the DSP. Only then is the corresponding interrupt vector from the Vector Table taken. To reach anyone of the subroutines either a CALL or a B must be made. * 16. Locate within ex3_1v2.asm the CODE#6 label. The labeled program memory address corresponds to where a CODECINIT subroutine CALL instruction should be inserted. * 17. Replace the label with the following source statement: <TAB> CALL <TAB> CODECINIT * 18. Locate within ex3_1v2.asm the CODE#10, CODE#11, CODE#12, and CODE#13 labels. The labels respectively correspond to the program memory addresses where the RECEIVE ISR conditionally branches off to one of the effects subroutines (echo, flanger, or voice). 3-19
14 * 19. Respectively replace the labels with the following source statements: <TAB> BCND <TAB> ECHO, EQ <TAB> BCND <TAB> FLANGER, EQ <TAB> BCND <TAB> VOICE, EQ <TAB> RETE The last source statement is a return (RETE) from the RECEIVE subroutine instruction. Every ISR and subroutine requires a return to maincode instruction. * 20. Within ex3_1v2.asm replace the CODE#15, CODE#17, CODE#19, CODE#22, and CODE#24 labels with RETE instructions. These labels respectively correspond to the return to main code instructions for the SEL_EFFECT, READ_DIP, ECHO, FLANGER, and VOICE code. * 21. Within ex3_1v2.asm replace the CODE#26 and CODE#32 labels with RET instructions. The RET instruction, as opposed to the RETE instruction, does not reenable interrupts when executed. Interrupts must be disabled during initialization. * 22. Locate within ex3_1v2.asm the CODE#21 label. * 23. Replace the label with the following instruction: <TAB> RPT <TAB> #512 This label is located within the FLANGER subroutine. The DMOV instruction must be executed 513 times (to move the flanger time-delayed samples) this can be done with a single-instruction hardware loop implemented with the RPT instruction * 24. Locate within ex3_1v2.asm the CODE#28, CODE#29, CODE#30, and CODE#31 labels. * 25. Replace the labels with the following instruction: <TAB> IDLE 3-20
15 These labels are where the AIC_2ND subroutine must pause processing (IDLE) to wait for acknowledgment from the serial port (using the XINT interrupt) that a word has been sent to the CODEC. * 26. Save the ex3_1v2.asm source file. * 27. Assemble the file, from within your student directory. Execute from your student folder the following command at a DOS prompt: c:\lv91027\bin\dsk5a.exe ex3_1v2.asm -l See HELP Unit 03 shelp3 Effects Generator In this procedure section, you will load and use the Effects Generator program. Note: Before using the C5x VDE please make certain the circuit board power source is turned ON, and that the serial connection is present between the host computer and the DIGITAL SIGNAL PROCESSOR circuit block labeled SERIAL PORT. * 28. Make the circuit board connections shown in the figure. These are the connections to be made to properly operate the Audio Effects Generator program. * 29. Open the C5x VDE. 3-21
16 * 30. Load the ex3_1v2.dsk program into the DSP. This file is located in your student directory. * 31. Execute the RUN command found on the C5x VDE Toolbar. I/O INTERFACE VALUE DISPLAYED AUDIO EFFECTS MODE EFFECT OF PRESSING INT3# Echo Transmits the DIP switch value (millisecond delay between echoes) to the DSP Flanger Transmits the DIP switch value (degree of flanging) to the DSP Voice No effect. * 32. Talk into the microphone and familiarize yourself with the Effects Generator program. INT1# push button: Changes between the effects. INT3# push button: Reads the DIP switch. * 33. Halt the DSP program and close the C5x VDE session when finished using the ex3_1v2 program. Interrupt Context Save In this procedure section, you will familiarize yourself with the basic uses of a context save. * 34. Open the C5x VDE and load ex3_1v2.dsk into the DSP. * 35. Create a breakpoint at the program memory address labeled MAIN. * 36. Press the RUN command found on the C5x VDE Toolbar, this will execute the DSP initialization code. 3-22
17 To demonstrate an interrupt context save we will force a specific interrupt to occur. The TRANSMIT ISR is executed every time that the XINT interrupt is signaled. XINT is signaled when a sample is transmitted from the DSP serial port register(dxr) to the CODEC. * 37. To force the XINT interrupt to occur, enable the XINT interrupt by editing the IMR register to 0x0027. * 38. Edit the ACC to AAAA AAAA h. * 39. Create a breakpoint at the program memory address labeled TRANSMIT. * 40. Execute the RUN command found on the C5x VDE Toolbar. The XINT interrupt vector is taken and the TRANSMIT ISR is begun. At this point, because the ISR has been executed, key DSP registers have been saved to their shadow registers (this process is called context save). * 41. Edit the ACC to BBBB BBBB h. * 42. Using the C5x VDE STEP OVER command, execute the RETE command to exit the ISR and return to the MAIN program loop. 3-23
18 Note that the content of the ACC register has returned to AAAA AAAAh, the value it had before entering the TRANSMIT ISR. The context save process stored the contents of key CPU registers (including ACC) before entering the subroutine and returned them on exit. * 43. Close the C5x VDE session. CONCLUSION & The primary role of a Program Controller is to determine the next instruction to be executed. & A Program Controller is made up of a program counter register, program counter related hardware, stack support, repeat counters and status registers. & The Program Counter register holds the program memory address of the next instruction to be fetched by the Program Controller and executed. & DSPs use stacks to save and return address and status information during a subroutine or an interrupt service routine (ISR). & Interrupts are used to signal to a processor both external and internal events. & Most DSPs use interrupts as their primary means of communication with peripherals. 3-24
19 REVIEW QUESTIONS 1. Which of the following software constructs does not require a Program Controller with stack support? a. branch b. subroutine c. repeat d. interrupt 2. Which of the following hardware features is not part of a Program Controller? a. status registers b. hardware stack c. repeat counters d. program bus 3. Which of the following registers holds the program memory address of the next instruction to be fetched and executed by the Program Controller? a. Program Counter register (PC) b. RePeaT Counter register (RPTC) c. The ACCumulator (ACC) d. Status register 1 (ST1) 4. Which of the following types of events are signaled using an interrupt? a. A word is transmitted by the DSP. b. A word transmitted by the CODEC is received by the DSP. c. A push-button is pressed. d. All of the above. 5. What is the process called, where DSPs use stacks to save and return address and status information during a subroutine or an interrupt service routine? a. Call and return. b. Hardware looping. c. Context save. d. Hardware nesting. 3-25
Exercise 2-3. Addressing EXERCISE OBJECTIVES
Exercise 2-3 Addressing EXERCISE OBJECTIVES Upon completion of this exercise, you will understand the function that of address generation unit within a DSP and the specialized addressing modes that it
More informationExercise 1-2. The Assembler and Debugger EXERCISE OBJECTIVES
Exercise 1-2 The Assembler and Debugger EXERCISE OBJECTIVES Upon completion of this exercise, you will understand basic DSP source file syntax. You will be able to operate the debugger that accompanies
More informationExercise 4-1. DSP Peripherals EXERCISE OBJECTIVES
Exercise 4-1 DSP Peripherals EXERCISE OBJECTIVES Upon completion of this exercise, you will be familiar with the specialized peripherals used by DSPs. DISCUSSION The peripherals found on the TMS320C50
More informationDSP Platforms Lab (AD-SHARC) Session 05
University of Miami - Frost School of Music DSP Platforms Lab (AD-SHARC) Session 05 Description This session will be dedicated to give an introduction to the hardware architecture and assembly programming
More informationVIII. DSP Processors. Digital Signal Processing 8 December 24, 2009
Digital Signal Processing 8 December 24, 2009 VIII. DSP Processors 2007 Syllabus: Introduction to programmable DSPs: Multiplier and Multiplier-Accumulator (MAC), Modified bus structures and memory access
More informationVARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS) Shamshabad, Hyderabad
Introduction to MS-DOS Debugger DEBUG In this laboratory, we will use DEBUG program and learn how to: 1. Examine and modify the contents of the 8086 s internal registers, and dedicated parts of the memory
More informationAn introduction to DSP s. Examples of DSP applications Why a DSP? Characteristics of a DSP Architectures
An introduction to DSP s Examples of DSP applications Why a DSP? Characteristics of a DSP Architectures DSP example: mobile phone DSP example: mobile phone with video camera DSP: applications Why a DSP?
More informationBachelor Level/ First Year/ Second Semester/ Science Full Marks: 60 Computer Science and Information Technology (CSc. 153) Pass Marks: 24
Prepared By ASCOL CSIT 2070 Batch Institute of Science and Technology 2065 Bachelor Level/ First Year/ Second Semester/ Science Full Marks: 60 Computer Science and Information Technology (CSc. 153) Pass
More information3 PROGRAM SEQUENCER. Overview. Figure 3-0. Table 3-0. Listing 3-0.
3 PROGRAM SEQUENCER Figure 3-0. Table 3-0. Listing 3-0. Overview The DSP s program sequencer implements program flow which constantly provides the address of the next instruction to be executed by other
More informationGUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III
GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III Subject Name: Operating System (OS) Subject Code: 630004 Unit-1: Computer System Overview, Operating System Overview, Processes
More informationQ.1 Explain Computer s Basic Elements
Q.1 Explain Computer s Basic Elements Ans. At a top level, a computer consists of processor, memory, and I/O components, with one or more modules of each type. These components are interconnected in some
More informationProblem Set 1 Solutions
CSE 260 Digital Computers: Organization and Logical Design Jon Turner Problem Set 1 Solutions 1. Give a brief definition of each of the following parts of a computer system: CPU, main memory, floating
More informationB.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION
Introduction :- An exploits the hardware resources of one or more processors to provide a set of services to system users. The OS also manages secondary memory and I/O devices on behalf of its users. So
More informationECE 341. Lecture # 19
ECE 341 Lecture # 19 Instructor: Zeshan Chishti zeshan@ece.pdx.edu December 3, 2014 Portland State University Announcements Final exam is on Monday, December 8 from 5:30 PM to 7:20 PM Similar format and
More information6.2 Instruction Set Summary
6.2 Instruction Set Summary This section summarizes the instruction set and instruction set opcodes for the C5x. Table 6 4 through Table 6 10 alphabetically list the C5x instructions within the following
More informationPC Interrupt Structure and 8259 DMA Controllers
ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 PC Interrupt Structure and 8259 DMA Controllers This lecture covers the use of interrupts and the vectored interrupt
More informationFor your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to
For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance About the Author...xi
More informationChanging the Embedded World TM. Module 3: Getting Started Debugging
Changing the Embedded World TM Module 3: Getting Started Debugging Module Objectives: Section 1: Introduce Debugging Techniques Section 2: PSoC In-Circuit Emulator (ICE) Section 3: Hands on Debugging a
More informationBlog - https://anilkumarprathipati.wordpress.com/
Control Memory 1. Introduction The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional
More information8086 Interrupts and Interrupt Responses:
UNIT-III PART -A INTERRUPTS AND PROGRAMMABLE INTERRUPT CONTROLLERS Contents at a glance: 8086 Interrupts and Interrupt Responses Introduction to DOS and BIOS interrupts 8259A Priority Interrupt Controller
More information2 MARKS Q&A 1 KNREDDY UNIT-I
2 MARKS Q&A 1 KNREDDY UNIT-I 1. What is bus; list the different types of buses with its function. A group of lines that serves as a connecting path for several devices is called a bus; TYPES: ADDRESS BUS,
More informationChapter 3 : Control Unit
3.1 Control Memory Chapter 3 Control Unit The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional
More informationARM ARCHITECTURE. Contents at a glance:
UNIT-III ARM ARCHITECTURE Contents at a glance: RISC Design Philosophy ARM Design Philosophy Registers Current Program Status Register(CPSR) Instruction Pipeline Interrupts and Vector Table Architecture
More informationCHAPTER 3 JUMP, LOOP, AND CALL INSTRUCTIONS
CHAPTER 3 JUMP, LOOP, AND CALL INSTRUCTIONS Looping Repeating a sequence of instructions a certain number of times is called a loop Loop action is performed by DJNZ reg, Label The register is decremented
More informationApril 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor
1 This presentation was part of TI s Monthly TMS320 DSP Technology Webcast Series April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor To view this 1-hour 1 webcast
More informationPROGRAM CONTROL UNIT (PCU)
nc. SECTION 5 PROGRAM CONTROL UNIT (PCU) MOTOROLA PROGRAM CONTROL UNIT (PCU) 5-1 nc. SECTION CONTENTS 5.1 INTRODUCTION........................................ 5-3 5.2 PROGRAM COUNTER (PC)...............................
More informationCSCE 5610: Computer Architecture
HW #1 1.3, 1.5, 1.9, 1.12 Due: Sept 12, 2018 Review: Execution time of a program Arithmetic Average, Weighted Arithmetic Average Geometric Mean Benchmarks, kernels and synthetic benchmarks Computing CPI
More informationQuestion Bank Part-A UNIT I- THE 8086 MICROPROCESSOR 1. What is microprocessor? A microprocessor is a multipurpose, programmable, clock-driven, register-based electronic device that reads binary information
More informationM. Sc (CS) (II Semester) Examination, Subject: Computer System Architecture Paper Code: M.Sc-CS-203. Time: Three Hours] [Maximum Marks: 60
M. Sc (CS) (II Semester) Examination, 2012-13 Subject: Computer System Architecture Paper Code: M.Sc-CS-203 Time: Three Hours] [Maximum Marks: 60 Note: Question Number 1 is compulsory. Answer any four
More informationPESIT Bangalore South Campus
INTERNAL ASSESSMENT TEST 2 Date : 02/04/2018 Max Marks: 40 Subject & Code : Microprocessor (15CS44) Section : IV A and B Name of faculty: Deepti.C Time : 8:30 am-10:00 am Note: Note: Answer any five complete
More informationComputer Architecture and Organization. Instruction Sets: Addressing Modes and Formats
Computer Architecture and Organization Instruction Sets: Addressing Modes and Formats Addressing Modes Immediate Direct Indirect Register Register Indirect Displacement (Indexed) Stack Immediate Addressing
More informationUniversity of Saskatchewan 5-1 EE 392 Electrical Engineering Laboratory III
University of Saskatchewan 5-1 DSP Safety The voltages used in this experiment are less than 15 V and normally do not present a risk of shock. However, you should always follow safe procedures when working
More informationComputer Organization and Technology Processor and System Structures
Computer Organization and Technology Processor and System Structures Assoc. Prof. Dr. Wattanapong Kurdthongmee Division of Computer Engineering, School of Engineering and Resources, Walailak University
More informationSECTION 5 PROGRAM CONTROL UNIT
SECTION 5 PROGRAM CONTROL UNIT MOTOROLA PROGRAM CONTROL UNIT 5-1 SECTION CONTENTS SECTION 5.1 PROGRAM CONTROL UNIT... 3 SECTION 5.2 OVERVIEW... 3 SECTION 5.3 PROGRAM CONTROL UNIT (PCU) ARCHITECTURE...
More informationAdvanced Parallel Architecture Lesson 3. Annalisa Massini /2015
Advanced Parallel Architecture Lesson 3 Annalisa Massini - 2014/2015 Von Neumann Architecture 2 Summary of the traditional computer architecture: Von Neumann architecture http://williamstallings.com/coa/coa7e.html
More informatione-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Interrupt Handling Module No: CS/ES/13 Quadrant 1 e-text
e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Interrupt Handling Module No: CS/ES/13 Quadrant 1 e-text 1. Interrupt An interrupt is the occurrence of a condition--an event --
More informationLow-Level Essentials for Understanding Security Problems Aurélien Francillon
Low-Level Essentials for Understanding Security Problems Aurélien Francillon francill@eurecom.fr Computer Architecture The modern computer architecture is based on Von Neumann Two main parts: CPU (Central
More informationINSTRUCTION SET AND EXECUTION
SECTION 6 INSTRUCTION SET AND EXECUTION Fetch F1 F2 F3 F3e F4 F5 F6 Decode D1 D2 D3 D3e D4 D5 Execute E1 E2 E3 E3e E4 Instruction Cycle: 1 2 3 4 5 6 7 MOTOROLA INSTRUCTION SET AND EXECUTION 6-1 SECTION
More informationProgram Control Instructions
Program Control Instructions Introduction This chapter explains the program control instructions, including the jumps, calls, returns, interrupts, and machine control instructions. This chapter also presents
More informationDC57 COMPUTER ORGANIZATION JUNE 2013
Q2 (a) How do various factors like Hardware design, Instruction set, Compiler related to the performance of a computer? The most important measure of a computer is how quickly it can execute programs.
More informationProgramming Model 2 A. Introduction
Programming Model 2 A. Introduction Objectives At the end of this lab you should be able to: Use direct and indirect addressing modes of accessing data in memory Create an iterative loop of instructions
More informationUnit 2 : Computer and Operating System Structure
Unit 2 : Computer and Operating System Structure Lesson 1 : Interrupts and I/O Structure 1.1. Learning Objectives On completion of this lesson you will know : what interrupt is the causes of occurring
More information9/25/ Software & Hardware Architecture
8086 Software & Hardware Architecture 1 INTRODUCTION It is a multipurpose programmable clock drive register based integrated electronic device, that reads binary instructions from a storage device called
More informationEEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1
EEL 4744C: Microprocessor Applications Lecture 7 Part 1 Interrupt Dr. Tao Li 1 M&M: Chapter 8 Or Reading Assignment Software and Hardware Engineering (new version): Chapter 12 Dr. Tao Li 2 Interrupt An
More informationReading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1
Reading Assignment EEL 4744C: Microprocessor Applications Lecture 7 M&M: Chapter 8 Or Software and Hardware Engineering (new version): Chapter 12 Part 1 Interrupt Dr. Tao Li 1 Dr. Tao Li 2 Interrupt An
More informationHello and welcome to this Renesas Interactive module that provides an architectural overview of the RX Core.
Hello and welcome to this Renesas Interactive module that provides an architectural overview of the RX Core. 1 The purpose of this Renesas Interactive module is to introduce the RX architecture and key
More informationEC2304-MICROPROCESSOR AND MICROCONROLLERS 2 marks questions and answers UNIT-I
EC2304-MICROPROCESSOR AND MICROCONROLLERS 2 marks questions and answers 1. Define microprocessors? UNIT-I A semiconductor device(integrated circuit) manufactured by using the LSI technique. It includes
More informationADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-11: 80x86 Architecture
ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-11: 80x86 Architecture 1 The 80x86 architecture processors popular since its application in IBM PC (personal computer). 2 First Four generations
More informationMicrocontrollers. Microcontroller
Microcontrollers Microcontroller A microprocessor on a single integrated circuit intended to operate as an embedded system. As well as a CPU, a microcontroller typically includes small amounts of RAM and
More informationMicrocomputer Architecture and Programming
IUST-EE (Chapter 1) Microcomputer Architecture and Programming 1 Outline Basic Blocks of Microcomputer Typical Microcomputer Architecture The Single-Chip Microprocessor Microprocessor vs. Microcontroller
More informationDigital System Design Using Verilog. - Processing Unit Design
Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register
More informationChapter 3. Z80 Instructions & Assembly Language. Von Neumann Architecture. Memory. instructions. program. data
Von Neumann Architecture The von Neumann architecture is a computer design model that uses a processing unit and a separate storage to hold both instructions and data To run a machine, program and data
More informationEE 5340/7340 Motorola 68HC11 Microcontroler Lecture 1. Carlos E. Davila, Electrical Engineering Dept. Southern Methodist University
EE 5340/7340 Motorola 68HC11 Microcontroler Lecture 1 Carlos E. Davila, Electrical Engineering Dept. Southern Methodist University What is Assembly Language? Assembly language is a programming language
More informationTutorial 1: Programming Model 1
Tutorial 1: Programming Model 1 Introduction Objectives At the end of this lab you should be able to: Use the CPU simulator to create basic CPU instructions Use the simulator to execute the basic CPU instructions
More informationAdvanced Parallel Architecture Lesson 3. Annalisa Massini /2015
Advanced Parallel Architecture Lesson 3 Annalisa Massini - Von Neumann Architecture 2 Two lessons Summary of the traditional computer architecture Von Neumann architecture http://williamstallings.com/coa/coa7e.html
More informationThe von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store.
IT 3123 Hardware and Software Concepts February 11 and Memory II Copyright 2005 by Bob Brown The von Neumann Architecture 00 01 02 03 PC IR Control Unit Command Memory ALU 96 97 98 99 Notice: This session
More information1. What is Microprocessor? Give the power supply & clock frequency of 8085?
1. What is Microprocessor? Give the power supply & clock frequency of 8085? A microprocessor is a multipurpose, programmable logic device that reads binary instructions from a storage device called memory
More informationIntel x86 instruction set architecture
Intel x86 instruction set architecture Graded assignment: hand-written resolution of exercise II 2) The exercises on this tutorial are targeted for the as86 assembler. This program is available in the
More informationCourse Description: This course includes concepts of instruction set architecture,
Computer Architecture Course Title: Computer Architecture Full Marks: 60+ 20+20 Course No: CSC208 Pass Marks: 24+8+8 Nature of the Course: Theory + Lab Credit Hrs: 3 Course Description: This course includes
More informationNEW CEIBO DEBUGGER. Menus and Commands
NEW CEIBO DEBUGGER Menus and Commands Ceibo Debugger Menus and Commands D.1. Introduction CEIBO DEBUGGER is the latest software available from Ceibo and can be used with most of Ceibo emulators. You will
More informationWilliam Stallings Computer Organization and Architecture 8 th Edition. Chapter 11 Instruction Sets: Addressing Modes and Formats
William Stallings Computer Organization and Architecture 8 th Edition Chapter 11 Instruction Sets: Addressing Modes and Formats Addressing Modes Immediate Direct Indirect Register Register Indirect Displacement
More informationDigital Signal Processor 2010/1/4
Digital Signal Processor 1 Analog to Digital Shift 2 Digital Signal Processing Applications FAX Phone Personal Computer Medical Instruments DVD player Air conditioner (controller) Digital Camera MP3 audio
More informationMICROPROCESSOR PROGRAMMING AND SYSTEM DESIGN
MICROPROCESSOR PROGRAMMING AND SYSTEM DESIGN ROAD MAP SDK-86 Intel 8086 Features 8086 Block Diagram 8086 Architecture Bus Interface Unit Execution Unit 8086 Architecture 8086 Programmer s Model Flag Register
More informationET2640 Microprocessors
ET2640 Microprocessors Unit -2 Processor Programming Concepts Basic Control Instructor : Stan Kong Email : skong@itt-tech.edu Figure 2 4 Bits of the PSW Register 8051 REGISTER BANKS AND STACK 80 BYTES
More informationImplementation of DSP Algorithms
Implementation of DSP Algorithms Main frame computers Dedicated (application specific) architectures Programmable digital signal processors voice band data modem speech codec 1 PDSP and General-Purpose
More informationSubroutines & Software Delay Routines
Subroutines & Software Delay Routines Department of EIE / Pondicherry Engineering College 1 Subroutines & Software Delay Routines This chapter introduces software based timing routines. The examples introduce
More informationMICROPROGRAMMED CONTROL
MICROPROGRAMMED CONTROL Hardwired Control Unit: When the control signals are generated by hardware using conventional logic design techniques, the control unit is said to be hardwired. Micro programmed
More informationE3940 Microprocessor Systems Laboratory. Introduction to the Z80
E3940 Microprocessor Systems Laboratory Introduction to the Z80 Andrew T. Campbell comet.columbia.edu/~campbell campbell@comet.columbia.edu E3940 Microprocessor Systems Laboratory Page 1 Z80 Laboratory
More informationADVANCE MICROPROCESSOR & INTERFACING
VENUS INTERNATIONAL COLLEGE OF TECHNOLOGY Gandhinagar Department of Computer Enggineering ADVANCE MICROPROCESSOR & INTERFACING Name : Enroll no. : Class Year : 2014-15 : 5 th SEM C.E. VENUS INTERNATIONAL
More informationParallelism. Execution Cycle. Dual Bus Simple CPU. Pipelining COMP375 1
Pipelining COMP375 Computer Architecture and dorganization Parallelism The most common method of making computers faster is to increase parallelism. There are many levels of parallelism Macro Multiple
More informationLode DSP Core. Features. Overview
Features Two multiplier accumulator units Single cycle 16 x 16-bit signed and unsigned multiply - accumulate 40-bit arithmetic logical unit (ALU) Four 40-bit accumulators (32-bit + 8 guard bits) Pre-shifter,
More informationClassification of Semiconductor LSI
Classification of Semiconductor LSI 1. Logic LSI: ASIC: Application Specific LSI (you have to develop. HIGH COST!) For only mass production. ASSP: Application Specific Standard Product (you can buy. Low
More informationThis section covers the MIPS instruction set.
This section covers the MIPS instruction set. 1 + I am going to break down the instructions into two types. + a machine instruction which is directly defined in the MIPS architecture and has a one to one
More informationComputer Systems Lecture 9
Computer Systems Lecture 9 CPU Registers in x86 CPU status flags EFLAG: The Flag register holds the CPU status flags The status flags are separate bits in EFLAG where information on important conditions
More informationARM Cortex core microcontrollers 3. Cortex-M0, M4, M7
ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7 Scherer Balázs Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2018 Trends of 32-bit microcontrollers
More informationFACULTY OF ENGINEERING LAB SHEET
FACULTY OF ENGINEERING LAB SHEET ECE366: ADVANCED MICROPROCESSORS TRIMESTER (08/09) AM: Real- Mode Programming *Note: On-the-spot evaluation may be carried out during or at the end of the experiment. Students
More informationBHARATHIDASAN ENGINEERING COLLEGE. III Year / V Semester / EEE MICROPROCESSORS AND MICROCONTROLLERS (R-2013)
BHARATHIDASAN ENGINEERING COLLEGE III Year / V Semester / EEE MICROPROCESSORS AND MICROCONTROLLERS (R-2013) FREQUENTLY ASKED QUESTIONS IN UNIVERSITY EXAMINATION PART A UNIT 1-8085 PROCESSOR 1. Draw the
More informationModule 4c: Pipelining
Module 4c: Pipelining R E F E R E N C E S : S T A L L I N G S, C O M P U T E R O R G A N I Z A T I O N A N D A R C H I T E C T U R E M O R R I S M A N O, C O M P U T E R O R G A N I Z A T I O N A N D A
More informationDigital IP Cell 8-bit Microcontroller PE80
1. Description The is a Z80 compliant processor soft-macro - IP block that can be implemented in digital or mixed signal ASIC designs. The Z80 and its derivatives and clones make up one of the most commonly
More informationASSEMBLY LANGUAGE MACHINE ORGANIZATION
ASSEMBLY LANGUAGE MACHINE ORGANIZATION CHAPTER 3 1 Sub-topics The topic will cover: Microprocessor architecture CPU processing methods Pipelining Superscalar RISC Multiprocessing Instruction Cycle Instruction
More information2008/12/23. System Arch 2008 (Fire Tom Wada) 1
Digital it Signal Processor System Arch 2008 (Fire Tom Wada) 1 Analog to Digital Shift System Arch 2008 (Fire Tom Wada) 2 Digital Signal Processing Applications FAX Phone Personal Computer Medical Instruments
More informationMACHINE CONTROL INSTRUCTIONS: 1. EI
Lecture-33 MACHINE CONTROL INSTRUCTIONS: 1. EI (Enable interrupts): The interrupt system is disabled just after RESET operation. There is an internal INTE F/F (Interrupt enable flipflop) which is reset
More informationINTRODUCTION OF MICROPROCESSOR& INTERFACING DEVICES Introduction to Microprocessor Evolutions of Microprocessor
Course Title Course Code MICROPROCESSOR & ASSEMBLY LANGUAGE PROGRAMMING DEC415 Lecture : Practical: 2 Course Credit Tutorial : 0 Total : 5 Course Learning Outcomes At end of the course, students will be
More informationAssembling and Debugging VPs of Complex Cycle Accurate Multicore Systems. July 2009
Assembling and Debugging VPs of Complex Cycle Accurate Multicore Systems July 2009 Model Requirements in a Virtual Platform Control initialization, breakpoints, etc Visibility PV registers, memories, profiling
More informationComputer System Architecture
CSC 203 1.5 Computer System Architecture Department of Statistics and Computer Science University of Sri Jayewardenepura Addressing 2 Addressing Subject of specifying where the operands (addresses) are
More informationUNIT 4. Modular Programming
1 UNIT 4. Modular Programming Program is composed from several smaller modules. Modules could be developed by separate teams concurrently. The modules are only assembled producing.obj modules (Object modules).
More informationVALLIAMMAI ENGINEERING COLLEGE S.R.M. NAGAR, KATTANKULATHUR-603203. DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING VII-EEE EE6502- MICROPROCESSORS AND MICROCONTROLLERS QUESTION BANK UNIT I 1. What
More informationGrundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss
Grundlagen Microcontroller Processor Core Günther Gridling Bettina Weiss 1 Processor Core Architecture Instruction Set Lecture Overview 2 Processor Core Architecture Computes things > ALU (Arithmetic Logic
More informationIntroduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras
Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 04 Lecture 17 CPU Context Switching Hello. In this video
More informationUNIT 2 PROCESSORS ORGANIZATION CONT.
UNIT 2 PROCESSORS ORGANIZATION CONT. Types of Operand Addresses Numbers Integer/floating point Characters ASCII etc. Logical Data Bits or flags x86 Data Types Operands in 8 bit -Byte 16 bit- word 32 bit-
More informationIntroduction to Embedded Systems
Stefan Kowalewski, 4. November 25 Introduction to Embedded Systems Part 2: Microcontrollers. Basics 2. Structure/elements 3. Digital I/O 4. Interrupts 5. Timers/Counters Introduction to Embedded Systems
More informationWS_CCESSH-OUT-v1.00.doc Page 1 of 8
Course Name: Course Code: Course Description: System Development with CrossCore Embedded Studio (CCES) and the ADI SHARC Processor WS_CCESSH This is a practical and interactive course that is designed
More information3 TUTORIAL. In This Chapter. Figure 1-0. Table 1-0. Listing 1-0.
3 TUTORIAL Figure 1-0. Table 1-0. Listing 1-0. In This Chapter This chapter contains the following topics: Overview on page 3-2 Exercise One: Building and Running a C Program on page 3-4 Exercise Two:
More informationCS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.
CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. Part 5: Processors Our goal: understand basics of processors and CPU understand the architecture of MARIE, a model computer a close look at the instruction
More informationHave difficulty identifying any products Not incorporating embedded processor FPGA or CPLD In one form or another
Introduction Embedded systems Continue pervasive expansion into Vast variety of electronic systems and products Aircraft and automobiles games and medical equipment Have difficulty identifying any products
More informationSOEN228, Winter Revision 1.2 Date: October 25,
SOEN228, Winter 2003 Revision 1.2 Date: October 25, 2003 1 Contents Flags Mnemonics Basic I/O Exercises Overview of sample programs 2 Flag Register The flag register stores the condition flags that retain
More informationWilliam Stallings Computer Organization and Architecture. Chapter 11 CPU Structure and Function
William Stallings Computer Organization and Architecture Chapter 11 CPU Structure and Function CPU Structure CPU must: Fetch instructions Interpret instructions Fetch data Process data Write data Registers
More informationChapter 7 Subroutines. Richard P. Paul, SPARC Architecture, Assembly Language Programming, and C
Chapter 7 Subroutines Richard P. Paul, SPARC Architecture, Assembly Language Programming, and C 2 Subroutines Subroutines allow us to either to repeat a computation or to repeat the computation with different
More information8051 I/O and 8051 Interrupts
8051 I/O and 8051 Interrupts Class 7 EE4380 Fall 2002 Pari vallal Kannan Center for Integrated Circuits and Systems University of Texas at Dallas Agenda 8051 I/O Interfacing Scanned LED displays LCD displays
More informationInvestigating IO Interrupts
Introduction Investigating IO s At the of this lab you should be able to: Describe what interrupt vectors are and explain how they are used Describe two main methods of IO interrupt handling Explain the
More information