WEBVTT - TechStuff Tidbits: A Bit about Bits

0:00:04.440 --> 0:00:12.520
<v Speaker 1>Welcome to tech Stuff, a production from iHeartRadio. Hey there,

0:00:12.560 --> 0:00:15.880
<v Speaker 1>and welcome to tech Stuff. I'm your host, Jonathan Strickland.

0:00:15.920 --> 0:00:19.160
<v Speaker 1>I'm an executive producer with iHeartRadio and how the tech

0:00:19.320 --> 0:00:23.320
<v Speaker 1>are you? So? Last week I did an episode about

0:00:23.320 --> 0:00:26.960
<v Speaker 1>CPU architecture, and I talked about buses, which in this

0:00:27.040 --> 0:00:29.920
<v Speaker 1>case are not vehicles meant to transport a group of

0:00:29.960 --> 0:00:34.040
<v Speaker 1>folks from one place to a destination. Instead, we're talking

0:00:34.120 --> 0:00:37.400
<v Speaker 1>about connections that allow data to pass through them. That

0:00:37.479 --> 0:00:40.120
<v Speaker 1>could be raw data or it could be instructions for

0:00:40.159 --> 0:00:43.559
<v Speaker 1>a processor to perform on some raw data. And I

0:00:43.680 --> 0:00:46.720
<v Speaker 1>mentioned that I would follow up with an episode explaining

0:00:46.800 --> 0:00:50.159
<v Speaker 1>things like eight bit and sixteen bit machines all the

0:00:50.200 --> 0:00:53.440
<v Speaker 1>way up to sixty four bit systems and processors. So

0:00:53.520 --> 0:00:56.440
<v Speaker 1>let's get to it. And first of all, a bit.

0:00:57.120 --> 0:01:00.120
<v Speaker 1>Y'all probably know this. I'm pretty sure about that. But

0:01:00.160 --> 0:01:03.400
<v Speaker 1>a bit is a single unit of digital information and

0:01:03.440 --> 0:01:07.200
<v Speaker 1>it can have one of two values or states. It

0:01:07.200 --> 0:01:10.480
<v Speaker 1>can either be zero or it can be a one.

0:01:10.680 --> 0:01:13.399
<v Speaker 1>And I always think of a simple light switch, like

0:01:13.440 --> 0:01:15.800
<v Speaker 1>a light switch. A very simple light switch can either

0:01:15.840 --> 0:01:18.400
<v Speaker 1>be off or it can be on. But that's it.

0:01:18.440 --> 0:01:21.080
<v Speaker 1>Those are the only two options. So when we say

0:01:21.080 --> 0:01:25.120
<v Speaker 1>something is an eight bit machine, you'll likely into it

0:01:25.680 --> 0:01:30.040
<v Speaker 1>that this has some relationship with eight bits, like eight

0:01:30.480 --> 0:01:33.960
<v Speaker 1>units of this basic digital information, and you would be right.

0:01:34.400 --> 0:01:36.600
<v Speaker 1>When we talk about a device or a program in

0:01:36.680 --> 0:01:39.480
<v Speaker 1>terms of bit numbers like this, we're talking about the

0:01:39.520 --> 0:01:42.480
<v Speaker 1>capability of the machine in question. So the more bits,

0:01:42.840 --> 0:01:45.759
<v Speaker 1>the more capable the machine is at handling larger units

0:01:45.800 --> 0:01:50.320
<v Speaker 1>of data at once, essentially in a single cycle, which

0:01:50.360 --> 0:01:53.240
<v Speaker 1>we'll get to. So let's talk about those eight bits

0:01:53.280 --> 0:01:57.240
<v Speaker 1>for a second. First, with eight bits, you have two

0:01:57.320 --> 0:02:01.279
<v Speaker 1>hundred and fifty six variations possible. So remember a single

0:02:01.280 --> 0:02:04.279
<v Speaker 1>bit has two potential states, a zero or a one,

0:02:04.360 --> 0:02:07.160
<v Speaker 1>So that's it. It's it's two to the power of

0:02:07.240 --> 0:02:10.400
<v Speaker 1>one because you have one bit with two potential states.

0:02:10.960 --> 0:02:16.160
<v Speaker 1>With eight bits, you have two potential states, but eight

0:02:16.320 --> 0:02:18.720
<v Speaker 1>different bits to it, so it's two to the power

0:02:18.919 --> 0:02:22.519
<v Speaker 1>of eight values. That's two hundred and fifty six variations,

0:02:22.560 --> 0:02:26.320
<v Speaker 1>and that goes from zero zero zero, zero, zero zero

0:02:26.560 --> 0:02:31.399
<v Speaker 1>zero zero to one one one one one one one one,

0:02:31.680 --> 0:02:36.120
<v Speaker 1>and then everything in between. So an eight bit system

