1/30
Flashcards based on lecture matarial, made by Gemini 3 Pro.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
What are the three main components of a simple computer system?
Central Processing Unit (CPU)
Main Memory
Input/Output (I/O) Subsystem
What are the two principal parts of a CPU?
The Datapath (ALU + Registers) and the Control Unit.
What is the function of the ALU (Arithmetic Logic Unit)?
It performs arithmetic operations (addition, subtraction) and logical operations (AND, OR, NOT) on data.
What is the purpose of the Program Counter (PC) register?
It holds the memory address of the next instruction to be executed.
What is the purpose of the Instruction Register (IR)?
It holds the instruction that is currently being executed.
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).
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).
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.
What is the relationship between Clock Frequency and Cycle Time?
They are reciprocals. Cycle Time = 1 / Frequency.
What is the CPU Performance Equation?
CPU Time = (Instructions / Program) × (Avg Cycles / Instruction) × (Seconds / Cycle)
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.
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.
What is the Register Transfer Language (RTL) for the FETCH stage?
MAR
What is the RTL for the LOAD X instruction?
MAR
What is the RTL for the STORE X instruction?
MAR
What is the RTL for the ADD X instruction?
MAR
What does the instruction SKIPCOND 400 do?
It skips the next instruction if the Accumulator (AC) is equal to 0.
What does the instruction SKIPCOND 000 do?
It skips the next instruction if the Accumulator (AC) is less than 0.
What does the instruction SKIPCOND 800 do?
It skips the next instruction if the Accumulator (AC) is greater than 0.
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).
What is the RTL for the ADDI X (Add Indirect) instruction?
MAR
What defines a CISC architecture?
Complex Instruction Set Computer. It has many instructions, variable instruction lengths, and complex hardware to minimize code size.
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.
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.
In the MARIE FDE cycle, which register is implicitly updated at the end of the Fetch phase?
The Program Counter (PC) is incremented.
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.
If address 104 contains value 0023, what does LOAD 104 do?
It copies the value 0023 from memory into the Accumulator (AC).
What is a Bus?
A set of shared wires used to connect multiple subsystems (CPU, Memory, I/O) allowing data transfer between them.
What is the 'Stored Program' concept?
The idea that instructions (program code) and data are both stored in the same writable main memory.
Which register connects directly to the Input and Output devices in MARIE?
InREG (Input Register) and OutREG (Output Register).
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.