Exercise 3-1. The Program Controller EXERCISE OBJECTIVES

Size: px
Start display at page:

Download "Exercise 3-1. The Program Controller EXERCISE OBJECTIVES"

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 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 information

Exercise 1-2. The Assembler and Debugger EXERCISE OBJECTIVES

Exercise 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 information

Exercise 4-1. DSP Peripherals EXERCISE OBJECTIVES

Exercise 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 information

DSP Platforms Lab (AD-SHARC) Session 05

DSP 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 information

VIII. DSP Processors. Digital Signal Processing 8 December 24, 2009

VIII. 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 information

VARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS) Shamshabad, Hyderabad

VARDHAMAN 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 information

An 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 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 information

Bachelor Level/ First Year/ Second Semester/ Science Full Marks: 60 Computer Science and Information Technology (CSc. 153) Pass Marks: 24

Bachelor 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 information

3 PROGRAM SEQUENCER. Overview. Figure 3-0. Table 3-0. Listing 3-0.

3 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 information

GUJARAT TECHNOLOGICAL UNIVERSITY MASTER OF COMPUTER APPLICATION SEMESTER: III

GUJARAT 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 information

Q.1 Explain Computer s Basic Elements

Q.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 information

Problem Set 1 Solutions

Problem 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 information

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION

B.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 information

ECE 341. Lecture # 19

ECE 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 information

6.2 Instruction Set Summary

6.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 information

PC Interrupt Structure and 8259 DMA Controllers

PC 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 information

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

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 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 information

Changing the Embedded World TM. Module 3: Getting Started Debugging

Changing 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 information

Blog - https://anilkumarprathipati.wordpress.com/

Blog - 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 information

8086 Interrupts and Interrupt Responses:

8086 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 information

2 MARKS Q&A 1 KNREDDY UNIT-I

2 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 information

Chapter 3 : Control Unit

Chapter 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 information

ARM ARCHITECTURE. Contents at a glance:

ARM 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 information

CHAPTER 3 JUMP, LOOP, AND CALL INSTRUCTIONS

CHAPTER 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 information

April 4, 2001: Debugging Your C24x DSP Design Using Code Composer Studio Real-Time Monitor

April 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 information

PROGRAM CONTROL UNIT (PCU)

PROGRAM 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 information

CSCE 5610: Computer Architecture

CSCE 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 information

Question 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 information

M. 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, 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 information

PESIT Bangalore South Campus

PESIT 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 information

Computer Architecture and Organization. Instruction Sets: Addressing Modes and Formats

Computer 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 information

University of Saskatchewan 5-1 EE 392 Electrical Engineering Laboratory III

University 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 information

Computer Organization and Technology Processor and System Structures

Computer 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 information

SECTION 5 PROGRAM CONTROL UNIT

SECTION 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 information

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Advanced 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 information

e-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 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 information

Low-Level Essentials for Understanding Security Problems Aurélien Francillon

Low-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 information

INSTRUCTION SET AND EXECUTION

INSTRUCTION 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 information

Program Control Instructions

Program 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 information

DC57 COMPUTER ORGANIZATION JUNE 2013

DC57 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 information

Programming Model 2 A. Introduction

Programming 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 information

Unit 2 : Computer and Operating System Structure

Unit 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 information

9/25/ Software & Hardware Architecture

9/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 information

EEL 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 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 information

Reading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1

Reading 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 information

Hello 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. 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 information

EC2304-MICROPROCESSOR AND MICROCONROLLERS 2 marks questions and answers UNIT-I

EC2304-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 information

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-11: 80x86 Architecture

ADVANCED 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 information

Microcontrollers. Microcontroller

Microcontrollers. 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 information

Microcomputer Architecture and Programming

Microcomputer 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 information

Digital System Design Using Verilog. - Processing Unit Design

Digital 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 information

Chapter 3. Z80 Instructions & Assembly Language. Von Neumann Architecture. Memory. instructions. program. data

Chapter 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 information

EE 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 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 information

Tutorial 1: Programming Model 1

Tutorial 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 information

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Advanced 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 information

The von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store.

The 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 information

1. What is Microprocessor? Give the power supply & clock frequency of 8085?

1. 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 information

Intel x86 instruction set architecture

Intel 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 information

Course Description: This course includes concepts of instruction set architecture,

Course 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 information

NEW CEIBO DEBUGGER. Menus and Commands

NEW 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 information

William 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 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 information

Digital Signal Processor 2010/1/4

Digital 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 information

MICROPROCESSOR PROGRAMMING AND SYSTEM DESIGN

MICROPROCESSOR 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 information

ET2640 Microprocessors

ET2640 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 information

Implementation of DSP Algorithms

Implementation 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 information

Subroutines & Software Delay Routines

Subroutines & 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 information

MICROPROGRAMMED CONTROL

MICROPROGRAMMED 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 information

E3940 Microprocessor Systems Laboratory. Introduction to the Z80

E3940 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 information

ADVANCE MICROPROCESSOR & INTERFACING

ADVANCE 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 information

Parallelism. Execution Cycle. Dual Bus Simple CPU. Pipelining COMP375 1

Parallelism. 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 information

Lode DSP Core. Features. Overview

Lode 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 information

Classification of Semiconductor LSI

Classification 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 information

This section covers the MIPS instruction set.

This 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 information

Computer Systems Lecture 9

Computer 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 information

ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7

ARM 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 information

FACULTY OF ENGINEERING LAB SHEET

FACULTY 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 information

BHARATHIDASAN 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) 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 information

Module 4c: Pipelining

Module 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 information

Digital IP Cell 8-bit Microcontroller PE80

Digital 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 information

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

ASSEMBLY 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 information

2008/12/23. System Arch 2008 (Fire Tom Wada) 1

2008/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 information

MACHINE CONTROL INSTRUCTIONS: 1. EI

MACHINE 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 information

INTRODUCTION OF MICROPROCESSOR& INTERFACING DEVICES Introduction to Microprocessor Evolutions of Microprocessor

INTRODUCTION 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 information

Assembling and Debugging VPs of Complex Cycle Accurate Multicore Systems. July 2009

Assembling 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 information

Computer System Architecture

Computer 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 information

UNIT 4. Modular Programming

UNIT 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 information

VALLIAMMAI 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 information

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss

Grundlagen 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 information

Introduction 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 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 information

UNIT 2 PROCESSORS ORGANIZATION CONT.

UNIT 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 information

Introduction to Embedded Systems

Introduction 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 information

WS_CCESSH-OUT-v1.00.doc Page 1 of 8

WS_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 information

3 TUTORIAL. In This Chapter. Figure 1-0. Table 1-0. Listing 1-0.

3 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 information

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

CS 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 information

Have difficulty identifying any products Not incorporating embedded processor FPGA or CPLD In one form or another

Have 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 information

SOEN228, Winter Revision 1.2 Date: October 25,

SOEN228, 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 information

William Stallings Computer Organization and Architecture. Chapter 11 CPU Structure and Function

William 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 information

Chapter 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 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 information

8051 I/O and 8051 Interrupts

8051 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 information

Investigating IO Interrupts

Investigating 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