Computer Hardware (5) - Assembly Language and MIPS

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

1/29

flashcard set

Earn XP

Description and Tags

Flashcards covering introductory assembly language concepts, MIPS architecture, memory organization, and the SPIM simulator based on Lecture 10 notes.

Last updated 11:49 PM on 5/4/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

30 Terms

1
New cards

System Software

Acts as a bridge between hardware and user programs to make a computer usable by managing memory, I/O operations, and program loading.

2
New cards

Operating System (OS)

A set of programs providing an interface between the user and hardware that hides hardware complexities and manages data, programs, and resources efficiently.

3
New cards

High-Level Programming Languages

Languages like Python, Java, and C++ designed for human readability that abstract away machine-specific details to focus on problem-solving.

4
New cards

Low-Level Programming Languages

Languages closer to machine language, such as Assembly, that provide more control over hardware and are used for system programming.

5
New cards

Machine Level (Machine Code)

The lowest level of code execution consisting of binary instructions that a computer's CPU can execute directly.

6
New cards

Bytecode

An intermediary form of code, such as those produced by a Java compiler (.class.class files), that needs further interpretation or just-in-time compilation.

7
New cards

Assembly Language

A low-level language providing precise control over execution, efficient memory usage, and direct access to CPU registers and memory.

8
New cards

Assembler

A translator that converts human-readable assembly language into raw machine instructions using a one-to-one mapping.

9
New cards

RISC (Reduced Instruction Set Computer)

A design philosophy from the early 1980s that focuses on speeding up the most simple and commonly used instructions for faster execution.

10
New cards

CISC (Complex Instruction Set Computer)

A computer design that supports many complex instructions to reduce instructions per program, often at the cost of slower execution for simple instructions.

11
New cards

MIPS (Microprocessor without Interlocking Pipeline Stages)

A RISC-based processor designed by John Hennessy in 1981, widely used in embedded systems like automotive computers.

12
New cards

Segmentation

The practice of keeping instructions and data in separate sections of memory to prevent the computer from executing data or mistaking instructions.

13
New cards

Text Segment

The section of MIPS memory starting at 0x4000000x400000 that stores the program's instructions (code).

14
New cards

Data Segment

The section of MIPS memory starting at 0x100000000x10000000 that holds static/global variables and dynamically allocated memory (heap).

15
New cards

Stack Segment

The section of MIPS memory starting near 0x7fffffff0x7fffffff that grows downward; used for function calls and local variables.

16
New cards

Program Counter (PC)

A register that points to the memory address of the next instruction to be executed.

17
New cards

Floating-Point Registers

A set of 16 registers (f0f0 - f15f15) used to store floating-point values like 3.459×1093.459 \times 10^9 for numerical computations.

18
New cards

$zero

MIPS register number 0, which always holds the constant value 0.

19
New cards

$v0-$v1

MIPS registers 2-3 used for returning values from functions.

20
New cards

$a0-$a3

MIPS registers 4-7 used for passing arguments.

21
New cards

$sp

The MIPS stack pointer register, numbered as register 29.

22
New cards

SPIM

A software tool that simulates a MIPS R2000/R3000 RISC processor environment to assemble, run, and debug MIPS programs.

23
New cards

syscall

A specific MIPS instruction used to request operating system services from the Kernel, such as I/O operations.

24
New cards

Mnemonics

Symbolic names for machine instructions, such as MOV, ADD, la (load address), and li (load immediate).

25
New cards

Assembler Directive

Commands for the assembler that are not translated into machine code, such as .data or .text to define memory segments.

26
New cards

Pseudo-Instructions

Instructions like la or li that do not correspond to a single machine instruction but are translated by the assembler into a sequence of machine instructions.

27
New cards

Immediate Value

A numerical constant that is embedded directly within a machine instruction rather than being fetched from memory.

28
New cards

Breakpoint

A predefined line in the code where program execution pauses to allow examination of the machine state, such as registers and memory.

29
New cards

lw (load word)

An instruction that loads a 4-byte word from a memory address into a register.

30
New cards

sw (store word)

An instruction that stores a 4-byte word from a register into a memory address.