Test your knowledge!Take a quiz to access yourself.

Bits, Bytes and Memory – Basics of Computer Storage Unit

In computer architecture, Memory is a temporary storage unit which holds data and instructions needed by Computer processing unit to run a program. Well, too much technical, right?

Let’s try this way then.

Sometimes it can be good to hold yourself  a bit and think about flushing those uncertainties out of your brain system which are built from uneven pieces and was created when you tried to jump to the Advance without understanding basics. Life’s rough, man. People say first step isn’t easy. I say, begin again is more tough. However, results can be extraordinary, and it’s a good idea to brush up on the best ways so you never fail when it comes to handling real situations.

Also, to understand Big Endian and Little Endian in our next post, you need to know term “memory”.

Now what is memory? I’m so glad you asked.

Don’t miss out one thing here, when i talk about “memory” here, i am referring to internal quick memory built to store and retrieve the information being processed by CPU.

Fortunately, you don’t have to go through the full book and master it. All you need to know is that it’s an array which is big enough to hold each byte under process by your computer system. Unlike the arrays you are thinking about right now, in computer organization, the location of this array is referred by “address” instead of “index” but the meaning is same.

As long as our computers do what we need them to, we don’t tend to follow too much about how those computer cases work and have a deeper understanding of what is happening inside. Well, let me dig more for you. Each element stored at one address is typically one byte. Though, there are some configurations where each address stores something besides a byte like a nybble or a bit. Well, don’t worry those are very rare cases, so for now, we are going to pay attention on bigger picture here, so will avoid these exceptions. 

Well, now we are clear on our basics. Let’s jump back on to the main track.

Byte Vs Word

In computer architecture, a byte means the smallest addressable unit for a CPU. If i say a memory is byte-addressable that simply means each memory address stores a byte. It’s always 8-bit in size which means can be represented by 2 Hex values and can store a decimal value from 0-255. A representation for decimal value 181 into binary and Hex can be seen in following picture:

Decimal to Bytes to Hex

 

In contrast, A word in computer architecture is the biggest chunk of bits with which a processor can do processing (like addition and subtraction) at a time. That definition is a bit fuzzy, as some processor might have different word sizes for different tasks (integer vs. floating point processing for example). The most common word sizes encountered today are 8, 16, 32 and 64 bits, but other sizes are possible.

The following picture gives a clear understanding of  16 bit word computer architecture:

byte and word

 

After looking at above picture, you must be wondering about those extra pieces MSB and LSB. Well, an extra piece of information doesn’t harm anyone. So, let me introduce them too.

Most Significant Bit

A bit which must be having most significance in a byte or word should be called Most significant bit or MSB. Well, same applies here. The bit location which can represent the highest value is called most significant bit. Usually, it’s the right-most bit due to our convention of putting high value digits to the left. The msb can also be used to denote the sign bit of a binary number in it’s one’s or two’s complement notation, with 1 meaning it’s a negative number, and 0 meaning it’s a positive number. For example, the number 111001 can represent a negative 110001(-49).

Least Significant Bit

On contrary, the Least significant bit is the bit position in a binary number which can represent the lowest value and it is the right most bit in a byte or word. It has the least effect on the value of a binary number, as the name defines itself. Well, it can be used to identify if the value it represents is even or odd. For example, the number 10110011 is odd, as it has high bit (1) at the right most location.

 

That’s it for now. I’ll be back with more soon, so keep on looking. Remember, this is not the end, It’s just a good start. 🙂

One Comment

Add a Comment

Your email address will not be published. Required fields are marked *