0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
63 visualizzazioni18 pagine
The document is a semester closing report for the course ARM Processor taught in the 7th semester of the electronics and communication department. It provides details about the course such as the number of classes held, percentage of syllabus covered, topics not covered and reasons. It also includes general observations about the course textbook and recommendations for additions to the syllabus such as project-based teaching and learning with another applied course to make the subject more interesting. The report was submitted to the departmental undergraduate curriculum committee.
The document is a semester closing report for the course ARM Processor taught in the 7th semester of the electronics and communication department. It provides details about the course such as the number of classes held, percentage of syllabus covered, topics not covered and reasons. It also includes general observations about the course textbook and recommendations for additions to the syllabus such as project-based teaching and learning with another applied course to make the subject more interesting. The report was submitted to the departmental undergraduate curriculum committee.
The document is a semester closing report for the course ARM Processor taught in the 7th semester of the electronics and communication department. It provides details about the course such as the number of classes held, percentage of syllabus covered, topics not covered and reasons. It also includes general observations about the course textbook and recommendations for additions to the syllabus such as project-based teaching and learning with another applied course to make the subject more interesting. The report was submitted to the departmental undergraduate curriculum committee.
Semester : VII semester Division : A,B Duration: 16 weeks ( 20/08/2013 06/12/2013) Course Teacher : Mr. Sunil S. Mathad Department : Electronics & Communication No. of Classes held : 43 % of syllabus covered : 100 % Topics not covered and reasons : - NA -
General Information / observations:
1. General opinion about the text book from students was, it was like a handbook. 2. One from a generation as a typical model like, they have studied 8051 as a typical example of microcontroller would have been matter .i.e A base on A RM7TDMI processor then additional chapter just depicting the further enhancements or changes on to the basic model. 3. Some concepts not directly related to ARM, more related to Computer architecture such as Memory and Cache were difficult to convey, as somewhere there is a feeling Computer Architecture should be a Prerequisite. 4. Unless there are labs or Practical students will not be able to appreciate the subject. 5. Some kind of self-drive is required by the students to learn the subject. Recommendations for deletion from syllabus:
Not Recommended Recommendations for addition to syllabus:
Project Based teaching learning with another course which may be an application/product development will make the subject interesting as well as prominent.
Submitted to DUGC- ECE Dept. Signature of the Faculty Member
All Questions carry equal marks 1. Describe Instruction Set for Embedded Systems with respect to ARM Design Philosophy. Or Describe Embedded System Hardware with ARM based embedded Device as an example 2. Elaborate upon ARM processor modes and banked registers with complete ARM register set. Or Explain about Memory hierarchy, type, width with respect to embedded systems taking ARM based system as an example. 3. Briefly explain about the ARM Nomenclature. If an ARM processor is numbered as ARM926EJ- S what can be inferred from the numbers. ----x----
SDM College of Engineering and Technology, Dharwad Department of Electronics and Communication B.E. Electronics and Communication Engineering Continuous Assessment Test-I Semester: VII Date: 21/09/2013 Course Title: ARM Processors Course Code: EC424 Duration: 60 min Course Instructor: Mr.Sunil S Mathad. Max Marks: 20 All Questions carry equal marks 1. Describe Instruction Set for Embedded Systems with respect to ARM Design Philosophy. Or Describe Embedded System Hardware with ARM based embedded Device as an example 2. Elaborate upon ARM processor modes and banked registers with complete ARM register set. Or Explain about Memory hierarchy, type, width with respect to embedded systems taking ARM based system as an example. 3. Briefly explain about the ARM Nomenclature. If an ARM processor is numbered as ARM926EJ- S what can be inferred from the numbers. ----x---- SDM College of Engineering and Technology, Dharwad Department of Electronics and Communication B.E. Electronics and Communication Engineering Continuous Assessment Test-I I Semester: VII Date: 31/10/2013 Course Title: ARM Processors Course Code: EC424 Duration: 60 min Course Instructor: Mr.Sunil S Mathad. Max Marks: 20
Q3 is compulsory. Answer anyone from Q1 and Q2 1. A) Brief about ARM Program Status Register(PSR) along with the fields, neatly depicting their positions in the bit pattern. 4M B) Demonstrate the usage of LDR and SDR instructions for single byte, halfword and Word transfer. 6M OR 2. A) Write an Assembly language Program to compute GCD of two numbers 5M B) Tabulate the summary of thumb register usage 5M 3. A) With an example explain ARM-Thumb interleaving 5M B) Elaborate upon addressing methods for stack operations 5M
----x----
SDM College of Engineering and Technology, Dharwad Department of Electronics and Communication B.E. Electronics and Communication Engineering Continuous Assessment Test-II Semester: VII Date: 31/10/2013 Course Title: ARM Processors Course Code: EC424 Duration: 60 min Course Instructor: Mr.Sunil S Mathad. Max Marks: 20
Q3 is compulsory. Answer anyone from Q1 and Q2 1. A) Brief about ARM Program Status Register(PSR) along with the fields, neatly depicting their positions in the bit pattern. 4M B) Demonstrate the usage of LDR and SDR instructions for single byte, halfword and Word transfer. 6M OR 2. A) Write an Assembly language Program to compute GCD of two numbers 5M B) Tabulate the summary of thumb register usage 5M 3. A) With an example explain ARM-Thumb interleaving 5M B) Elaborate upon addressing methods for stack operations 5M
----x----
SDM College of Engineering and Technology, Dharwad Department of Electronics and Communication B.E. Electronics and Communication Engineering Continuous Assessment Test-III Semester: VII Date: 2/12/2013 Course Title: ARM Processors Course Code: EC424 Duration: 60 min Course Instructor: Mr.Sunil S Mathad. Max Marks: 20
Q3 is compulsory. Answer anyone from Q1 and Q2 1. A) Elaborate upon efficient use of C types 5M
B) With a flow chart explain the working of nested interrupt handler. 5M
OR 2. A) Explain about the Prioritized Direct Interrupt Handler 4M B) For the following piece of structures draw the memory layouts 6M (i) struct { char a; int b; char c; short d; } (ii) struct { char a; char c; short d; int b; }
(iii)__packed struct { char a; int b; char c; short d; }
3. A) Elaborate upon writing loops efficiently in C for ARM 5M B) Explain about the IRQ and FIQ exceptions. What makes FIQ different from IRQ ? why FIQ is Fast Interrupt Request? 5M
SDM College of Engineering and Technology, Dharwad Department of Electronics and Communication B.E. Electronics and Communication Engineering Continuous Assessment Test-I Semester: VII Date: 21/09/2013 Course Title: ARM Processors Course Code: EC424 Duration: 60 min Course Instructor: Mr.Sunil S Mathad. Max Marks: 20
All Questions carry equal marks 1. Describe Instruction Set for Embedded Systems with respect to ARM Design Philosophy. The ARM instruction set differs from the pure RISC definition in several ways that make the ARM instruction set suitable for embedded applications: Variable cycle execution for certain instructionsNot every ARM instruction executes in a single cycle. For example, load-store-multiple instructions vary in the number of execution cycles depending upon the number of registers being transferred. The transfer can occur on sequential memory addresses, which increases performance since sequential memory accesses are often faster than random accesses. Code density is also improved since multiple register transfers are common operations at the start and end of functions. Inline barrel shifter leading to more complex instructionsThe inline barrel shifter is a hardware component that preprocesses one of the input registers before it is used by a n instruction. This expands the capability of many instructions to improve core performance and code density. Thumb 16-bit instruction setARM enhanced the processor core by adding a second 16- bit instruction set called Thumb that permits the ARM core to execute either 16- or 32-bit instructions. The 16-bit instructions improve code density by about 30% over 32-bit fixed- length instructions. Conditional executionAn instruction is only executed when a specific condition has been satisfied. This feature improves performance and code density by r educing branch instructions. Enhanced instructionsThe enhanced digital signal processor (DSP) instructions were added to the standard ARM instruction set to support fast 1616-bit multiplier operations and saturation. These instructions allow a f aster-performing ARM processor in some cases to replace the traditional combinations of a processor plus a DSP. Or Describe Embedded System Hardware with ARM based embedded Device as an example
2. Elaborate upon ARM processor modes and banked registers with complete ARM register set.
Or Explain about Memory hierarchy, type, width with respect to embedded systems taking ARM based system as an example. Hierarchy
Type ROM, Flash ROM,DRAM, SRAM, SDRAM Width The memory width is the number of bits the memory returns on each accesstypically 8, 16, 32, or 64 bits. The memory width has a direct effect on the overall performance and cost ratio.
3. a . Briefly explain about the ARM Nomenclature. If an ARM processor is numbered as ARM926EJ-S what can be inferred from the numbers.
ARM926EJ-S 9-Family 2-Cache and MMU 6-include tightly coupled SRAM memory b. Explain about the Interrupts and Exceptions of ARM processors Reset vector is the location of the first instruction executed by the processor when power is applied. This instruction branches to the initialization code.
Undefined instruction vector is used when the processor cannot decode an instruction.
Software interrupt vector is called when you execute a SWI instruction. The SWI instruction is frequently used as the mechanism to invoke an operating system routine.
Prefetch abort vector occurs when the processor attempts to fetch an instruction from an address without the correct access permissions. The actual abort occurs in the decode stage.
Data abort vector is similar to a prefetch abort but is raised when an instruction attempts to access data memory without the correct access permissions.
Interrupt request vector is used by external hardware to interrupt the normal execution flow of the processor. It can only be raised if IRQs are not masked in the cpsr.
SDM College of Engineering and Technology, Dharwad Department of Electronics and Communication B.E. Electronics and Communication Engineering Continuous Assessment Test-I Semester: VII Date: 31/10/2013 Course Title: ARM Processors Course Code: EC424 Duration: 60 min Course Instructor: Mr.Sunil S Mathad. Max Marks: 20
Q3 is compulsory. Answer anyone from Q1 and Q2 1. A) Brief about ARM Program Status Register(PSR) along with the fields, neatly depicting their positions in the bit pattern.
B) Demonstrate the usage of LDR and STR instructions for single byte, halfword and Word transfer. 6M
OR 2. A) Write an Assembly language Program to compute GCD of two numbers 5M
B) Tabulate the summary of thumb register usage 5M Summary of Thumb register usage. Registers Access r0r7 fully accessible r8r12 only accessible by MOV, ADD, and CMP r13 sp limited accessibility r14 lr limited accessibility r15 pc limited accessibility cpsr only indirect access spsr no access 3. A) With an example explain ARM-Thumb interleaving 5M return address in the link register lr: CODE32 LDR r0, =thumbRoutine+1 ; enter Thumb state BLX r0 ; jump to Thumb code ; continue here CODE16 thumbRoutine ADD r1, #1 BX r14 ; return to ARM code and state B) Elaborate upon addressing methods for stack operations 5M
SDM College of Engineering and Technology, Dharwad Department of Electronics and Communication B.E. Electronics and Communication Engineering Continuous Assessment Test-III Semester: VII Date: 2/12/2013 Course Title: ARM Processors Course Code: EC424 Duration: 60 min Course Instructor: Mr.Sunil S Mathad. Max Marks: 20
Q3 is compulsory. Answer anyone from Q1 and Q2 1. A) Elaborate upon efficient use of C types 5M The Efficient Use of C Types For local variables held in registers, dont use a char or short type unless 8-bit or 16-bit modular arithmetic is necessary. Use the signed or unsigned int types instead. Unsigned types are faster when you use divisions. For array entries and global variables held in main memory, use the type with the smallest size possible to hold the required data. This saves memory footprint. The ARMv4 architecture is efficient at loading and storing all data widths provided you traverse arrays by incrementing the array pointer. Avoid using offsets from the base of the array with short type arrays, as LDRH does not support this. Use explicit casts when reading array entries or global variables into local variables, or writing local variables out to array entries. The casts make it clear that for fast operation you are taking a narrow width type stored in memory and expanding it to a wider type in the registers. Switch on implicit narrowing cast warnings in the compiler to detect implicit casts. Avoid implicit or explicit narrowing casts in expressions because they usually cost extra cycles. Casts on loads or stores are usually free because the load or store instruction performs the cast for you. Avoid char and short types for function arguments or return values. Instead use the int type even if the range of the parameter is smaller. This prevents the compiler performing unnecessary casts.
B) With a flow chart explain the working of nested interrupt handler. 5M
OR 2. A) Explain about the Prioritized Direct Interrupt Handler 4M Prioritized Direct Interrupt Handler Handles higher-priority interrupts in a shorter time. Goes directly to the specific ISR. Low interrupt latency. Advantage: uses a single jump and saves valuable cycles to go to the ISR. Disadvantage: each ISR has a mechanism to set the external interrupt mask to stop lower- priority interrupts from halting the current ISR, which adds extra code to each ISR
B) For the following piece of structures draw the memory layouts 6M (i) struct { char a; int b; char c; short d; }
(ii) struct { char a; char c; short d; int b; }
(iii)__packed struct { char a; int b; char c; short d; }
3. A) Elaborate upon writing loops efficiently in C for ARM 5M
Writing Loops Efficiently Use loops that count down to zero. Then the compiler does not need to allocate a register to hold the termination value, and the comparison with zero is free. Use unsigned loop counters by default and the continuation condition i!=0 rather than i>0. This will ensure that the loop overhead is only two instructions. Use do-while loops rather than for loops when you know the loop will iterate at least once. This saves the compiler checking to see if the loop count is zero. Unroll important loops to reduce the loop overhead. Do not overunroll. If the loop overhead is small as a proportion of the total, then unrolling will increase code size and hurt the performance of the cache. Try to arrange that the number of elements in arrays are multiples of four or eight. You can then unroll loops easily by two, four, or eight times without worrying about the leftover array elements.
B) Explain about the IRQ and FIQ exceptions. What makes FIQ different from IRQ ? why FIQ is Fast Interrupt Request? 5M
An IRQ or FIQ exception causes the processor hardware to go through a standard procedure (provided the interrupts are not masked): 1. The processor changes to a specific interrupt request mode, which reflects the interrupt being raised. 2. The previous modes cpsr is saved into the spsr of the new interrupt request mode. 3. The pc is saved in the lr of the new interrupt request mode. 4. Interrupt/s are disabledeither the IRQ or both IRQ and FIQ exceptions are disabled in the cpsr. This immediately stops another interrupt request of the same type being raised. 5. The processor branches to a specific entry in the vector table.
FIQ has more banked registers and hence context saving latency can be avoided and while serving FIQ service routine it disables further IRQ and FIQs and known or predictable latency.