1/43
Comprehensive vocabulary flashcards covering computer architecture vs. organization, computer generations, CPU functional units, system buses, instruction cycles, CPU registers, and language translators from the COM 113 course.
Computer Architecture
A functional description of requirements and design implementation for the various parts of a computer. It deals with high-level design issues and functional behavior, defining logical aspects visible to the programmer (such as instruction sets, registers, data types, and addressing modes) to describe what the computer does.
Computer Organisation
The operational structure and physical implementation of the architectural design. It addresses low-level design issues and interconnections between hardware components (such as bus structures, memory hierarchy, and I/O systems) that are invisible to the programmer, describing how the computer executes its functions.
First-Generation Computers
Computers developed between 1940 and 1956 (or approximately 1946–1957) that utilized vacuum tubes as their primary electronic component, programmed in machine language, used magnetic drums and magnetic tapes for memory, and operated at typical speeds of about 40,000 operations per second. Examples include ENIAC, UNIVAC 1, IBM 650, and IBM 701.

Vacuum Tube
The primary electronic switching component used in first-generation computers that made machines large (often taking up an entire room), slow, and power-intensive.
Second-Generation Computers
Computers developed between 1956 and 1963 (or approximately 1958–1964) that replaced vacuum tubes with transistors, used assembly and machine language, utilized magnetic cores and magnetic tapes/disks for storage, consumed less power, and operated at approximately 200,000 operations per second. Examples include the PDP-8, IBM 1400 series, IBM 7090/7094, and UNIVAC 1107.

Transistor
The primary solid-state electronic component introduced in second-generation computers, consisting of collector, base, and emitter terminals, which allowed computers to become smaller, faster, and generate less heat compared to vacuum tubes.
Third-Generation Computers
Computers from 1964 to 1971 (or approximately 1965–1971) based on Integrated Circuits (ICs) using small and medium scale integration. They introduced high-level programming languages, monitors, and keyboards, operating at typical speeds of around 1,000,000 operations per second. Examples include the IBM 360, IBM 370, PDP-11, and UNIVAC 1108.

Integrated Circuit (IC)
A microelectronic component combining multiple transistors and circuitry onto a single chip, serving as the foundational technology for third-generation computers.
Fourth-Generation Computers
Computers spanning from 1971 to the present that utilize microprocessors powered by Large-Scale Integration (LSI) and Very Large-Scale Integration (VLSI), semiconductor memory (RAM, ROM), graphical user interfaces (GUIs), and networking. Examples include the IBM PC, Apple Macintosh, Apple II, and Altair 8800.

Microprocessor
A complete central processing unit integrated onto a single microchip via large-scale and very large-scale integration (VLSI), containing thousands to millions of transistors.
Fifth-Generation Computers
Computing systems characterized by Artificial Intelligence (AI), nanotechnology, Ultra Large-Scale Integration (ULSI) with millions of transistors per microchip, parallel processing across multiple microprocessors, and natural language understanding. Examples include modern desktops, laptops, tablets, and smartphones.

D-Wave Quantum Computer
An emerging sixth-generation computing technology that utilizes quantum mechanics principles such as qubits and superposition to solve complex computational problems.
Input Unit
A basic functional unit of a computer used to enter data and instructions into the machine; examples include a mouse, joystick, tracker ball, light pen, digitizer, and scanner.
Read-Only Memory (ROM)
A form of non-volatile primary memory that stores essential system programs and firmware routines, such as the BIOS, POST, and I/O drivers required to initialize and manage computer hardware.
Random Access Memory (RAM)
Volatile read/write primary memory or user memory that temporarily holds run-time program instructions, code, and operational data during program execution.
Arithmetic Logic Unit (ALU)
The sub-component of the CPU that executes computational capabilities, specifically carrying out arithmetic operations (such as addition and subtraction) and logical operations (such as comparisons, AND, and OR).
Control Unit (CU)
The sub-component of the CPU that coordinates and supervises all processor and hardware activities by issuing control signals, managing the instruction execution order, and directing data movement.
System Bus
A single shared communication pathway that links the major functional units of a computer system (CPU, memory, and I/O), combining the functions of an address bus, a data bus, and a control bus.
Address Bus
A uni-directional bus pathway concerned with passing memory addresses one way, strictly from the CPU to main memory or cache, to designate specific read or write locations.
Addressability
The concept that every individual storage location within a computer's memory possesses its own distinct and unique numerical address.
Data Bus
A bi-directional bus pathway that carries operational data and instructions between the processor and memory/peripherals; the volume of data it can transfer simultaneously is governed by the word size.
Word Size
The width of the data bus, indicating how many bits of information can be transferred during each cycle (commonly 64 bits or 8 bytes in modern processors).
Control Bus
A set of signal lines that carries timing and operational commands (such as read/write signals and clock pulses) from the control unit to manage data flow and synchronize components.

