NWA-PCUG Newsletter Article, January 2011
A Brief History of Data Storage &
a Brief Explanation of the Binary System (Part 1 of 2)

By Ron Hirsch, Member & Contributing Editor,
Boca Raton Computer Society, Florida August 2010 issue, Boca Bits

http://www.brcs.org
Ronhirsch1439 (at) comcast.net (click to email author)

Introduction
Ever since man first walked the earth, he has started keeping records, and storing information. Early man did so by creating crude pictures on the walls of caves, and much of these still exist today. As society progressed, the need for more and more information storage increased. This served several purposes. It provided the means to pass along knowledge to other contemporary members of the current generation, and also to generations to come.

And they served to document all the activities of the existing generation.

In today’s computerized world, most of society takes the personal computer for granted, without really understanding what is actually happening inside that “magic box”. In simplistic terms, there are two primary elements in a computer. They are the storage capacity devices such as the hard drives, and RAM, and the CPU computer chip which processes stored and inputted information to produce the desired output.

This article will present a brief overview of the storage aspect, and an introduction to binary arithmetic, which is at the heart of how a computer accepts and processes data. It has been my experience that very few people understand what the binary system is. I will explain in simple terms (hopefully) how it works, and why it’s needed. So, once you understand binary, you can be the expert, and explain it to your friends, and impress them.

These two facets of computers have made such rapid and continuous advances since “computers” first arrived on the scene that their capabilities have truly become mind boggling.

The Early Years
My earliest recollection of data storage and processing is in the early-mid 1930's. My father opened a savings account for me at our local bank I believe that the initial deposit was 25 cents. Periodically I would visit there and make additional deposits of 10 cents or so. This involved making out a deposit slip, and presenting it, along with my passbook, and the money to the teller. He would then manually enter the new deposit (using a pen dipped into ink) into my passbook, and also the banks master record book, stamp my deposit slip, and put it into a bin with other deposit slips. Ultimately, he taught me how to fill out my own deposit slips. I also remember that the interest rate was 0.5% annually. Needless to say, I did not get rich on the interest, which amounted to at most a few pennies a year. Amazingly, this manual system of record keeping did not change for many years.

Automation Starts Arriving
As time marched on, some new methods arrived on the scene. The ability to store on tape, and wire, and the development of punch cards represented major breakthroughs. And to store documents and records, microfilm was heavily used. While microfilm allowed the user to “view” a document, the view was actually a picture, and extracting info and values from a microfilm document was not a simple process.

But, punch cards did represent a major breakthrough in using a machine to store and retrieve data. Processing equipment could take a stack of punch cards and run them through, searching for and recovering information which had been stored there. It was noisy, and very slow by current standards, but it did work.

The Digital Era Arrives - Binary Goes To Work
Most people do not understand the binary system, which is the fundamental process used by virtually all digital computers. I want to take a few paragraphs here to briefly describe what “binary” is, for those who might be interested. Let’s assume you have a value which you want to store, and let’s say that value is “143”. Now, if that number was written down on a piece of paper, any educated person looking at the number would know that it is “143”. But, if that number is then to be processed somewhere else, how can we describe that number such that some other non-human process can know that it is a value of exactly 143, and readily and reliably use that value?

Decimal System
In our decimal system, the number 143 actually means as follows. The 3 is the units figure, the 4 is the 10's figure, and the 1 is the 100's figure. So writing 143 in our decimal system means that the total value is 1x100, plus 4x10, plus 3x1. This is a base 10 system. Each successive number after the units number represents an amount 10 times the previous number. Adding these all up then produces a total of 143. This is easy to understand, so you may ask, why don’t we use this system? Remember, we have to clearly define the value - so how can we do that, remembering that it must be readily accessed, and be absolutely reliable by a non human processing activity? Well, someone could say - just use three dials, with settings going from 0-9, and set them to 1, 4, and 3 respectively.

This could be difficult to read out by other automated equipment, and would require mechanical processes which could get unreliable. And if the values got into many figures, using this process would be slow, and difficult. However, let’s pursue that approach, but let’s change the system to describe values.

