4. Intrudes .


32 views
Uploaded on:
Category: Food / Beverages
Description
4. Interferes. 4.1 Assembly LanguageAn get together program is an arrangement of clear directions, regularly created taking into account the guideline collection (or set) of the basic microprocessor.Each guideline, commonly, has four sections: a discretionary mark, a typical opcode, operands, and discretionary remarks: e.g.,MOV R1, 1SUM:ADD R1, (V) : Add registers 1 and location of variable, VEach instructio
Transcripts
Slide 1

4. Interferes with Purpose/Objective: To give an instrument to an implanted framework to respond quickly to outside occasions, even while playing out some undertaking Approaches/Tools/Methods for Achieving Objective Using hinders – creating the chip to suspend its assignment and execute an \'alternate code,\' which handles the hinder because of "whatever" brought on the intrude on Need some foundation in low level computing construct

Slide 2

4. Hinders 4.1 Assembly Language A get together program is an arrangement of coherent directions, normally created in view of the guideline collection (or set) of the fundamental microchip. Every guideline, ordinarily, has four sections: a discretionary mark, a typical opcode, operands, and discretionary remarks: e.g., MOV R1, 1 SUM: ADD R1, (V) : Add registers 1 and address of variable, V Each direction is "interpreted" into a parallel code for the chip to execute by an interpreter called constructing agent Instruction execution requires an arrangement of (universally useful) registers, which must hold values/operands before operational execution Each microchip has sets of registers for various purposes: math, stack,, interferes with, program counter (having location of current guideline), stack (holding location of top of stack), Statements in C, for instance, are incorporated into a few lines of "halfway" get together code (See Fig 4-1)

Slide 3

4. Interferes

Slide 4

4. Hinders 4.2 Interrupts Basics What are they? Envision a serial port chip or a system interface chip (or card) Imagine the serial port gets a flood of bit constituting a "character" which touched base at the port, or at the system chip; and afterward put away (briefly) inside the chip\'s own particular inner space If the character is not moved out, the following character that arrives will wipe out the past one On the turn around side, a microchip may have additionally sent a serial port chip, or a system chip, a character to convey. Under both case, the serial port chip or system chip, must send a "flag" (or a sign) to the microchip to READ out the character before the following one arrives; or transmit the NEXT character when the past one is put out by the chip. This flag or sign, is called an intrude on, which is "attested" when administration is required The equipment design joins a stick to an information stick on the microchip called interfere with demand, IRQ, which is utilized to caution the processor that administration is required. (See Fig 4-2)

Slide 5

4. Intrudes

Slide 6

4. Hinders 4.2 Interrupts Basics – 2 On recognizing an "affirmed" stick, the chip "instantly" stops the execution of the arrangement of directions (errand code) to take care of the intrude on: The microchip saves money on the stack the address of (what might have been) the following guideline It spares the "dynamic" registers (those as of now being used for the present operation) onto the stack It hops to the interfere with administration routine (ISR) – composed by installed program engineer Prior to executing the last (RETURN) direction of the ISR, the chip pops (recovers) the spared enroll values from the stack, reloads the PC with the spared address from the stack, and proceeds with execution of the "ended" undertaking code. [The RETURN is either a designer composed guideline or a unique direction gave by the microprocessor.] (See Fig 4-3.)

Slide 8

4. Hinders 4.3 The Shared-Data Problem Shared factors utilized as a part of both hinder and undertaking codes for correspondence The intrude on routine is initiated at whatever point an occasion strikes handle it, brought on by either 1) equipment interfere with connected to a sensor or 2) a clock interfere with bringing on period check or occasion event (See Fig 4.4) Problem? At the point when hinder happens between the two explanations iTemp0 = … set to 73 (intrude on happens and handler is summoned to set both iTemperatures [] to 74) iTemp1 = … set to 74 If( ) … will be TRUE to bring about a caution, when it shouldn\'t

Slide 11

4. Interferes with The Shared-Data Problem - 1 Fig 4.5 and Fig 4.6 Code in Fig 4.5 takes out setting of neighborhood factors, yet hinder can at present happen inside the if()- proclamation, bringing on a false-caution to be called. Code in Fig 4.6 records the get together form, which demonstrates that a hinder can happen after the MOVE R1, … direction and before MOVE R2, … . Since the principal MOVE operation takes a couple of microseconds to execute before the second MOVE operation, enough time for the equipment to affirm an interfere with flag The intrude on routine does not change the qualities in R1 after the call – saved money on the stack

Slide 15

4. Hinder 4.3 The Shared-Data Problem - 2 Solving the Shared Data Problem Use impair and empower intrude on directions when assignment code gets to shared information Code in Fig 4.7 takes care of the issue, since regardless of the possibility that the equipment attests an interfere with flag to peruse the new temperature values (in the handler), the chip will finish the errand code first If the undertaking code is in C, the compiler will embed empower/cripple guidelines in the relating gathering code (See Fig 4.8) If the errand code in C doesn\'t have empower/incapacitate builds, then the installed software engineer must utilize different systems to permit empower/handicap of interferes with Other ways: Atomic or Critical Section code fragments for empower/debilitate interfere

Slide 19

4. Hinders 4.3 The Shared-Data Problem - 3 Atomic/Critical Section – fragment/square of code whose announcements must be executed, without interference since normal/shared information is being gotten to, in a settled chip cycles Needed in undertaking code when factors/information are shared. (Non-shared information can be gotten to or prepared anyplace else in the errand code.) Fig 4.9 demonstrates an illustration undertaking code, which can return wrong outcomes if the clock attests a hinder amid the counts in the if()- proclamation Fig 4.10 is an answer, to such an extent that regardless of the possibility that the code is brought in the basic area of some piece of the assignment code, the empower/impair securities will maintain a strategic distance from unintentional "empowering" of the hinder amidst that basic segment Fig 4.11 records an answer that works when the get together code for the arrival articulation is a long-MOVE. It doesn\'t in the event that it takes various short-MOVE operations Fig 4.12 records an answer that peruses/re-peruses time an incentive without utilizing unequivocal empower/debilitate. It works best if compiler streamlining is under control to abstain from avoiding the re-read or while proclamation by utilizing the unstable watchword to announce the mutual information/variable

Slide 26

4. Hinders 4.4 Interrupt Latency How long does it take for my implanted framework to react to outside boost (or intrude), when the flag is attested? Relies on upon: 1. To what extent is the intrude on handicapped (administration time or taking care of time) 2. Time it takes to execute/handle the higher need interfere (than the present one) 3. Time it takes the chip to spare setting and hop to the handler 4. Time it grasps the handler to spare the unique circumstance and begin "responsive" work Measuring each of the eras 1,2,4: (i) Write short and proficient code and measure to what extent it takes to run (framework time), dispensing with irrelevant/helper code (that can be taken care of in an unexpected way) from the handler itself (ii) Look-up and include the guideline process durations for individual directions 3: Look-up from the microchip producer\'s manuals

Slide 27

4. Hinders 4.4 Interrupt Latency – 1 Latency as a component of the time a hinder is incapacitated E.g., given (the accompanying parameters of a framework): Disable time: 125 usec for getting to shared factors in errand code Disable time: 250 usec for getting to time factors/values from a clock intrude on Disable time: 625 usec for reacting to interprocessor signs Will the framework work under these limitations? Yes, in light of the fact that after the initial 125 usec (assignment code), the clock and processor intrude on solicitations will be attested: the following 250 usec the clock is taken care of, and soon thereafter the clock esteem will be 375 usec. The processor is then dealt with (after the 250 usec time), for the following 375 usec – a lot of time to complete before the 625 usec due date. (See Fig 4.13) If the chip speed is sliced down the middle, all taking care of and handicapped circumstances will twofold, and under similar requirements, the framework won\'t work. Including a system handler with higher need (than the processor), will bring about dormancy issues and won\'t work (See Fig 4.14)

Slide 28

Figure 4.13 Worst Case Interrupt Latency Processor gets to interprocessor ISR. ISR does Critical work. Undertaking code cripples interferes. IRQ 250 μsec Interprocessor hinder happens. 300 μsec Time to due date: 625 μsec

Slide 30

4. Hinders 4.4 Interrupt Latency - 2 Avoiding the Disabling of Interrupts Write undertaking and handler code so that both code sections write to, or read from, various parts (cradles) of a mutual information structure Fig 4.15 – Arrays An and B, shared between both codes however never got to at same time Fig 4.16 – A line structure is shared, yet assignment code read from already composed temp values (diverse cells in the line), while the handler composes in front of the errand code

Recommended
View more...