WEBVTT

00:00:00.080 --> 00:00:06.240
whether or not you know how to code many of you have probably seen a few lines of

00:00:03.840 --> 00:00:11.320
a program written in a language like C python or Pascal which are all based on

00:00:09.000 --> 00:00:15.920
English and designed to be readable by humans to some degree but when you get

00:00:13.719 --> 00:00:20.240
right down to it the CPU that processes all of that code is just a hunk of

00:00:17.840 --> 00:00:24.000
silicon and the last time I had a conversation with an inanimate object I

00:00:22.160 --> 00:00:28.840
didn't feel like it had a whole lot to contribute to the discussion so how do

00:00:26.240 --> 00:00:33.200
CPUs actually take code that's expressed in letters and numbers and put things

00:00:30.840 --> 00:00:38.160
onto the screen that make sense to us carbon-based life forms well it first

00:00:35.920 --> 00:00:42.079
helps to realize that what we call code can actually refer to a number of things

00:00:40.520 --> 00:00:45.399
usually when people say code they're talking about source code which is the

00:00:43.520 --> 00:00:48.960
English or Chinese or whatever language you really want based set of

00:00:47.239 --> 00:00:53.280
instructions written in whatever programming language you like but after

00:00:51.039 --> 00:00:58.120
a programmer finishes writing a program in source code it needs to be further

00:00:55.440 --> 00:01:02.519
processed so that the CPU can actually understand it which is done by running

00:01:00.039 --> 00:01:06.799
source code through a special kind of program called a compiler that will

00:01:04.760 --> 00:01:13.040
check the code for errors and convert it into a CPU understandable form which is

00:01:09.840 --> 00:01:14.920
called object code or machine code the

00:01:13.040 --> 00:01:20.040
reason that a CPU can interpret machine code is because it's compiled in binary

00:01:17.960 --> 00:01:24.600
the series of ones and zeros that is the basis for all modern digital Computing

00:01:22.759 --> 00:01:28.320
but hold on a minute why can CPUs understand ones and zeros which are just

00:01:26.479 --> 00:01:33.360
another form of human readable information well they they can do this

00:01:30.560 --> 00:01:38.439
because those ones and zeros are really just representations of an electrical

00:01:35.320 --> 00:01:40.399
signal which is on or off machine code

00:01:38.439 --> 00:01:45.119
travels around the inside of your PC as a series of electrical pulses that

00:01:42.680 --> 00:01:49.799
correspond to each of one and zero that the compiler spits out and when these

00:01:47.119 --> 00:01:54.680
pulses hit your CPU a large number of things happen an average CPU has

00:01:52.360 --> 00:01:58.920
millions of transistors many of which serve as logic gates that open or shut

00:01:57.360 --> 00:02:03.399
depending if they're receiving an electrical impulse in other words

00:02:00.880 --> 00:02:07.759
whether they're receiving a zero or one logic gates will open and shut to

00:02:05.280 --> 00:02:12.360
manipulate machine code in very complex ways until the CPU spits out process

00:02:10.560 --> 00:02:16.480
data that travels to other parts of your computer although the principles behind

00:02:14.440 --> 00:02:20.800
processor design are immensely complicated you can think of the

00:02:18.040 --> 00:02:26.160
transistors inside of a CPU as beads on a really big Abacus these beads are

00:02:24.280 --> 00:02:32.080
arranged according to the processor's micro architecture denoted by code names

00:02:29.200 --> 00:02:37.680
such as Haswell Broadwell and ivybridge for Intel CPUs or bulldozzer Steamroller

00:02:35.239 --> 00:02:40.959
and pile driver for AMD chips however even with all these different

00:02:38.879 --> 00:02:46.360
architectures most modern applications will run on any of these processors

00:02:43.319 --> 00:02:49.080
because nearly any PC CPU is going to

00:02:46.360 --> 00:02:52.680
use the same instruction set which is just what it sounds like the set of

00:02:50.640 --> 00:02:57.360
binary instructions that the CPU can use to understand and execute current

00:02:55.040 --> 00:03:01.440
consumer CPUs for desktops and laptops virtually all use either the x86

00:03:00.040 --> 00:03:07.840
instruction set or the newer but backwards compatible x86-64 instruction

00:03:04.560 --> 00:03:09.640
set for 64-bit systems since so many

00:03:07.840 --> 00:03:13.239
different microarchitectures make use of the same instruction set the main

00:03:11.599 --> 00:03:17.959
difference between them is how quickly and efficiently different processors can

00:03:15.400 --> 00:03:23.840
execute those said instructions although a newer model Intel Core i7 and an older

00:03:20.640 --> 00:03:26.519
model Core 2 Duo can understand the same

00:03:23.840 --> 00:03:31.080
instructions the i7 is often going to be much much faster due to its radically

00:03:29.200 --> 00:03:36.200
different micr architecture it's a little bit like the difference between

00:03:32.879 --> 00:03:37.879
accelerating in a Maserati versus a Yugo

00:03:36.200 --> 00:03:42.560
both cars understand that pressing down the Gas Pedal means go but because the

00:03:40.200 --> 00:03:47.959
Maserati's different engine architecture it can execute the instruction much

00:03:45.319 --> 00:03:51.599
faster than a Yugo and suddenly you're being pulled over don't worry though

00:03:49.959 --> 00:03:55.319
you'll never get pulled over for overclocking your processor you might

00:03:54.000 --> 00:04:00.200
just avoid your warranty speaking of logical systems

00:03:57.760 --> 00:04:03.560
today's episode sponsor is fresh books the cloud accounting software designed

00:04:01.640 --> 00:04:07.760
for freelance workers and small businesses freshbooks is all about

00:04:05.360 --> 00:04:11.720
making invoicing getting paid and tracking expenses easier for you so you

00:04:10.079 --> 00:04:15.560
can get back to what you actually want to be doing they handle the whole

00:04:13.680 --> 00:04:18.799
accounting process so input your hours into the freshbooks time sheet and

00:04:17.040 --> 00:04:22.800
they'll export those hours directly into an invoice they'll send that invoice to

00:04:20.720 --> 00:04:26.360
the client and even let you track whether or not the client has viewed

00:04:24.400 --> 00:04:31.160
that invoice if you're Your Own Boss you should be using stuff that makes you

00:04:27.840 --> 00:04:32.840
actually feel like a boss B which is

00:04:31.160 --> 00:04:37.720
exactly what freshbooks was designed to do if you want to give it a shot you can

00:04:35.120 --> 00:04:42.160
head over to freshbooks.com Techquickie and don't forget to enter

00:04:40.240 --> 00:04:47.400
Techquickie in the how did You Hear About Us section when you sign up for

00:04:44.280 --> 00:04:49.400
your free trial of the freshbook service

00:04:47.400 --> 00:04:53.000
thanks for watching this episode of fast as possible like it if you liked it

00:04:51.280 --> 00:04:56.400
dislike it if you disliked it leave a comment if you have a suggestion for

00:04:54.520 --> 00:05:02.479
future fastest Possible episodes just like this one and don't forget to

00:04:58.039 --> 00:05:02.479
subscribe follow and all that good stuff
