Computer Architecture and Assembly Language Review

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/53

flashcard set

Earn XP

Description and Tags

Flashcards for reviewing lecture notes on computer architecture and assembly language.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

54 Terms

1
New cards

Binary to Hexadecimal Conversion

Splitting the binary number into groups of four and converting each group into its hexadecimal equivalent.

2
New cards

Hexadecimal (Base 16)

A base-16 number system that uses digits 0-9 and letters A-F to represent values.

3
New cards

Minimum Bits Required

To find the minimum number of bits, convert the number to binary and count the bits.

4
New cards

Bitwise Mask AND

Using a mask to selectively zero out bits in a number.

5
New cards

Bitwise Mask OR

Using a mask to selectively force bits to one in a number.

6
New cards

ASCII Table Decoding

A table used to decode binary messages into characters, paying attention to capitalization.

7
New cards

Calculating Number of Bytes

Divide the number of bits by 8 and round up to the nearest whole number.

8
New cards

Calculating Number of Bits

Multiply the number of bytes by 8.

9
New cards

Two's Complement Decimal Value

Flip the bits and add one to compute the magnitude, remember to apply the negative sign.

10
New cards

Right Logical Shift

Shifting bits to the right and padding with zeros.

11
New cards

MIPS-32, x86-64, and ARM64 ISAs

Assembly languages that are instruction set architectures.

12
New cards

MOVZ (Move with Zero)

Assembly Language instruction to set a register and zero out the rest.

13
New cards

MOVK (Move with Keep)

Assembly language instruction that updates specific bits while leaving the rest untouched.

14
New cards

Left Logical Shift

Shifting bits to the left and padding with zeros.

15
New cards

TST Instruction

Assembly instruction used to check if a bit is set.

16
New cards

ORR Instruction

Assembly instruction used to set a bit.

17
New cards

AND with Inverted Bitmask Instruction

Assembly instruction used to clear a bit.

18
New cards

EOR Instruction

Assembly instruction used to flip a bit.

19
New cards

RISC Architecture

An architecture with a smaller, more optimized set of instructions, emphasizing simplicity and efficiency and lower power consumption.

20
New cards

CISC Architecture

An architecture with complex instructions, variable instruction length, and direct memory access.

21
New cards

Compiling and Assembly

Converting high-level code to assembly code and then to machine code for execution.

22
New cards

Implementing Loops in ARM64 Assembly

Using MOV, SUBS, and B.PL or MOV, ADD, CMP, and B.LT.

23
New cards

Memory Hierarchy

Memory organization based on access time, size, and cost.

24
New cards

Stored Program Concept

Instructions and data are stored in memory as bytes.

25
New cards

Memory Segments

Text (code), static data, stack, and heap.

26
New cards

IEEE-754 Number

Extract components from a given IEEE-754 number in hexadecimal format and calculate the decimal value of the number.

27
New cards

CPU Cache

The small, high-speed memory located near the CPU that stores copies of frequently accessed data.

28
New cards

CPU Cache Predictive Models

LRU, FIFO, Random, LFU, next line predictions, stride based.

29
New cards

Object Code

Requires linking and is not executable.

30
New cards

Arithmetic Addition of Two Binary Numbers

Shows your work (including carries).

31
New cards

Labels and Addresses

Refer to positions in code or data.

32
New cards

Memory Segments Mutability

Data word 42. Alabel pointing to memory word w value42 I L.org Heap StaticData Codetext

33
New cards

Range of Unsigned Integers

0 to 2^N - 1

34
New cards

Range of Signed Integers

-2^(n-1) to 2^(n-1) - 1

35
New cards

Number of Distinct Values

2^N

36
New cards

Bitwise NOT

Flips every bit

37
New cards

AND Gate

Line (think of N and D have straight lines)

38
New cards

OR Gate

Curve (o is curved)

39
New cards

XOR Gate

Two curves (think double of OR)

40
New cards

NOT Gate

Open circle at tip, same design as their counter

41
New cards

Datapath Components

Set of hardware components responsible for executing instructions specifically, moving and transforming data.

42
New cards

Register File

stores values temporarily

43
New cards

ALU

performs arithmetic and logic operations (add, AND)

44
New cards

PC (Program counter)

holds address of current instruction

45
New cards

Data memory

holds data being read/ written by the program

46
New cards

ARM64 general-purpose Registers

31 general-purpose registers named X0 through X30, plus a zero/register alias XZR/SP

47
New cards

Xn

Full 64-bit register

48
New cards

Wn

Lower 32 bits of Xn (called half-registers)

49
New cards

Using the stack in ARM64 Assembly

Saving register values, passing extra arguments, local variables, Return addresses

50
New cards

STP

Store Pair (push 2 registers)

51
New cards

LDP

Load Pair (pop 2 registers)

52
New cards

STR / LDR

Store/load a single register

53
New cards

SUB SP, SP, #N

Make space on stack

54
New cards

ADD SP, SP, #N

Deallocate space from stack