1 00:00:00,500 --> 00:00:02,790 In the previous chapter, we discussed 2 00:00:02,790 --> 00:00:06,000 how to encode information as sequences of bits. 3 00:00:06,000 --> 00:00:08,090 In this chapter, we turn our attention 4 00:00:08,090 --> 00:00:10,380 to finding a useful physical representation 5 00:00:10,380 --> 00:00:13,410 for bits, our first step in building devices 6 00:00:13,410 --> 00:00:15,890 that can process information. 7 00:00:15,890 --> 00:00:18,680 So, what makes a good bit, i.e., what 8 00:00:18,680 --> 00:00:21,920 properties do we want our physical representation of bits 9 00:00:21,920 --> 00:00:23,250 to have? 10 00:00:23,250 --> 00:00:25,370 Well, we’ll want a lot of them. 11 00:00:25,370 --> 00:00:27,280 We expect to carry billions of bits 12 00:00:27,280 --> 00:00:30,060 around with us, e.g., music files. 13 00:00:30,060 --> 00:00:33,070 And we expect to have access to trillions of additional bits 14 00:00:33,070 --> 00:00:35,470 on the web for news, entertainment, 15 00:00:35,470 --> 00:00:39,450 social interactions, commerce — the list goes on and on. 16 00:00:39,450 --> 00:00:43,500 So we want bits to be small and inexpensive. 17 00:00:43,500 --> 00:00:47,200 Mother Nature has a suggestion: the chemical encoding embodied 18 00:00:47,200 --> 00:00:51,910 in DNA, where sequences of the nucleotides Adenine, Thymine, 19 00:00:51,910 --> 00:00:54,430 Guanine and Cytosine form codons that 20 00:00:54,430 --> 00:00:56,530 encode genetic information that serve 21 00:00:56,530 --> 00:00:59,490 as the blueprint for living organisms. 22 00:00:59,490 --> 00:01:03,020 The molecular scale meets our size requirements and there’s 23 00:01:03,020 --> 00:01:06,150 active research underway on how to use the chemistry of life 24 00:01:06,150 --> 00:01:08,520 to perform interesting computations on a massive 25 00:01:08,520 --> 00:01:10,100 scale. 26 00:01:10,100 --> 00:01:12,970 We’d certainly like our bits to be stable over long periods 27 00:01:12,970 --> 00:01:16,510 of time — “once a 0, always a 0!” 28 00:01:16,510 --> 00:01:19,580 The Rosetta Stone, shown here as part of its original tablet 29 00:01:19,580 --> 00:01:23,170 containing a decree from the Egyptian King Ptolemy V, 30 00:01:23,170 --> 00:01:27,610 was created in 196 BC and encoded the information needed 31 00:01:27,610 --> 00:01:29,660 for archeologists to start reliably 32 00:01:29,660 --> 00:01:32,620 deciphering Egyptian hieroglyphics almost 2000 33 00:01:32,620 --> 00:01:34,230 years later. 34 00:01:34,230 --> 00:01:37,200 But, the very property that makes stone engravings 35 00:01:37,200 --> 00:01:39,280 a stable representation of information 36 00:01:39,280 --> 00:01:43,000 makes it difficult to manipulate the information. 37 00:01:43,000 --> 00:01:46,030 Which brings us to the final item on our shopping list: 38 00:01:46,030 --> 00:01:50,130 we’d like our representation of bits to make it easy to quickly 39 00:01:50,130 --> 00:01:53,590 access, transform, combine, transmit and store 40 00:01:53,590 --> 00:01:56,040 the information they encode. 41 00:01:56,040 --> 00:01:58,910 Assuming we don’t want to carry around buckets of gooey DNA 42 00:01:58,910 --> 00:02:03,870 or stone chisels, how should we represent bits? 43 00:02:03,870 --> 00:02:06,330 With some engineering we can represent information 44 00:02:06,330 --> 00:02:08,729 using the electrical phenomenon associated 45 00:02:08,729 --> 00:02:10,740 with charged particles. 46 00:02:10,740 --> 00:02:12,230 The presence of charged particles 47 00:02:12,230 --> 00:02:15,060 creates differences in electrical potential energy 48 00:02:15,060 --> 00:02:18,390 we can measure as voltages, and the flow of charged particles 49 00:02:18,390 --> 00:02:20,450 can be measured as currents. 50 00:02:20,450 --> 00:02:23,730 We can also encode information using the phase and frequency 51 00:02:23,730 --> 00:02:26,070 of electromagnetic fields associated with charged 52 00:02:26,070 --> 00:02:29,360 particles — these latter two choices form the basis 53 00:02:29,360 --> 00:02:31,570 for wireless communication. 54 00:02:31,570 --> 00:02:34,055 Which electrical phenomenon is the best choice 55 00:02:34,055 --> 00:02:35,555 depends on the intended application. 56 00:02:38,310 --> 00:02:41,150 In this course, we’ll use voltages to represent bits. 57 00:02:41,150 --> 00:02:45,200 For example, we might choose 0V to represent a 0-bit and 1V 58 00:02:45,200 --> 00:02:47,340 to represent a 1-bit. 59 00:02:47,340 --> 00:02:49,130 To represent sequences of bits we 60 00:02:49,130 --> 00:02:51,190 can use multiple voltage measurements, 61 00:02:51,190 --> 00:02:53,100 either from many different wires, 62 00:02:53,100 --> 00:02:57,640 or as a sequence of voltages over time on a single wire. 63 00:02:57,640 --> 00:03:00,810 A representation using voltages has many advantages: 64 00:03:00,810 --> 00:03:04,610 electrical outlets provide an inexpensive and mostly reliable 65 00:03:04,610 --> 00:03:07,860 source of electricity and, for mobile applications, 66 00:03:07,860 --> 00:03:11,320 we can use batteries to supply what we need. 67 00:03:11,320 --> 00:03:14,390 For more than a century, we’ve been accumulating considerable 68 00:03:14,390 --> 00:03:18,280 engineering knowledge about voltages and currents. 69 00:03:18,280 --> 00:03:22,220 We now know how to build very small circuits to store, detect 70 00:03:22,220 --> 00:03:24,100 and manipulate voltages. 71 00:03:24,100 --> 00:03:26,990 And we can make those circuits run on a very small amount 72 00:03:26,990 --> 00:03:28,950 of electrical power. 73 00:03:28,950 --> 00:03:30,820 In fact, we can design circuits that 74 00:03:30,820 --> 00:03:34,410 require close to zero power dissipation in a steady state 75 00:03:34,410 --> 00:03:38,520 if none of the encoded information is changing. 76 00:03:38,520 --> 00:03:40,560 However, a voltage-based representation 77 00:03:40,560 --> 00:03:42,290 does have some challenges: 78 00:03:42,290 --> 00:03:45,750 voltages are easily affected by changing electromagnetic fields 79 00:03:45,750 --> 00:03:47,900 in the surrounding environment. 80 00:03:47,900 --> 00:03:50,340 If I want to transmit voltage-encoded information 81 00:03:50,340 --> 00:03:53,810 to you, we need to be connected by a wire. 82 00:03:53,810 --> 00:03:55,420 And changing the voltage on a wire 83 00:03:55,420 --> 00:03:58,870 takes some time since the timing of the necessary flow 84 00:03:58,870 --> 00:04:01,360 of charged particles is determined by the resistance 85 00:04:01,360 --> 00:04:03,850 and capacitance of the wire. 86 00:04:03,850 --> 00:04:07,160 In modern integrated circuits, these RC time constants 87 00:04:07,160 --> 00:04:10,550 are small, but sadly not zero. 88 00:04:10,550 --> 00:04:13,190 We have good engineering solutions for these challenges, 89 00:04:13,190 --> 00:04:15,270 so let’s get started!