0:02:36.120 --> 0:02:39.440
<v Speaker 1>has a processor, memory, buses, et cetera that can handle

0:02:39.560 --> 0:02:42.480
<v Speaker 1>values of up to eight bits of data. So an

0:02:42.480 --> 0:02:45.320
<v Speaker 1>eight bit CPU can transfer eight bits of data per

0:02:45.639 --> 0:02:48.720
<v Speaker 1>clock cycle. Now I did mention we were going to

0:02:48.960 --> 0:02:51.720
<v Speaker 1>circle back on what a clock cycle is. So a

0:02:51.760 --> 0:02:57.120
<v Speaker 1>CPU's clock is a bit of the CPU that has

0:02:57.480 --> 0:03:02.960
<v Speaker 1>an oscillating element, and that oscillation a single oscillation, is

0:03:03.120 --> 0:03:06.520
<v Speaker 1>a full oscillation is a clock cycle, and that's how

0:03:06.560 --> 0:03:08.960
<v Speaker 1>many cycles you have in a second. That tells you

0:03:08.960 --> 0:03:12.720
<v Speaker 1>your clock speed. So if you have an eight bit

0:03:12.800 --> 0:03:16.400
<v Speaker 1>system that was running at one megahertz, then that would

0:03:16.400 --> 0:03:18.679
<v Speaker 1>mean you would have a system that's running at a

0:03:18.760 --> 0:03:21.840
<v Speaker 1>million cycles per second. Mega hurtz would mean that you

0:03:21.919 --> 0:03:26.840
<v Speaker 1>have a million oscillations per second, and that would mean

0:03:26.840 --> 0:03:29.560
<v Speaker 1>that for every second that passes, this processor could transfer

0:03:29.600 --> 0:03:33.240
<v Speaker 1>eight million bits of data in eight bit chunks, and

0:03:33.720 --> 0:03:37.880
<v Speaker 1>that would be the limitation of this particular system. Let's

0:03:37.880 --> 0:03:40.400
<v Speaker 1>say then we were to step up to a sixteen

0:03:40.560 --> 0:03:43.560
<v Speaker 1>bit system. Now we're talking about a processor that can

0:03:43.600 --> 0:03:46.600
<v Speaker 1>handle up to sixteen bits of data at any given moment.

0:03:47.000 --> 0:03:49.200
<v Speaker 1>And while eight bits can represent up to two hundred

0:03:49.240 --> 0:03:52.240
<v Speaker 1>and fifty six variations or values or states, if you

0:03:52.320 --> 0:03:56.800
<v Speaker 1>prefer sixteen bits ups the game to sixty five thousand,

0:03:57.120 --> 0:04:01.880
<v Speaker 1>five hundred and thirty six values or to the sixteenth power.

0:04:02.200 --> 0:04:05.120
<v Speaker 1>So this is a big jump, right. A sixteen bit

0:04:05.160 --> 0:04:08.040
<v Speaker 1>system can allow for much larger values than an eight

0:04:08.120 --> 0:04:10.560
<v Speaker 1>bit system. It can handle more data in a given

0:04:10.600 --> 0:04:14.440
<v Speaker 1>amount of cycles. Now, this doesn't necessarily mean that a

0:04:14.480 --> 0:04:18.520
<v Speaker 1>sixteen bit system has a faster clock speed, although it

0:04:18.720 --> 0:04:22.480
<v Speaker 1>probably would. And this is where thinking about physical buses,

0:04:22.520 --> 0:04:24.480
<v Speaker 1>like the kind you would get on to go to

0:04:24.880 --> 0:04:27.480
<v Speaker 1>work or to school or whatever, it actually becomes a

0:04:27.520 --> 0:04:30.720
<v Speaker 1>little bit useful because we can kind of use an analogy.

0:04:30.760 --> 0:04:33.120
<v Speaker 1>It's an analogy that has limitations, but we can kind

0:04:33.120 --> 0:04:36.640
<v Speaker 1>of think of it. So let's say we've got two buses.

0:04:37.080 --> 0:04:40.760
<v Speaker 1>One bus can hold just eight people, including the driver.

0:04:41.360 --> 0:04:44.320
<v Speaker 1>The other bus can hold sixteen people including the driver.

0:04:44.680 --> 0:04:47.920
<v Speaker 1>Now both buses travel the same route, and both buses

0:04:47.960 --> 0:04:51.400
<v Speaker 1>have the same top speed. So Bus A, which holds

0:04:51.400 --> 0:04:54.680
<v Speaker 1>eight people, gets to its destination in two hours. Let's

0:04:54.680 --> 0:04:59.239
<v Speaker 1>say Bus B can hold sixteen people, but will also

