CPN CPE Computer Engineering key terms
CPN CPE Computer Engineering · Get comfortable with the vocabulary.
- Hazard (data, control, structural)
- Related: Pipeline forwarding, Branch prediction
A condition that prevents an instruction from executing in its planned pipeline slot. Data hazards arise from operand dependence, control hazards from branches, and structural hazards from two operations needing the same hardware resource simultaneously.
- Pipeline forwarding (bypassing)
- Related: Hazard (data, control, structural), Pipeline stall
A technique that routes a result directly from a later pipeline stage back to an earlier stage that needs it, avoiding a stall. It resolves many read-after-write data hazards without waiting for the value to be written to the register file.
- Pipeline stall
- Related: Pipeline forwarding, Hazard (data, control, structural)
A deliberate pause inserted into instruction issue so that a dependent instruction waits until its operand is available. Stalls cost cycles; forwarding and scheduling reduce how often they are needed.
- Branch prediction
- Related: Hazard (data, control, structural), Speculative execution
Hardware or compiler logic that guesses whether a branch is taken, and often its target, before the condition is resolved. A correct guess keeps the pipeline full; a misprediction flushes fetched instructions and wastes cycles.
- Speculative execution
- Related: Branch prediction
Running instructions along a predicted path before knowing whether that path is correct, then committing results only if the guess holds. It improves throughput but creates security exposure when speculation leaves observable traces.
- Cache coherence
- Related: Memory consistency model, Direct-mapped cache
A protocol that keeps multiple private caches in a multiprocessor system consistent, so no core reads a stale copy of a shared location. Snooping and directory schemes are the common approaches.
- Memory consistency model
- Related: Cache coherence
The rules defining the order in which memory operations from different threads may appear to execute. It constrains what reordering hardware and compilers may perform and determines which synchronization primitives are required for correctness.
- Direct-mapped cache
- Related: Cache coherence, Set-associative cache
A cache organization in which each memory block maps to exactly one cache line, selected by index bits of the address. It is simple and fast but suffers conflict misses when blocks compete for the same line.
- Set-associative cache
- Related: Direct-mapped cache, Cache coherence
A cache organization in which each memory block may occupy any of several ways within one indexed set. Higher associativity reduces conflict misses at the cost of more comparators and slower lookup.
- RISC vs CISC
- Related: Instruction-level parallelism
Two design philosophies. RISC favors simple fixed-length instructions and heavy register use; CISC favors richer variable-length instructions that do more per instruction. Modern processors blend features of both.
- Instruction-level parallelism
- Related: RISC vs CISC, Hazard (data, control, structural)
The degree to which independent instructions in a program can execute simultaneously. Superscalar issue, out-of-order execution, and deep pipelines increase it; true data dependences limit it.
- Karnaugh map
- Related: Boolean minimization, Don't-care condition
A grid layout of a truth table arranged in Gray-code order so adjacent cells differ by one variable. Grouping adjacent 1s yields a minimized sum-of-products Boolean expression.
- Boolean minimization
- Related: Karnaugh map, Don't-care condition
The process of reducing a logic expression to fewer terms or literals while preserving its truth table. Algebraic identities, Karnaugh maps, and Quine-McCluskey are standard methods.
- Don't-care condition
- Related: Karnaugh map, Boolean minimization
An input combination whose output value is irrelevant because it never occurs or its result does not matter. Treating such entries as either 0 or 1 can simplify the resulting logic.
- Setup and hold time
- Related: Metastability, Static timing analysis
Setup time is how long data must be stable before a clock edge; hold time is how long it must remain stable after. Violating either causes metastability in a flip-flop.
- Metastability
- Related: Setup and hold time, Clock domain crossing
A flip-flop state in which the output hovers between logic levels for an unpredictable time because setup or hold requirements were violated. It is mitigated by synchronizers, not eliminated by them.
- Clock domain crossing
- Related: Metastability, Setup and hold time
Passing data between circuits clocked by unrelated clocks. Reliable designs use synchronizer flip-flops, asynchronous FIFOs, or handshake protocols to avoid metastability and data loss.
- Static timing analysis
- Related: Setup and hold time, Critical path
A design-time check that computes worst-case path delays against clock constraints without simulation vectors. It reports setup and hold violations and the maximum achievable clock frequency.
- Critical path
- Related: Static timing analysis
The longest delay path through a combinational logic network between registers. It sets the minimum clock period for the circuit, so shortening it raises maximum operating frequency.
- Mealy and Moore machines
- Related: Finite state machine design
Two finite-state machine styles. A Moore machine's outputs depend only on the current state; a Mealy machine's outputs depend on state and current input, typically responding faster but glitchier.
- Finite state machine design
- Related: Mealy and Moore machines
Specifying a sequential circuit as states, transitions, inputs, and outputs, then encoding states and deriving next-state and output logic. It is the standard method for control logic.
- Deadlock
- Related: Semaphore, Priority inversion
A set of processes each waiting for a resource held by another in the set, so none can proceed. It requires mutual exclusion, hold-and-wait, no preemption, and circular wait to occur.
- Semaphore
- Related: Deadlock, Priority inversion
A synchronization primitive holding an integer count with atomic wait and signal operations. A binary semaphore acts as a mutex; a counting semaphore limits access to a pool of resources.
- Priority inversion
- Related: Semaphore, Deadlock
A high-priority task is blocked because a low-priority task holds a needed lock and is itself preempted by a medium-priority task. Priority inheritance or ceiling protocols bound the delay.
- Virtual memory and page table
- Related: Translation lookaside buffer, Thrashing
An address translation scheme mapping virtual pages to physical frames via per-process page tables. It provides isolation, demand paging, and a larger apparent address space than physical RAM.
- Translation lookaside buffer
- Related: Virtual memory and page table
A small associative cache of recent virtual-to-physical address translations. A TLB hit avoids walking the page table; a miss adds latency and may require several memory accesses.
- Thrashing
- Related: Virtual memory and page table
A condition where the working set of running processes exceeds available physical memory, so the system spends most time servicing page faults instead of executing instructions.
- TCP three-way handshake
- Related: TCP congestion control, Subnetting and CIDR
Connection setup using SYN, SYN-ACK, and ACK segments to agree on initial sequence numbers and confirm both directions are reachable. It precedes reliable data transfer.
- TCP congestion control
- Related: TCP three-way handshake
Sender-side algorithms (slow start, congestion avoidance, fast retransmit and recovery) that adapt the sending rate to inferred network capacity, reducing loss and collapse.
- Subnetting and CIDR
- Related: ARP and routing basics
Dividing an IP address space into smaller networks using prefix lengths, expressed as address/prefix. CIDR allows variable-length prefixes and route aggregation, replacing classful addressing.
- ARP and routing basics
- Related: Subnetting and CIDR
ARP resolves an IP address to a link-layer MAC address on a local segment; routers forward packets between subnets using routing tables. Together they deliver packets hop by hop.
- SQL normalization (1NF, 2NF, 3NF)
- Related: ACID properties, Database index
Progressively removing redundancy and update anomalies: atomic values (1NF), no partial dependency on part of a key (2NF), no transitive dependency on non-key attributes (3NF).
- ACID properties
- Related: SQL normalization (1NF, 2NF, 3NF), Two-phase locking
Atomicity, consistency, isolation, and durability: the guarantees a transactional database provides so that concurrent failures never leave partially applied or contradictory data.
- Two-phase locking
- Related: ACID properties, Deadlock
A concurrency control protocol in which a transaction acquires all locks before releasing any, in growing and shrinking phases. It guarantees serializability but can cause deadlock.
- Database index
- Related: SQL normalization (1NF, 2NF, 3NF)
An auxiliary structure, commonly a B-tree, that speeds lookups on indexed columns at the cost of extra storage and slower writes. It turns full scans into targeted searches.
- Public-key cryptography
- Related: Digital signature, Hash function
A scheme using a mathematically linked key pair: a public key for encryption or verification and a private key for decryption or signing. Security rests on problems such as factoring or discrete logarithms.
- Digital signature
- Related: Public-key cryptography, Hash function
A value produced by hashing a message and encrypting the hash with a private key, verifiable by anyone with the public key. It provides integrity, authentication, and non-repudiation.
- Hash function (cryptographic)
- Related: Digital signature, Public-key cryptography
A one-way function mapping arbitrary input to a fixed-length digest, with preimage and collision resistance. It underpins integrity checks, password storage, and signature schemes.
- Watchdog timer
- Related: Real-time scheduling (RM/EDF), Interrupt latency
A hardware counter that resets the system if software fails to service it within a set interval. It recovers embedded systems from hangs and runaway code.
- Real-time scheduling (RM/EDF)
- Related: Watchdog timer, Priority inversion
Policies guaranteeing deadlines: rate-monotonic assigns fixed priorities by period; earliest-deadline-first dynamically picks the task with the nearest deadline. EDF is optimal for preemptive uniprocessors.
- Interrupt latency
- Related: Watchdog timer, Real-time scheduling (RM/EDF)
The delay between an interrupt request and the start of its handler, including hardware recognition, context save, and any masked region. It bounds worst-case response time in real-time systems.