4. Instruction Set Architecture & Assembly Programing

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/30

flashcard set

Earn XP

Description and Tags

Flashcards based on lecture matarial, made by Gemini 3 Pro.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

31 Terms

1
New cards

What are the three main components of a simple computer system?

  1. Central Processing Unit (CPU)

  2. Main Memory

  3. Input/Output (I/O) Subsystem

2
New cards

What are the two principal parts of a CPU?

The Datapath (ALU + Registers) and the Control Unit.

3
New cards

What is the function of the ALU (Arithmetic Logic Unit)?

It performs arithmetic operations (addition, subtraction) and logical operations (AND, OR, NOT) on data.

4
New cards

What is the purpose of the Program Counter (PC) register?

It holds the memory address of the next instruction to be executed.

5
New cards

What is the purpose of the Instruction Register (IR)?

It holds the instruction that is currently being executed.

6
New cards

What is the purpose of the Accumulator (AC) in MARIE?

It is a general-purpose register that holds data the CPU is currently processing (logic/arithmetic results).

7
New cards

What is the purpose of the Memory Address Register (MAR)?

It holds the memory address of the data being referenced (either to be read from or written to).

8
New cards

What is the purpose of the Memory Buffer Register (MBR)?

It holds the data just read from memory or the data waiting to be written to memory.

9
New cards

What is the relationship between Clock Frequency and Cycle Time?

They are reciprocals. Cycle Time = 1 / Frequency.

10
New cards

What is the CPU Performance Equation?

CPU Time = (Instructions / Program) × (Avg Cycles / Instruction) × (Seconds / Cycle)

11
New cards

What does ISA stand for and what is it?

Instruction Set Architecture. It is the interface between software and hardware, defining available instructions, data types, and addressing modes.

12
New cards

In MARIE's 16-bit instruction format, how are the bits divided?

Bits 15-12 (4 bits) for the Opcode.
Bits 11-0 (12 bits) for the Address.

13
New cards

What is the Register Transfer Language (RTL) for the FETCH stage?

MAR

14
New cards

What is the RTL for the LOAD X instruction?

MAR

15
New cards

What is the RTL for the STORE X instruction?

MAR

16
New cards

What is the RTL for the ADD X instruction?

MAR

17
New cards

What does the instruction SKIPCOND 400 do?

It skips the next instruction if the Accumulator (AC) is equal to 0.

18
New cards

What does the instruction SKIPCOND 000 do?

It skips the next instruction if the Accumulator (AC) is less than 0.

19
New cards

What does the instruction SKIPCOND 800 do?

It skips the next instruction if the Accumulator (AC) is greater than 0.

20
New cards

What is Indirect Addressing?

An addressing mode where the address in the instruction points to a memory location that contains the actual address of the operand (like a pointer).

21
New cards

What is the RTL for the ADDI X (Add Indirect) instruction?

MAR

22
New cards

What defines a CISC architecture?

Complex Instruction Set Computer. It has many instructions, variable instruction lengths, and complex hardware to minimize code size.

23
New cards

What defines a RISC architecture?

Reduced Instruction Set Computer. It has a small set of simple instructions, fixed instruction lengths, and relies on the compiler for complexity to maximize execution speed.

24
New cards

What is the primary advantage of Assembly Language over Machine Code?

Assembly uses mnemonics (like ADD, LOAD) and labels, making it readable by humans, whereas machine code is purely binary/hexadecimal.

25
New cards

In the MARIE FDE cycle, which register is implicitly updated at the end of the Fetch phase?

The Program Counter (PC) is incremented.

26
New cards

What happens during the Decode phase of the FDE cycle?

The Control Unit inspects the Opcode (bits 15-12 in IR) to determine which operation to perform.

27
New cards

If address 104 contains value 0023, what does LOAD 104 do?

It copies the value 0023 from memory into the Accumulator (AC).

28
New cards

What is a Bus?

A set of shared wires used to connect multiple subsystems (CPU, Memory, I/O) allowing data transfer between them.

29
New cards

What is the 'Stored Program' concept?

The idea that instructions (program code) and data are both stored in the same writable main memory.

30
New cards

Which register connects directly to the Input and Output devices in MARIE?

InREG (Input Register) and OutREG (Output Register).

31
New cards

Why does the SKIPCOND instruction generally require complex RTL logic?

Because it must check specific bits in the instruction (bits 11-10) to determine which condition (AC<0, AC=0, AC>0) to test.