0:04:59.320 --> 0:05:02.120
<v Speaker 1>take two hours to get to its destination. So, in

0:05:02.160 --> 0:05:05.200
<v Speaker 1>other words, both buses required the same amount of time

0:05:05.200 --> 0:05:08.760
<v Speaker 1>to travel from start to finish, but Bus B was

0:05:08.800 --> 0:05:11.240
<v Speaker 1>able to carry twice as many people. Well, if we

0:05:11.320 --> 0:05:15.119
<v Speaker 1>think of computer systems and computer buses, in a similar way.

0:05:16.160 --> 0:05:19.719
<v Speaker 1>That kind of starts to illustrate what these different systems

0:05:19.720 --> 0:05:21.840
<v Speaker 1>are capable of. However, we do have to say we're

0:05:21.839 --> 0:05:24.520
<v Speaker 1>not talking about twice as many people when we go

0:05:24.560 --> 0:05:27.320
<v Speaker 1>from eight bit to sixteen bit. The analogy doesn't totally

0:05:27.360 --> 0:05:29.400
<v Speaker 1>work because the number of people and the bit size

0:05:29.400 --> 0:05:33.680
<v Speaker 1>of information isn't really analogous. It just lets us separate

0:05:33.760 --> 0:05:38.040
<v Speaker 1>the thought of capacity from speed, because these are related

0:05:38.080 --> 0:05:41.560
<v Speaker 1>but different. So as we step up from eight bit

0:05:41.600 --> 0:05:43.720
<v Speaker 1>to sixteen bit, we see that the system is able

0:05:43.720 --> 0:05:47.719
<v Speaker 1>to transfer way more information within a single clock cycle,

0:05:48.360 --> 0:05:52.119
<v Speaker 1>and you might think that as capacity because the clock

0:05:52.200 --> 0:05:56.560
<v Speaker 1>cycles are really the speed and the bit is the capacity. Here.

0:05:56.960 --> 0:05:59.600
<v Speaker 1>So if somehow you had an eight bit system that

0:05:59.600 --> 0:06:02.320
<v Speaker 1>could run the gigahertz and you had a sixteen bit

0:06:02.360 --> 0:06:05.679
<v Speaker 1>system that ran at a megahertz, well, yes, the sixteen

0:06:05.680 --> 0:06:08.640
<v Speaker 1>bit is handling more information per clock cycle, but the

0:06:08.680 --> 0:06:11.599
<v Speaker 1>eight bit system has way way way more clock cycles

0:06:12.320 --> 0:06:16.240
<v Speaker 1>than the sixteen bit system does. So again, related but

0:06:16.400 --> 0:06:19.560
<v Speaker 1>not the same. So a sixteen bit system could handle

0:06:19.600 --> 0:06:22.960
<v Speaker 1>binary numbers up to sixteen bits long. So therefore it

0:06:23.000 --> 0:06:25.440
<v Speaker 1>stands to reason that when we start getting to a

0:06:25.480 --> 0:06:29.159
<v Speaker 1>thirty two bit processor, you're talking about. It's handling values

0:06:29.200 --> 0:06:31.159
<v Speaker 1>that are up to thirty two bits long, and a

0:06:31.240 --> 0:06:35.200
<v Speaker 1>sixty four bit processor then handles values up to sixty

0:06:35.200 --> 0:06:37.960
<v Speaker 1>four bits long or digits versus that are up to

0:06:38.040 --> 0:06:40.839
<v Speaker 1>sixty four bits long. And when we get up to

0:06:40.960 --> 0:06:44.280
<v Speaker 1>that capacity, the numbers start looking real meaningless because they

0:06:44.320 --> 0:06:48.880
<v Speaker 1>get so big so fast. So remember sixteen bits, we're

0:06:48.920 --> 0:06:54.720
<v Speaker 1>talking about, you know, sixty five, five hundred and thirty

0:06:54.760 --> 0:06:58.359
<v Speaker 1>six values. As I recall, if we're talking about thirty

0:06:58.360 --> 0:07:01.440
<v Speaker 1>two bits, that jumps way up to Oh, I don't know,

0:07:01.560 --> 0:07:06.440
<v Speaker 1>what is it, like four billion, two hundred ninety four million,

0:07:06.520 --> 0:07:10.160
<v Speaker 1>nine hundred and sixty seven two hundred and ninety six variations.

0:07:10.200 --> 0:07:13.600
<v Speaker 1>I believe, so two to the thirty second power. Yeah,

0:07:13.720 --> 0:07:17.840
<v Speaker 1>that's a lot, Like suddenly we've gone super huge. But

0:07:18.200 --> 0:07:21.800
<v Speaker 1>just wait, because once we get to the sixty four

0:07:21.880 --> 0:07:24.280
<v Speaker 1>bit system, forget about it. That's two to the sixty

