CPU Flashcards
What is the UART?
universal asynchronous receiver transmitter, it provides serial communication
What is a the typical type of interface from I/O device to CPU?
digital
How many functions are integrated into the standard PC interface chip?
8251
What are serial communication parameters?
baud rate, number of bits per character, parity/no parity, even/odd parity, length of stop bit
What types of instructions can support I/O?
special purpose I/O instructions and memory-mapped load/store instructions
Which chip provides in, out instructions?
Intel x86
What kind of instructions do most CPUs use?
memory-mapped
Do I/O instructions preclude memory-mapped I/O?
no
Why is busy/wait very inefficient?
the CPU can’t do other work while testing the device and it’s hard to do simultaneous I/O
How do you efficiently check the status of I/O device?
interrupts
What does the interrupt do?
allows a device to change the flow control in the CPU and causes a subroutine call to the handle device
What does the interrupt force?
a subroutine call as the next instruction
When interrupt is triggered, how does the CPU know where to go back after the ‘subroutine call’?
the return address is saved that way it can go back to the foreground program once the subroutine call is done
How are the CPU and the device connected?
through a CPU bus
What is the CPU and device handshake?
device asserts interrupt request and CPU asserts interrupt acknowledge when it can handle interrupt
What is a priority?
determines which interrupt runs first
What is a vector?
determines what code is called for each type of interrupt (table of pointers to the interrupt handlers)
What is masking?
when an interrupt with lower priority than the current one is not recognized until the current interrupt is complete
What is the interrupt with highest priority that can never be masked called?
non-maskable priority
What is a non-maskable priority often used for?
power-down
What is the interrupt sequence?
CPU acknowledges a request, device sends vector, CPU calls handler, software processes request, CPU restores state to foreground program
What are some sources of interrupt overhead
handler execution time, interrupt mechanism overhead, register save/restore, pipeline-related penalties, cache-related penalties
What 2 types of interrupt does ARM7 support?
fast interrupt requests (FIQs), and interrupt requests (IQs)
What location does the interrupt table start at?
0