All language subtitles for 3_Programs the CPU and Memory

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,180 --> 00:00:04,894 Before we get our hands dirty with learning how to build a computer, 2 00:00:04,894 --> 00:00:06,540 let's talk theory first. 3 00:00:06,540 --> 00:00:09,051 In an earlier lesson, we talked about binary and 4 00:00:09,051 --> 00:00:11,640 how computers perform calculations. 5 00:00:11,640 --> 00:00:16,870 Remember that our computer can only communicate in binary using 1's and 0's. 6 00:00:16,870 --> 00:00:21,577 Our computers speak in machine language but we of course speak in human 7 00:00:21,577 --> 00:00:26,623 languages like English, Spanish, Mandarin, Hindi, you get the idea. 8 00:00:26,623 --> 00:00:30,625 If we want to communicate with our machines we have to have some sort of 9 00:00:30,625 --> 00:00:35,248 translation dictionary, just like if I wanted to say something in spanish I'd 10 00:00:35,248 --> 00:00:38,520 look it up in an English to Spanish dictionary. 11 00:00:38,520 --> 00:00:41,600 Well our computers have a built in translation book. 12 00:00:41,600 --> 00:00:46,115 In this lesson we'll dive deeper into how our computer translates the information we 13 00:00:46,115 --> 00:00:48,698 give it into instructions that it understands. 14 00:00:48,698 --> 00:00:52,313 RIght now you're probably using a web browser, music player, text editor or 15 00:00:52,313 --> 00:00:54,450 something else on your computer. 16 00:00:54,450 --> 00:00:57,211 We interact with these applications on a daily basis, 17 00:00:57,211 --> 00:00:59,019 they're referred to as programs. 18 00:00:59,019 --> 00:01:03,260 Programs are basically instructions that tell the computer what to do. 19 00:01:03,260 --> 00:01:06,908 We typically store programs on durable media like hard drives, 20 00:01:06,908 --> 00:01:11,500 you can think of programs like cooking recipes, we keep these recipes all stored 21 00:01:11,500 --> 00:01:15,110 together in a cookbook, just like apps stored in a hard drive. 22 00:01:15,110 --> 00:01:19,205 Now we want to make a ton of food, so we hire a chef to follow our recipes and 23 00:01:19,205 --> 00:01:21,440 whip up something good. 24 00:01:21,440 --> 00:01:25,494 The faster our chef works, the more food she'll prepare, 25 00:01:25,494 --> 00:01:30,763 the chef is our CPU she processes the recipes, we send her and makes the food, 26 00:01:30,763 --> 00:01:35,960 our chef works super fast so fast that she can cook faster than she can read. 27 00:01:35,960 --> 00:01:39,350 So we take copy of the recipes and put them into RAM. 28 00:01:39,350 --> 00:01:43,959 Remember that RAM is our computers short term memory, it stores information in 29 00:01:43,959 --> 00:01:48,313 a location our CPU can access it faster than they could with our hard drive. 30 00:01:48,313 --> 00:01:49,969 Now we can give our chef one or 31 00:01:49,969 --> 00:01:54,120 two recipes at a time instead of reciting the entire cookbook to her. 32 00:01:54,120 --> 00:01:59,020 Okay, now let's say I want to make a peanut butter and jelly sandwich. 33 00:01:59,020 --> 00:02:02,754 I see a pretty good recipe and send it to our chef to make, 34 00:02:02,754 --> 00:02:06,727 remember that our chef needs these instructions quickly so 35 00:02:06,727 --> 00:02:11,400 I don't send her the entire recipe, I sent her one line at a time. 36 00:02:11,400 --> 00:02:16,890 One, get two slices of bread, two, put peanut butter on one slice, 37 00:02:16,890 --> 00:02:23,640 three, put jelly on another slice, four, combine the two slices of bread. 38 00:02:23,640 --> 00:02:26,670 Now let me throw one more thing at you. 39 00:02:26,670 --> 00:02:30,360 Our chef can only communicate with us in 1's and 0's. 40 00:02:30,360 --> 00:02:33,580 So instead of sending something readable, like the recipe for 41 00:02:33,580 --> 00:02:37,430 peanut butter and jelly sandwich, we have to center something like this. 42 00:02:37,430 --> 00:02:40,770 In reality this process is a little more complicated. 43 00:02:40,770 --> 00:02:44,213 Our CPU is constantly taking instructions and executing them, 44 00:02:44,213 --> 00:02:46,590 these instructions are written in binary. 45 00:02:46,590 --> 00:02:49,580 But how do they travel around the computer? 46 00:02:49,580 --> 00:02:55,146 In our computer, we have something called the external data bus or EDB. 47 00:02:55,146 --> 00:03:00,096 It's nothing like a bus at all, it's a row of wires that interconnect the parts of 48 00:03:00,096 --> 00:03:03,530 our computer, kind of like the veins in our body. 49 00:03:03,530 --> 00:03:06,613 When you send a voltage to one of the wires, 50 00:03:06,613 --> 00:03:10,637 we say the state of the wire is on are represented by a 1, 51 00:03:10,637 --> 00:03:16,460 if there's no voltage then we say that the state is off represented by a 0. 52 00:03:16,460 --> 00:03:20,430 This is how we send around our 1's and 0's, sound familiar? 53 00:03:20,430 --> 00:03:25,080 In the last lesson, we talked about how transistors help us to send voltages. 54 00:03:25,080 --> 00:03:29,348 Now we know how our bits physically travel around the computer, 55 00:03:29,348 --> 00:03:34,270 the EDB comes in different sizes, a bit, 16-bit, 32, even 64. 56 00:03:34,270 --> 00:03:39,420 Can you imagine if you had 64 wires going you can move around a lot more data right 57 00:03:39,420 --> 00:03:44,269 now we're just going to stick with using an EDB with 8-bits in our examples, 58 00:03:44,269 --> 00:03:46,080 sending one byte at a time. 59 00:03:46,080 --> 00:03:51,310 Okay, so now our CPU is receiving a byte and it needs to get to work. 60 00:03:51,310 --> 00:03:55,712 Inside the CPU, there are components known as registers, 61 00:03:55,712 --> 00:04:00,000 they let us store the data that our CPU works with. 62 00:04:00,000 --> 00:04:04,716 If for example our CPU wanted to add two numbers, one number would be 63 00:04:04,716 --> 00:04:09,515 stored in a register A, another number will be stored in register B, 64 00:04:09,515 --> 00:04:14,000 the result of those two numbers will be stored in register C. 65 00:04:14,000 --> 00:04:17,395 Imagine the register is one of our chefs work tables, 66 00:04:17,395 --> 00:04:21,694 since she has a place to work, she can start to cook, to do so she uses 67 00:04:21,694 --> 00:04:27,390 a translation book to translate her binary into tasks that she can perform. 68 00:04:27,390 --> 00:04:29,650 Let's jump back for a second. 69 00:04:29,650 --> 00:04:34,194 Remember that our programs are copied into RAM for the CPU to read, 70 00:04:34,194 --> 00:04:38,903 RAM is memory that's randomly accessed allowing our CPU to read from 71 00:04:38,903 --> 00:04:42,210 any part of RAM as quickly as any other part. 72 00:04:42,210 --> 00:04:45,564 We don't actually send data from RAM over the EDB, 73 00:04:45,564 --> 00:04:47,832 there would be way too much stuff. 74 00:04:47,832 --> 00:04:51,280 RAM can hold millions even billions of rows of data. 75 00:04:51,280 --> 00:04:56,670 Despite our sandwich example, most of our recipes aren't simple at all. 76 00:04:56,670 --> 00:05:00,142 There can be thousands of lines long, we want to process them and 77 00:05:00,142 --> 00:05:02,980 we don't actually go in any particular order. 78 00:05:02,980 --> 00:05:07,948 Since we can only send one line of data through the EDB at a time we need 79 00:05:07,948 --> 00:05:12,931 the help of another component, the memory controller chip or MCC. 80 00:05:14,360 --> 00:05:18,490 The MCC is a bridge between the CPU and the RAM. 81 00:05:18,490 --> 00:05:22,876 You can think of it like a nerve in your brain connecting to your memories, 82 00:05:22,876 --> 00:05:26,554 the CPU talks to the MCC and says hey I need the instructions for 83 00:05:26,554 --> 00:05:30,447 step number three of this recipe, the MCC finds instructions for 84 00:05:30,447 --> 00:05:34,890 step number three in RAM, grabs the data and sends it through the EDB. 85 00:05:34,890 --> 00:05:38,668 There's another bus that's nothing like a bus involved 86 00:05:38,668 --> 00:05:43,388 in the process called the address bus, it connects the CPU to the MCC and 87 00:05:43,388 --> 00:05:48,504 sends over the location of the data but not the data itself, then the MCC takes 88 00:05:48,504 --> 00:05:54,130 the address and looks for the data and then data is then sent over the EDB. 89 00:05:54,130 --> 00:05:58,579 Believe it or not, RAM isn't the fastest way we can get more data to our CPU for 90 00:05:58,579 --> 00:06:00,160 processing. 91 00:06:00,160 --> 00:06:02,971 The CPU also uses something known as cache. 92 00:06:04,000 --> 00:06:05,636 Cache is smaller than RAM but 93 00:06:05,636 --> 00:06:10,380 it lets us store data that we use often and let's just quickly reference it. 94 00:06:10,380 --> 00:06:14,743 Think of RAM like a refrigerator full of food, it's easy to get into but 95 00:06:14,743 --> 00:06:19,832 it takes time to get something out, on the flip side of that, cache is like the stuff 96 00:06:19,832 --> 00:06:25,330 we have in our pockets, it's used to store recently or frequently accessed data. 97 00:06:25,330 --> 00:06:30,960 There are three different cash levels in a CPU, L1, L2 and L3. 98 00:06:30,960 --> 00:06:33,980 L1 is the smallest and fastest cache. 99 00:06:33,980 --> 00:06:38,225 So now we understand how our RAM interacts with our CPU but 100 00:06:38,225 --> 00:06:43,546 how does our CPU know when a set of instructions end and a new one begins? 101 00:06:43,546 --> 00:06:48,260 Our CPU has an internal clock that keeps its operations in sync. 102 00:06:48,260 --> 00:06:51,720 It connects to a special wire called a clock wire. 103 00:06:51,720 --> 00:06:56,372 When you send or receive data, it sends a voltage to that clock wire to let the CPU 104 00:06:56,372 --> 00:06:59,000 know it can start doing calculations. 105 00:06:59,000 --> 00:07:02,708 Think of our clock wires as the ticking of a clock, for 106 00:07:02,708 --> 00:07:06,099 every tick the CPU does one cycle of operations. 107 00:07:06,099 --> 00:07:10,779 When you send a voltage to the clock wire as referred to as a clock cycle, 108 00:07:10,779 --> 00:07:15,381 if you have lots of data you need to process in the command you need to run 109 00:07:15,381 --> 00:07:17,650 lots of clock cycles. 110 00:07:17,650 --> 00:07:23,610 Have you ever seen a CPU in the store and has something labeled 3.4 Ghz? 111 00:07:23,610 --> 00:07:27,677 This number refers to the clock speed of the CPU, which is the maximum 112 00:07:27,677 --> 00:07:31,710 number of clock cycles that it can handle in a certain time period. 113 00:07:31,710 --> 00:07:39,275 3.40 GHz is 3.4 billion cycles per second, that's super fast. 114 00:07:39,275 --> 00:07:42,782 But just because it can run at this speed doesn't mean it does, 115 00:07:42,782 --> 00:07:45,891 it just means that it can't exceed this number, still, 116 00:07:45,891 --> 00:07:49,070 that number doesn't stop some people from trying. 117 00:07:49,070 --> 00:07:54,049 There's a way you can exceed the number of clock cycles on your CPU on almost any 118 00:07:54,049 --> 00:07:57,068 device, it's referred to as over clocking and 119 00:07:57,068 --> 00:08:02,360 it increases the rate of your CPU clock cycles in order to perform more tasks. 120 00:08:02,360 --> 00:08:06,505 This is commonly used to increase the performance in low end CPUs, let's say 121 00:08:06,505 --> 00:08:10,777 you're a gamer and you want to have better graphics and less lag while playing, 122 00:08:10,777 --> 00:08:14,610 you might want to over clock your CPU when you play the game. 123 00:08:14,610 --> 00:08:18,930 But there are cons to doing this like potentially overheating your CPU. 12391

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.