0:07:24.280 --> 0:07:28.320
<v Speaker 1>fourth power, and the number of values that you can

0:07:28.720 --> 0:07:32.640
<v Speaker 1>have or represent with sixty four bits worth of information,

0:07:33.200 --> 0:07:36.240
<v Speaker 1>I can't even really give you the number there, we're

0:07:36.280 --> 0:07:41.160
<v Speaker 1>talking about like eighteen quintillion variations. You really need to

0:07:41.200 --> 0:07:44.360
<v Speaker 1>go with scientific notation at that point in order to

0:07:44.400 --> 0:07:46.840
<v Speaker 1>really handle stuff. So you're talking about like one point

0:07:46.920 --> 0:07:49.800
<v Speaker 1>eight four times ten to the nineteenth power on that one,

0:07:49.880 --> 0:07:53.640
<v Speaker 1>and obviously that's an approximation, not specific, but yeah, at

0:07:53.640 --> 0:07:56.360
<v Speaker 1>the end of the day, the bit designation tells us

0:07:56.400 --> 0:08:00.280
<v Speaker 1>the size of data that a processor can transfer per

0:08:00.360 --> 0:08:03.960
<v Speaker 1>clock cycle, how much information it can handle as it's

0:08:04.200 --> 0:08:09.240
<v Speaker 1>performing these operations. So again that combined with the clock

0:08:09.320 --> 0:08:14.120
<v Speaker 1>cycle speed, tells you how much information this processor can

0:08:14.120 --> 0:08:18.760
<v Speaker 1>handle at once and how fast it appears to us. Now,

0:08:18.920 --> 0:08:21.800
<v Speaker 1>making this more complicated is the software side of things.

0:08:21.840 --> 0:08:26.720
<v Speaker 1>It probably seems obvious that a sixteen bit machine cannot

0:08:26.880 --> 0:08:29.960
<v Speaker 1>run sixty four bit code. I'm not going to get

0:08:30.000 --> 0:08:33.360
<v Speaker 1>into virtual machines here, but those do complicate things even more,

0:08:33.800 --> 0:08:37.480
<v Speaker 1>and without an emulator, a sixty four bit machine can't

0:08:37.520 --> 0:08:41.440
<v Speaker 1>necessarily run thirty two bitcode. That being said, Windows machines

0:08:41.559 --> 0:08:45.200
<v Speaker 1>have an emulator called Wow sixty four. This allows a

0:08:45.280 --> 0:08:48.640
<v Speaker 1>sixty four bit Windows device to run thirty two bit

0:08:48.760 --> 0:08:52.480
<v Speaker 1>Windows based programs on it. So most Windows users won't

0:08:52.520 --> 0:08:54.880
<v Speaker 1>have really many issues if they happen to have a

0:08:54.920 --> 0:09:00.439
<v Speaker 1>sixty four bit machine and Windows operating system still want

0:09:00.440 --> 0:09:03.480
<v Speaker 1>to run thirty two bits software. But yes, that's a

0:09:03.559 --> 0:09:06.840
<v Speaker 1>quick rundown on what those mean. So when you hear

0:09:06.880 --> 0:09:09.560
<v Speaker 1>about like the original Nintendo being an eight bit system

0:09:09.640 --> 0:09:12.680
<v Speaker 1>and then later systems being sixteen or thirty two bit systems,

0:09:13.120 --> 0:09:16.559
<v Speaker 1>it really tells you about the capacity for those machines

0:09:16.559 --> 0:09:19.680
<v Speaker 1>to handle larger amounts of information, which we typically experience

0:09:19.840 --> 0:09:26.200
<v Speaker 1>either as faster processing or more sophisticated programs running on

0:09:26.360 --> 0:09:29.199
<v Speaker 1>the machine. But I wanted to get down to the

0:09:29.280 --> 0:09:32.680
<v Speaker 1>nitty gritty of what's happening in the bottom level to

0:09:32.720 --> 0:09:36.640
<v Speaker 1>really understand that. Okay, that's it for this super short

0:09:36.679 --> 0:09:40.080
<v Speaker 1>Tedbits episode. I hope you enjoyed it, and I'll have

0:09:40.120 --> 0:09:42.680
<v Speaker 1>another new episode for you tomorrow, a slightly longer one,

0:09:42.880 --> 0:09:46.120
<v Speaker 1>and until then, I'll talk to you again really soon.

0:09:52.400 --> 0:09:57.080
<v Speaker 1>Tech Stuff is an iHeartRadio production. For more podcasts from iHeartRadio,

0:09:57.400 --> 0:10:01.160
<v Speaker 1>visit the iHeartRadio app Apple Podcasts, wherever you listen to

0:10:01.280 --> 0:10:02.200
<v Speaker 1>your favorite shows.