Von Neumann Architecture
A computer design (also known as Princeton Architecture) proposed in 1945 where program instructions and data share the same physical memory unit and system bus, executing instructions sequentially.

Harvard Architecture
A computer design featuring physically separate storage units and separate buses for program instructions and data, allowing simultaneous fetching of instructions and operands for higher performance.

Instruction Cycle
The continuous four-stage machine cycle by which a processor executes software instructions: Fetch instruction from memory, Decode instruction into commands, Execute commands in the ALU, and Store results back to memory or registers.
Program Counter (PC)
A dedicated CPU register that holds the memory address of the next instruction to be fetched; it increments automatically or updates when branch instructions occur.
Memory Address Register (MAR)
The internal CPU register directly connected to the address lines of the system bus; it holds the exact memory address targeted for a read or write operation.
Memory Buffer Register (MBR)
Also called the Memory Data Register (MDR), this register is directly connected to the data bus and holds the data read from memory or the data waiting to be written to memory.
Instruction Register (IR)
A processor register that temporarily holds the binary opcode and instruction bits that have just been fetched from memory and are about to be decoded and executed.
Accumulator (AC)
A frequently used processor register in single-register architectures that stores intermediate results of arithmetic and logical computations directly from the ALU.
Condition Code Register (CCR)
A status register containing individual bit flags (such as the Carry Flag 'C' and Overflow Flag 'V') that indicate specific outcomes or error conditions of preceding operations.

Processor Core
An independent processing unit integrated within a CPU containing its own ALU and Control Unit, enabling parallel execution of multiple program threads.
Cache Memory
High-speed temporary semiconductor memory positioned between the CPU and RAM to store frequently reused instructions and data, reducing access latency. It is graded into L1 (fastest, smallest, on-chip), L2, and L3.
Clock Speed
The operating frequency of a processor measured in megahertz (MHz) or gigahertz (GHz), defining how many machine cycles or pulses the CPU can execute per second (e.g., a 2 GHz CPU performs two billion cycles a second).
Overclocking
The practice of manually configuring a CPU to run at a clock speed higher than its manufacturer default via the BIOS; excessive overclocking risks data corruption and thermal overheating.
Instruction Set Architecture (ISA)
The specification that serves as the boundary and interface between hardware and software, defining the vocabulary of operations, data types, registers, addressing modes, and formats visible to machine and assembly programmers.

Instruction Format
The structured layout of bits within a machine instruction divided into predefined fields, such as the Operation Code (Opcode), Addressing Mode, and Address/Operand fields.
Operation Code (Opcode)
The specific field within an instruction format that designates the exact machine operation (such as ADD, LOAD, or STORE) to be performed.
Mode Field
A segment of an instruction format specifying how the effective memory address or operand is determined according to supported addressing modes.
Branch Instruction
A program control instruction that modifies sequential execution by loading a new branch target address into the Program Counter (PC), occurring conditionally or unconditionally.
Compiler
A system software language processor that analyzes an entire high-level program simultaneously, checking both syntactic and semantic errors, and translates it into machine-executable object code prior to execution.
Interpreter
A language translator that reads, checks, and executes a high-level source program line by line directly into machine actions without generating a standalone object code file.
Transpiler
A specialized source-to-source translator or compiler that converts source code written in one high-level programming language into another high-level language (for example, translating legacy COBOL into Java).