Fall Hours • COVID-19 Update

The Silicon Valley Campus is open 4–9:30 p.m. on Monday–Friday and 8 a.m.–5 p.m. on Saturday.

All campus visitors must be vaccinated, wear a mask, & submit a COVID symptom check. Visit our COVID page for updates.

Course

IO Concepts and Protocols: PCI Express, Ethernet, and Fibre Channel | EMBD.X406


Ever wondered what makes the IO system of a modern computer tick? Wanted to know more about PCI Express, Ethernet, and Fibre Channel, and how they all fit together? This course will help you understand the ins-and-outs of the IO technology. Traditional operating systems courses have treated IO superficially. This course focuses on IO technologies, and walks students through the complexities of IO subsystems in modern computer and networking systems.

After an introduction to the basic concepts of IO, we will look into deeper aspects regarding the most prevalent IO interconnect: PCI Express. We will study the need for PCI Express, its evolution from PCI/PCI-X, and the details of the protocol. We delve into address spaces and cover how devices are discovered and configured. We will then switch our attention to south side interconnects such as Ethernet and Fibre Channel. We will discuss their operation and, in the case of Fibre Channel, how targets are discovered and configured. Finally, we will tie everything together.

The course will comprise 10 lectures, homework assignments, and tests. By the end of the course, students would have a broad idea of how IO works in a modern computer system and be better prepared to learn about writing device drivers or troubleshooting IO problems. The course does not cover chip or board design aspect of the IO.

Learning Outcomes:
At the conclusion of the course, you should be able to:

  • Describe how IO works in a modern computer system
  • Understand how a device driver communicates with the hardware it controls
  • Explain protocol specifics of PCI Express, Ethernet, and Fibre Channel

Topics Include:

  • Modern computer architecture in block diagram format
  • Flow of an IO request
  • IO concepts: MMIO, DMA, interrupts
  • Introduction to PCI Express, evolution from PCI, PCI-X
  • Address spaces: configuration, memory, IO
  • Device discovery
  • How MMIO, DMA, and interrupts work in PCI Express
  • Introduction to Ethernet: CSMA/CD, frame format, VLANs, aggregation
  • Introduction to Fibre Channel: topologies, N-port IDs/WWPNs, logical units, frame format, SCSI request mapping, target discovery and configuration, security, FCoE
  • Further topics to explore - lead in for future courses

Skills Needed: An introductory course or practical experience with operating systems internals, an introduction to computer architecture and organization, and systems programming experience.
Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860
ENROLL EARLY!
  • Save your seat and help us confirm course scheduling. Enroll at least seven days before your course starts.
  • ACCESSING CANVAS—Learn more about accessing your course on Canvas in our FAQ section.
This course is related to the following programs:

Course Availability Notification

Please use this form to be notified when this course is open for enrollment.

Contact Us
Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu