131 Week 17 - Memory Mapped IO Flashcards

1
Q

Memory mapped IO

A

A mechanism for the CPU to interact with IO devices using memory addresses.
Hardware device registers (GPIO, UART) are mapped to specific memory addresses which the CPU can then interact with hardware by reading/writing to these addresses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

IO bus

A

The bus used to interface the CPU and peripheral devices.
Devices attach to the IO bus using IO modules and interfaces.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

IO modules

A

A hardware component that manages the transfer of data between the CPU and peripheral devices

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

IO interface

A

The intermediary logic that connects the CPU/system bus to an I/O module or peripheral. It provides a standardized way for devices to communicate with the processor by defining how different hardware components connect at the electrical/signal level.
It makes sure that the device is ready for the next batch of data and that the host is ready to receive the next batch of data from the peripheral device.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Protocol

A

The form and meaning of the signals exchanged between senders and receivers. Signals can either be command or data signals.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Handshake

A

A protocol exchange where the receiver sends a signal to either acknowledge commands/data that was sent or to say it is ready to receive data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

IO register

A

An IO register is the memory address associated with the IO device.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does MMIO work

A

IO devices and memory share the same address space. Each IO device has its own reserved block of memory.
Data transfers to/from the IO device is done by moving bytes to/from the memory address mapped to the device.
From the programmers perspective, MMIO is like using regular load/store instructions making it simple and convenient for the programmer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What memory addresses are used for MMIO operations

A

Typically 0x40000000-0x60000000 is used for MMIO operations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Polled IO

A

The CPU monitors a control/status register associated with a port by repeatedly checking the status (polling) of a control bit . When a byte arrives in the port a bit in the control register is set.
If, when the CPU polls the control bit and it is set, the CPU will reset the control bit, receive the byte and processes it then resumes polling the register as before.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Interrupt driven IO

A

Instead of constantly polling a register, the CPU waits for an IO device to send an interrupt.
When an IO device sends an interrupt, it pause regular execution to handle the exception from the IO device, then returns to regular execution once the interrupt has been handled.
IO devices can be configured whether to interrupt for every word or for an entire batch of data - configurable granularity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

GPIOTE

A

An exception handler for Nordic Semiconductor’s nRF series microcontrollers. Can be used for interrupt driven IO on microbits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly