Many types of memory devices are available for use in modern computers and embedded systems. As an embedded engineer, you must understand the differences between them and understand how to use each type effectively. Common memory types in embedded systems can be categorized into three groups: RAM, ROM, and Hybrid, as shown in Figure 1.
Figure 1: Common Memory Types in Embedded Systems
RAM /ræm/ (Random-Access Memory) is a volatile types of memory, where stored data is lost if power is removed. The two widely used forms of modern RAM are static RAM (SRAM) and dynamic RAM (DRAM).
A number system is a way to represent numbers.
Ten is an important number for us humans. Most of us have ten of fingers and toes, and we certainly prefer to have all ten of each. Because the fingers are convenient for counting, people started using their fingers to count from 1 to 10. It is decimal system, which is also called base-10 number system. Even if a lot of number systems are in base 10, human did not always count in base 10 and we are still using other numeral bases. Here are few examples:
Figure 1: Ten fingers on two hands, the possible starting point of the decimal counting
If humans had 6 fingers on their hands, would we be using the Senary system (also known as heximal or) of numbers?
In a digital system, each digit (bit, wire) has only two possible values: 0 or 1. It is called Binary, or base-2 number system. If there is a longer binary number, for example: (101110100101)binary, it is not suitable for humans to remember it, and it is easily confused. One good way reducing the length of binary number is grouping consecutive binary digits into groups of other number system. Therefore, we are using Octal (a base-8 number system) and Hexadecimal (a base-16 number system) to represent a binary number in the digital system.
In mathematics, a 「base」 or a 「radix」 is the number of different digits or combination of digits and letters that a system of counting uses to represent numbers. ~Wiki~
Characteristics of the decimal number system are as follows:
The base-10 system is a Positional Number System. it means each digit has s different value according to its positions. For example: 255 is (2 x 100) + (5 x 10) + (5 x 1). There are a lot of other numeral systems which does not work that way. One of most famous is Roman numerals, which is not really a positional system. In the Roman number system,The X stands for 10, the V stands for 5, and the I is a one. Twenty-seven in Roman numerals is XXVII ; it is 10 + 10 + 5 + 1 + 1 = 27 in decimal.
Humans want to see and enter number in decimal, but computers must store and compute with bits. Therefore, we need to know how to convert a number into different number systems.
To convert any base-r number to decimal:
Base-r system to decimal system:
Basically, the number systems can be cataloged into two groups: decimal and binary systems.
Figure 1: Number Systems
We can easily convert numbers between decimal and binary systems. If you need to convert a BCD number to another system, such as octal, the best solution is to convert the BCD number it to decimal first, then convert to binary, and finally to octal number.
Most of common powers of base-10 and base-2 number system are shown as follows: