This video was sponsored by Brilliant. To try everything Brilliant has to offer—free—for a full 30 days, visit You’ll also get 20% off an annual premium subscription. Join CodeCrafters and learn by creating your own: Redis, Git, Http server, Interpreter, Grep... in your favorite programming language: Sponsor my work on Github: Questions and business inquires: @ Join our discord server: Follow me on twitter: In this video we learn the basics of I/O devices, and how the interact with the the CPU in general purpose systems. 00:00 - Intro 00:33 - Content table 00:49 - What are I/O devices 01:12 - Why the CPU shouldn’t directly control peripherals 02:22 - Keyboard as an example of I/O logic 04:19 - Role of microcontrollers and the control bus 05:13 - Hard Drive Disk example of device controllers handling I/O operations 07:05 - Sponsor’s Message 08:21 - I/O hardware implementation overview 08:56 - Memory-Mapped I/O (MMIO) 10:45 - Isolated I/O (Port-Mapped I/O) 12:16 - Programmed I/O (Polling) 13:11 - Interrupt-Driven I/O 14:12 - MMI + Custom I/O Buses 15:02 - Northbridge and Southbridge architecture 16:14 - Integration of I/O control into modern CPUs 17:47 - Why systems still use Memory-Mapped I/O 18:45 - Why were 80’s computer incompatible with each other 20:07 - Standardization and compatibility (PCIe, SATA, USB) 22:05 - Device drivers as translators 22:25 - Closing











