Skip to content

CS 315-01 Lecture/Lab — Meeting Summary (Fall 2025)

  • Date: November 20, 2025
  • Time: 08:12 AM Pacific Time (US and Canada)
  • Meeting ID: 886 4953 2573

Quick Recap

  • The final major topic focused on how real processors increase throughput via parallel instruction execution (pipelining), not just faster single-instruction execution.
  • Project 7 was introduced; it extends a base processor, building on Project 6.
  • Core concepts covered: pipeline structure, instruction decoding, data/control hazards, and the use of pipeline registers.
  • Guidance was provided for running Project 6 tests.
  • Schedule and deliverables were outlined (Project 7, Lab 11, and upcoming class sessions).

Next Steps

  • Greg: Release Lab 11 with practice problems for next week’s exam.
  • Greg: Release Project 7 so students can begin immediately.
  • Students: Submit remaining project work, including incomplete tests, before the final exam deadline.
  • Greg: Post the Project 7 specification.
  • Greg: Post the Lab 11 problems.

Detailed Summary

Parallel Processing and Project Release

  • Greg introduced the semester’s final major topic: increasing processor throughput through parallel execution of instructions.
  • Project 7 will be released and requires extending a base processor (contrast: Project 6 involved building a processor from scratch).
  • Students may still earn points on previous projects by submitting remaining work before the final exam deadline.

Pipeline Processing and Throughput Optimization

  • Pipelining was explained using the assembly line and a laundry analogy:
  • Breaking tasks into stages allows multiple items to be processed simultaneously.
  • While the latency for a single item remains the same (e.g., a single load of laundry still takes 2 hours), the throughput increases significantly when multiple items are in flight.

Pipelining in Computer Architecture

  • A single-cycle processor can be partitioned into pipeline stages with registers storing intermediate results between stages.
  • Theoretical speedups of pipelining were discussed alongside real-world challenges:
  • Data hazards
  • Control hazards
  • Addressing these hazards is the core focus of Project 7.
  • An initial pipeline implementation and deeper hazard discussion will follow after the upcoming break.

Pipeline Structure and Hazard Handling

  • The pipeline includes distinct stages and pipeline registers that hold intermediate values.
  • Passing PC + 4 through the pipeline supports instructions such as jump-and-link.
  • Clearing (flushing) pipeline registers is essential for handling hazards.
  • Hazard mitigation techniques will be covered in greater detail later.

Instruction Decoder Refactoring Update

  • The instruction decoder was refactored into two parts:
  • Instruction word to INUM conversion.
  • A standard ROM (populated from a spreadsheet) that generates control signals.
  • Multiple instruction “versions in flight” are implemented for debugging, enabling visibility of instructions at each stage.
  • Control signals and data values are propagated through all stages for correctness and improved observability.

Processor Pipeline Implementation Overview

  • Guidance was provided on executing Project 6 tests; full execution is available as extra credit.
  • Temporary use of no-ops was demonstrated to allow jumps to propagate correctly (not a long-term solution).
  • Data dependency handling strategies were discussed.
  • Project 7 specification and Lab 11 problems will be posted.

Schedule and Logistics

  • Next meeting: Tuesday.
  • No labs on Wednesday of the following week.