Computer Engineering & ARM Cortex-M0 Architecture

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/31

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering core CPU components, register functions, memory organization, assembly language concepts, and computer architecture fundamentals based on the lecture materials.

32 Terms

1
New cards

Core Registers (Cortex-M0)

Internal processor storage consisting of 13×32-bit13 \times \text{32-bit} registers for temporary storage (r0–r12), 1×32-bit1 \times \text{32-bit} Stack Pointer (sp / r13), 1×32-bit1 \times \text{32-bit} Link Register (lr / r14), and 1×32-bit1 \times \text{32-bit} Program Counter (pc / r15).

2
New cards

ALU (Arithmetic Logic Unit)

The data processing unit inside the CPU responsible for performing arithmetic and logic operations.

3
New cards

Flags (Processor Status Register)

Status bits inside the processor that indicate the current operational state and outcome of recent CPU operations.

4
New cards

Control Unit with Instruction Register

The CPU component that controls the execution of instructions based on the machine code currently held in the Instruction Register (IR).

5
New cards

Bus Interface

The interface between the CPU and the external System Bus, acting as a bridge between internal and external communication buses.

6
New cards

Program Counter (pc)

Register r15, which points to the memory address from which the next instruction will be read.

7
New cards

Stack Pointer (sp)

Register r13, which points to the memory address where elements are currently read from or written to the stack.

8
New cards

Link Register (lr)

Register r14, used to hold and keep track of return addresses to jump back to when returning from subroutines or functions.

9
New cards

Instruction Fetch

The phase of the processor cycle in which an instruction is retrieved from code memory.

10
New cards

Instruction Execute

The phase of the processor cycle where the CPU performs the actions specified by the decoded instruction.

11
New cards

Word (Cortex-M0)

A 32-bit\text{32-bit} memory unit in the ARM Cortex-M0 architecture.

12
New cards

Half-word (Cortex-M0)

A 16-bit\text{16-bit} memory unit in the ARM Cortex-M0 architecture.

13
New cards

Little Endian

A multi-byte data representation where the least significant byte (LSByte) is stored at the lowest memory address.

14
New cards

Big Endian

A multi-byte data representation where the most significant byte (MSByte) is stored at the lowest memory address.

15
New cards

Word Alignment

The requirement that the memory address of a multi-byte element must be an integer multiple of its word size (44 bytes for the Cortex-M0).

16
New cards

Memory Map

A graphical layout showing the addresses and sizes of all elements communicating with the CPU, including memories, inputs, and outputs.

17
New cards

CODE Memory Section

A read-only section located in RAM or ROM that stores machine instructions and constants.

18
New cards

DATA Memory Section

A read-write memory section located in RAM that contains global variables, static variables, and the C heap.

19
New cards

STACK Memory Section

A read-write memory section located in RAM used for procedure calls, parameter passing, and storing local variables.

20
New cards

Load/Store Architecture

An architecture where data processing operations occur strictly between internal registers, and memory access is performed exclusively via explicit load and store instructions.

21
New cards

mov vs. movs Instructions

mov transfers data between registers without modifying processor status flags (supports high and low registers), while movs modifies processor flags and is restricted to low registers.

22
New cards

Pseudo-Instruction

An assembly directive or instruction (such as <ldr Rn, =literal>) that does not directly map to a single machine opcode, but is expanded by the assembler into real machine instructions and literal pool allocations.

23
New cards

Von Neumann Architecture

A computer architecture where both program instructions and program data share and are stored within the same unified memory space.

24
New cards

Preprocessor

The translation tool that processes directives such as #define and #include by textual substitution, generating modified C source code.

25
New cards

Compiler

The tool that translates high-level C source code into processor-specific, symbolic assembly language code.

26
New cards

Assembler

The tool that converts symbolic assembly language instructions into binary machine instructions, creating an object file.

27
New cards

Linker

The software tool that merges multiple object files into a single executable binary, performing address relocation and resolving inter-file references.

28
New cards

Main Memory (Arbeitsspeicher)

Central system memory connected directly to the CPU via the System Bus, offering byte-level access, and categorized as volatile (SRAM, DRAM) or non-volatile (ROM, Flash).

29
New cards

Secondary Storage

Peripheral, non-volatile storage connected via I/O ports that is accessed in data blocks, typically slower and cheaper than main memory (e.g., hard disks, SSDs, optical media).

30
New cards

System Bus

The electrical interconnect between functional units (CPU, memory, and I/O) consisting of data lines, address lines, and control signals.

31
New cards

Relative Branch

A branching mechanism where the destination target address is calculated relative to the current value of the Program Counter (PC).

32
New cards

Direct vs. Indirect Branch

A direct branch contains the target address or offset as part of the instruction itself, whereas an indirect branch retrieves the target address from an internal register.