Você está na página 1de 4

1.

ASSEMBLER DIRECTIVE

An assembler directive is a message to the assembler that tells the assembler something it needs to know in order to carry out the assembly process; for example, an assemble directive Tess the assembler where a program is to be located in memory. Examples of common assembler directives are ORG (origin), EQU (equate), and DS.B (define space for a byte).

2. RISC AND CISC

RISC
1. Simple instructions taking 1 cycle 2. Only LOADS/STORES reference memory 3. Highly pipelined

CISC
1. Complex instructions taking multiple cycles 2. Any instruction may reference memory 3. Not pipelined or less pipelined

4. Instructions executed by the hardware 5. Fixed format instructions

4. Instruction interpreted by the micro program 5. Variable format instructions

6. Few instructions and mode 6. Many instructions and modes 7. Complexity is in the compiler 7. Complexity is in the micro program 8. Multiple register sets 8. Single register set

3. Switching stare
The operating state of the ARM7TDMI core can be switched between ARM state and Thumb state using the BX instruction. This is described in the ARM Architecture Reference Manual

4. Polling

In electronic communication, 'polling' is the continuous checking of other programs or devices by one program or device to see what state they are in, usually to see whether they are still connected or want to communicate. 5. DCE & DTE DTE is short for Data Terminal Equipment and DCE stands for Data Communications Equipment DTE name indicates this is a piece of device that ends a communication line, whereas the DCE provides a path for communication. 6. Cycle stealing "Stealing" of a single CPU cycle, for example, to allow a DMA controller to perform a DMA operation. This is opposed to block operation where a DMA controller would request a bus, hold it for a complete transaction (typically 16-32 bytes but could last much longer) before releasing to a CPU. Cycle stealing generally occurs when the entire DMA transfer of data is finished, the DMA controller interrupts the CPU
7. Difference between ARM and Thumb states
ARM (Advanced RISC Machines) Needs more memory than Thumb, since all are RISC 32-bit instructions Totally 18 Registers: R1-R12, SP(R13), LR(R14), PC(R15), CPSR, SPSR used in exceptions T bit = 0 of CPSR represents ARM state Branch instruction (BX or BLX) to the address with LSB set to 0 enters ARM state. (Eg: BX 0x80000000) Thumb ("T" in the core's full name specifies Thumb. Eg: ARM7TDMI) Reduced memory consumption with 16-bit insturctions (have some 32-bit instructions too) Totally 12 Registers: R1-R7, SP, LR, PC, CPSR (These 12 registers have to be used to pass data between ARM and Thumb state) T bit = 1 of CPSR represents Thumb state Branch instruction (BX or BLX) to the address with LSB set to 1 enters Thumb state. (Eg: BX 0x80000001)

When exception occurs, ARM state is entered. When return from Exception, if T bit of SPSR is set to 0, returns to ARM Load and store instructions of R13 register manipulates stack When return from Exception, if T bit of SPSR is set to 1, returns to Thumb No way (instruction) to access status or coprocessor registers Has stack mnemonics PUSH, POP Advantages: Reduced memory, 16-bit bus can be used without compromising with speed Disadvantages: As above said, No way (instruction) to access status or coprocessor registers. Some functions that can be accomplished in a single ARM instruction can only be simulated with a sequence of Thumb instructions.

8. Vectored interrupts When a processor is interrupted to do a particular task, Program counter should be loaded with the address of subroutine (task). If the processor automatically generates the address then it is known as vectored interrupt. If user has to provide address of subroutine using CALL instruction then it is known as non-vectored interrupt

9. read-modify-write
The instructions that read the latch rather than the pin are the ones that read a value, possibly change it, and then rewrite it to the latch. These are called readmodify-write instructions.

10.

Busy flag

There must be some delay which is needed to be there for LCD to successfully process the command or data. So this delay can be made either with a delay loop

of specified time more than that of LCD process time or we can read the busy flag, which is recommended. The reason to use busy flag is that delay produced is almost for the exact amount of time for which LCD need to process the time. So is best suited for every application. 11. Key bounce

Mechanical switches are used as keys in most of the keyboards. When a key is pressed the contact bounce back and forth and settle down only after a small time delay (about 20ms). Even though a key is actuated once, it will appear to have been actuated several times. This problem is called Key Bouncing.

Você também pode gostar