Remember, we use the decimal system, where the digits from right to left represented units, 10's, 100's, etc.. And, since it is a decimal string, each number in the string could be any value from 0 to 9.

Binary System
Enter the binary system, conceived by the ever searching mind of man. The binary system is similar to the decimal system, except there are only two numbers use, 0 and 1. The rightmost 0 is the units position. The adjacent 1 is the 2's position. The next position is the 4's position. The next position is the 8's position, etc.. this is similar to the decimal system, which is a base 10 system, except this is a base 2 system, where each prior digit represents the value of twice the prior digit. But how could this help, and be reliable?

Here is a binary number - 101010. In the 2's position, there is a 1, and in the 8's position, there is a 1, and in the 32's position there is a 1. So the value of this binary number is 42 in our decimal system. Remember, the purpose of the binary system is not to get rid of the decimal system. It is merely a way to do calculations effectively, and efficiently, using automated devices. The final answer will be converted back to our decimal system for normal interfacing by humans. Now, how can we use this? Suppose we set up a row of 8 light bulbs, with each one having an on/off switch to set the bulb to on or off. Now, let’s assign some values to each of the bulbs in this string, using a binary approach. With these light bulbs, there are only two states - on or off. That’s perfect, as that is what the binary system needs.

So now we have a binary string, where each light can represent a value of 0 or 1. If a light is on, it represents a 1, and if it off, it represents a 0 So, if we wanted to store the value of 1, only the rightmost light would be on. And since this is a binary string, the 2nd number from the right end would be the value of 2, the leftmost number represents a value of 128.

So, to represent the number 143, let’s see what need to create that. We’ll go down the light string, one at a time, starting the left end, which is the 128 value. Remember, each number in the string must be either a 1 or 0, depending upon whether we want to include that value in the total. We start at the left end, and if that number is equal to or less than the total value we need to reach, we turn that light on. If the next value is equal to or less than the remainder we need, we turn that light on, and if not, we leave that light off. We progress down the line doing this for each position in the string.

We want a value of 128, so we turn on the number 1 light. We only need 15 more, so we must leave the 64, 32, and the 16 lights off, as using any of them would total up to a number larger than 143. Continuing down the line, we end up turning on the lights for 8, 4, 2, and 1. Now, we have the lights for 128, 8, 4, 2, and 1 all turned on. These total up to 143, so we have expressed the number 143 using our string of 8 lights. And, it should now be obvious that the largest number we can express with 8 light string is the total of all eight lights which adds up to 255. Since we have 8 lights, this would be described as an eight bit system.

Each device capable of having a value of 0 or 1 is called a bit. To handle larger values, we would have to add lights for 256, 512, etc. The more lights we have, the larger the total value we can process. In the real world, the computer does not use lights, but uses transistors as switches.

Then in the process of calculating, the computer just looks to see if the switches are on or off. And obviously the process has many other aspects than presented here. If you now understand how the computer can represent numeric values in binary, you will be able to more easily follow part 2 of this article, which will appear in next month’s issue.

I will present a bit of history on the various storage media that have been invented since the start of the computer revolution. Some of the facts and figures here are truly mind boggling. And I will discuss the amazing history of the magnetic hard drive, which we all take for granted. The numbers involved are indeed unbelievable.

Bits and Bytes
I’m sure you’ve heard both these terms, and possibly you don’t know the difference, or why we use them. If you remember, in part 1 we saw that an 8 bit number could represent values from 1 to 255.

It was decided way back, that 255 is a reasonable number of total choices to identify numbers from 0-9, letters from a-z, both uppercase, and lowercase, punctuation marks, and other miscellany. So, to call for a text string consisting of 6 letters, 6 bytes are generally required. Storage devices are generally defined by the number of bytes they can store. And obviously, the number of actual bits is 8 times that number. There is an expression in computer circles, that there are 10 kinds of people - those who understand binary, and those who do not. Remember, the string 10 is equal to a value of two in binary!!

If you find this material useful, you may want to download this article in PDF format, from our web site http://www.brcs.org, keep the material as a PDF file, and/or print it out, and place it in a loose-leaf notebook, for future reference.

Click here to return to top



==================================================================