[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:15.00,0:00:17.00,Default,,0000,0000,0000,,Do you remember when you first realized Dialogue: 0,0:00:17.00,0:00:18.00,Default,,0000,0000,0000,,that your computer was more Dialogue: 0,0:00:18.00,0:00:20.00,Default,,0000,0000,0000,,than just a monitor and keyboard? Dialogue: 0,0:00:20.00,0:00:23.00,Default,,0000,0000,0000,,That between the mouse click and the video playing, Dialogue: 0,0:00:23.00,0:00:25.00,Default,,0000,0000,0000,,there was something that captured your intention, Dialogue: 0,0:00:25.00,0:00:26.00,Default,,0000,0000,0000,,understood it, Dialogue: 0,0:00:26.00,0:00:27.00,Default,,0000,0000,0000,,and made it real? Dialogue: 0,0:00:28.00,0:00:30.00,Default,,0000,0000,0000,,What is that something? Dialogue: 0,0:00:30.00,0:00:32.00,Default,,0000,0000,0000,,Is it gremlins? Dialogue: 0,0:00:32.00,0:00:33.00,Default,,0000,0000,0000,,Let's imagine that we can shrink down Dialogue: 0,0:00:33.00,0:00:35.00,Default,,0000,0000,0000,,to the size of an electron Dialogue: 0,0:00:35.00,0:00:37.00,Default,,0000,0000,0000,,and inject ourselves into a click of a mouse. Dialogue: 0,0:00:37.00,0:00:39.00,Default,,0000,0000,0000,,If you took your mouse apart, Dialogue: 0,0:00:39.00,0:00:42.00,Default,,0000,0000,0000,,you'd see that it's really a very simple machine. Dialogue: 0,0:00:42.00,0:00:43.00,Default,,0000,0000,0000,,It has a couple buttons Dialogue: 0,0:00:43.00,0:00:46.00,Default,,0000,0000,0000,,and a system for detecting motion and distance. Dialogue: 0,0:00:46.00,0:00:48.00,Default,,0000,0000,0000,,You might have an optical mouse Dialogue: 0,0:00:48.00,0:00:50.00,Default,,0000,0000,0000,,that makes these measurements with lights or sensors, Dialogue: 0,0:00:50.00,0:00:52.00,Default,,0000,0000,0000,,but older ones did this with a hard rubber ball Dialogue: 0,0:00:52.00,0:00:54.00,Default,,0000,0000,0000,,and some plastic wheels. Dialogue: 0,0:00:54.00,0:00:56.00,Default,,0000,0000,0000,,Same concept. Dialogue: 0,0:00:56.00,0:00:57.00,Default,,0000,0000,0000,,When you click a button on your mouse, Dialogue: 0,0:00:57.00,0:00:59.00,Default,,0000,0000,0000,,it sends a message to the computer Dialogue: 0,0:00:59.00,0:01:01.00,Default,,0000,0000,0000,,with information about its position. Dialogue: 0,0:01:01.00,0:01:03.00,Default,,0000,0000,0000,,When your mouse click is received, Dialogue: 0,0:01:03.00,0:01:06.00,Default,,0000,0000,0000,,it's handled by the basic input/output subsystem. Dialogue: 0,0:01:06.00,0:01:09.00,Default,,0000,0000,0000,,This subsystem acts like the eyes and ears Dialogue: 0,0:01:09.00,0:01:12.00,Default,,0000,0000,0000,,and mouth and hands of the computer. Dialogue: 0,0:01:12.00,0:01:13.00,Default,,0000,0000,0000,,Basically, it provides a way for the computer Dialogue: 0,0:01:13.00,0:01:16.00,Default,,0000,0000,0000,,to interact with its environment. Dialogue: 0,0:01:16.00,0:01:18.00,Default,,0000,0000,0000,,But, it also acts like a buffer Dialogue: 0,0:01:18.00,0:01:21.00,Default,,0000,0000,0000,,to keep the CPU from being overwhelmed by distractions. Dialogue: 0,0:01:21.00,0:01:23.00,Default,,0000,0000,0000,,In this case, I/O subsystem decides Dialogue: 0,0:01:23.00,0:01:25.00,Default,,0000,0000,0000,,that your mouse click is pretty important Dialogue: 0,0:01:25.00,0:01:28.00,Default,,0000,0000,0000,,so it generates an interrupt to the CPU. Dialogue: 0,0:01:28.00,0:01:31.00,Default,,0000,0000,0000,,"Hey, CPU! Got a click here." Dialogue: 0,0:01:31.00,0:01:34.00,Default,,0000,0000,0000,,The CPU, or central processing unit, Dialogue: 0,0:01:34.00,0:01:36.00,Default,,0000,0000,0000,,is the brains of the whole computer. Dialogue: 0,0:01:36.00,0:01:39.00,Default,,0000,0000,0000,,Just like your brain doesn't take up your whole body, Dialogue: 0,0:01:39.00,0:01:41.00,Default,,0000,0000,0000,,the CPU doesn't take up the whole computer, Dialogue: 0,0:01:41.00,0:01:44.00,Default,,0000,0000,0000,,but it runs the show all the same. Dialogue: 0,0:01:44.00,0:01:46.00,Default,,0000,0000,0000,,And, the CPU's job, it's whole job, Dialogue: 0,0:01:46.00,0:01:48.00,Default,,0000,0000,0000,,is fetching instructions from memory Dialogue: 0,0:01:48.00,0:01:50.00,Default,,0000,0000,0000,,and executing them. Dialogue: 0,0:01:50.00,0:01:52.00,Default,,0000,0000,0000,,So, while you're typing, typing, typing, Dialogue: 0,0:01:52.00,0:01:53.00,Default,,0000,0000,0000,,maybe really fast, Dialogue: 0,0:01:53.00,0:01:55.00,Default,,0000,0000,0000,,like 60 words a minute, Dialogue: 0,0:01:55.00,0:01:57.00,Default,,0000,0000,0000,,the CPU is fetching and executing Dialogue: 0,0:01:57.00,0:01:59.00,Default,,0000,0000,0000,,billions of instructions a second. Dialogue: 0,0:01:59.00,0:02:02.00,Default,,0000,0000,0000,,Yes, billions every second: Dialogue: 0,0:02:02.00,0:02:04.00,Default,,0000,0000,0000,,instructions to move your mouse around on the screen, Dialogue: 0,0:02:04.00,0:02:07.00,Default,,0000,0000,0000,,to run that clock widget on your desktop, Dialogue: 0,0:02:07.00,0:02:08.00,Default,,0000,0000,0000,,play your internet radio, Dialogue: 0,0:02:08.00,0:02:11.00,Default,,0000,0000,0000,,manage the files you're editing on the hard drive, Dialogue: 0,0:02:11.00,0:02:12.00,Default,,0000,0000,0000,,and much, much more. Dialogue: 0,0:02:12.00,0:02:16.00,Default,,0000,0000,0000,,Your computer's CPU is one heck of a multitasker! Dialogue: 0,0:02:16.00,0:02:17.00,Default,,0000,0000,0000,,"But, oh my gosh, Dialogue: 0,0:02:17.00,0:02:18.00,Default,,0000,0000,0000,,there's a very important mouse click Dialogue: 0,0:02:18.00,0:02:20.00,Default,,0000,0000,0000,,coming through now! Dialogue: 0,0:02:20.00,0:02:22.00,Default,,0000,0000,0000,,Let's drop everything now and deal with that!" Dialogue: 0,0:02:23.00,0:02:24.00,Default,,0000,0000,0000,,There are programs for everything Dialogue: 0,0:02:24.00,0:02:26.00,Default,,0000,0000,0000,,that the CPU does. Dialogue: 0,0:02:26.00,0:02:28.00,Default,,0000,0000,0000,,A special program for the mouse, Dialogue: 0,0:02:28.00,0:02:29.00,Default,,0000,0000,0000,,for the clock widget, Dialogue: 0,0:02:29.00,0:02:30.00,Default,,0000,0000,0000,,for the internet radio, Dialogue: 0,0:02:30.00,0:02:33.00,Default,,0000,0000,0000,,and for dealing with letters sent by the keyboard. Dialogue: 0,0:02:33.00,0:02:35.00,Default,,0000,0000,0000,,Each program was initially written by a human Dialogue: 0,0:02:35.00,0:02:37.00,Default,,0000,0000,0000,,in a human-readable programming language, Dialogue: 0,0:02:37.00,0:02:38.00,Default,,0000,0000,0000,,like Java, Dialogue: 0,0:02:38.00,0:02:39.00,Default,,0000,0000,0000,,C++, Dialogue: 0,0:02:39.00,0:02:41.00,Default,,0000,0000,0000,,or Python. Dialogue: 0,0:02:41.00,0:02:43.00,Default,,0000,0000,0000,,But, human programs take up a lot of space Dialogue: 0,0:02:43.00,0:02:47.00,Default,,0000,0000,0000,,and contain a lot of unnecessary information to a computer, Dialogue: 0,0:02:47.00,0:02:49.00,Default,,0000,0000,0000,,so they are compiled and made smaller Dialogue: 0,0:02:49.00,0:02:52.00,Default,,0000,0000,0000,,and stored in bits of ones and zeros in memory. Dialogue: 0,0:02:52.00,0:02:55.00,Default,,0000,0000,0000,,The CPU realizes that it needs instructions Dialogue: 0,0:02:55.00,0:02:57.00,Default,,0000,0000,0000,,for how to deal with this mouse click, Dialogue: 0,0:02:57.00,0:02:59.00,Default,,0000,0000,0000,,so it looks up the address for the mouse program Dialogue: 0,0:02:59.00,0:03:01.00,Default,,0000,0000,0000,,and sends a request to the memory subsystem Dialogue: 0,0:03:01.00,0:03:04.00,Default,,0000,0000,0000,,for instructions stored there. Dialogue: 0,0:03:05.00,0:03:07.00,Default,,0000,0000,0000,,Each instruction in the mouse device driver Dialogue: 0,0:03:07.00,0:03:09.00,Default,,0000,0000,0000,,is duly fetched and executed. Dialogue: 0,0:03:09.00,0:03:12.00,Default,,0000,0000,0000,,And, that's not nearly the end of the story! Dialogue: 0,0:03:12.00,0:03:14.00,Default,,0000,0000,0000,,Because the CPU learns that the mouse was clicked Dialogue: 0,0:03:14.00,0:03:16.00,Default,,0000,0000,0000,,when the cursor was over a picture Dialogue: 0,0:03:16.00,0:03:18.00,Default,,0000,0000,0000,,of a button on the monitor screen, Dialogue: 0,0:03:18.00,0:03:21.00,Default,,0000,0000,0000,,and so, the CPU asks memory for the monitor program Dialogue: 0,0:03:21.00,0:03:23.00,Default,,0000,0000,0000,,to find out what that button is. Dialogue: 0,0:03:23.00,0:03:25.00,Default,,0000,0000,0000,,And, then CPU has to ask memory Dialogue: 0,0:03:25.00,0:03:27.00,Default,,0000,0000,0000,,for the program for the button, Dialogue: 0,0:03:27.00,0:03:28.00,Default,,0000,0000,0000,,which means that the CPU needs Dialogue: 0,0:03:28.00,0:03:30.00,Default,,0000,0000,0000,,the monitor program again Dialogue: 0,0:03:30.00,0:03:32.00,Default,,0000,0000,0000,,to show the video associated with the button, Dialogue: 0,0:03:32.00,0:03:34.00,Default,,0000,0000,0000,,and so it goes. Dialogue: 0,0:03:34.00,0:03:37.00,Default,,0000,0000,0000,,And, let's just say there are a lot of programs involved Dialogue: 0,0:03:37.00,0:03:39.00,Default,,0000,0000,0000,,before you even see the button on the screen Dialogue: 0,0:03:39.00,0:03:41.00,Default,,0000,0000,0000,,light up when you clicked it. Dialogue: 0,0:03:41.00,0:03:43.00,Default,,0000,0000,0000,,So, just a simple task of clicking your mouse Dialogue: 0,0:03:43.00,0:03:46.00,Default,,0000,0000,0000,,means visiting all of the critical components Dialogue: 0,0:03:46.00,0:03:48.00,Default,,0000,0000,0000,,of your computer's architecture: Dialogue: 0,0:03:48.00,0:03:49.00,Default,,0000,0000,0000,,peripherals, Dialogue: 0,0:03:49.00,0:03:51.00,Default,,0000,0000,0000,,the basic input-output system, Dialogue: 0,0:03:51.00,0:03:52.00,Default,,0000,0000,0000,,the CPU, Dialogue: 0,0:03:52.00,0:03:53.00,Default,,0000,0000,0000,,programs, Dialogue: 0,0:03:53.00,0:03:54.00,Default,,0000,0000,0000,,and memory, Dialogue: 0,0:03:54.00,0:03:56.00,Default,,0000,0000,0000,,and not one gremlin.