
1. | Welcome | ToC | FAQ
| Resources | Courses
| Projects | Mail
Lists | Members | Misc |
2. | Fundamentals | Languages
| Tools | Net
| Core | Advanced
|
3. | Binary | Hardware | Software
| Mac Programming |
4. | Lessons |
5. | Binary | Memory | CPU|
Data | Files | Programming |
All modern computer systems contain as much RAM (Random-Access memory) as their owners can afford :-). RAM holds the information that the computer is actually processing at any given moment, while the hard disk is used to store information in between the times that the computer is actually using it. RAM memory is called "volatile", because it is cleared when the computer is turned off. Hard disks are "non-volatile" because they retain the information stored on them even when power is no longer applied.
The amount of RAM memory (usually just called 'memory') in a computer determines the amount of information that the computer can process at any single moment in time. Although individual digital circuits are able to distinguish between only two states (1 vs. 0 - called a 'bit'), many earlier computer systems were based around microprocessors that were designed to work with groups of 8 bits together as if they were a single entity. Since each bit used to compose a digital circuit doubles the number of states that the circuit can represent, a circuit with 8 bits is able to hold 256 discrete states (2 to the 8th power). This size of entity, the 8 bit byte, was large enough to satisfy the needs of simple arithmetic and to allow the standard teletype (and some additional control) characters to be represented and has become the de facto unit of measure for computer memory. Most models of Macintosh computers have between 4M and 32M of RAM memory, although many models can be expanded beyond 32M (Megabytes = million bytes). Some of that memory is used by the operating system (usually between 1M to 4M), and the rest is available to the user to hold programs and their associated data.
Modern CPU chips use 32 bit entities as their standard unit of work. This allows them to conveniently work with entities that can take on 4,294,967,296 possible values (2 to the 32nd power). To maintain compatibility with earlier designs, and to allow for efficient use of memory, modern CPUs continue to allow the programmer to choose to work with 16 bit entities (65,636 different values) or 8 bit entities instead.
Computer hardware accesses memory by assigning each byte a unique address. The address is used by the CPU to know WHICH memory location to get a value from, or to place a value into. Since modern CPUs can work with values that are 1, 2, and/or 4 bytes in size, they are able to read/write single bytes, two contiguous bytes, or four contiguous bytes by a single instruction. For efficiency reasons, it is better to use even numbered addresses (divisible by 2) when working with two byte values, and to use address that are divisible by the number 4 for 4 byte values. Most compilers have options that simplify the programmers efforts to conform to that requirement.
Copyright
© 1996, 1997, 1998. Last Update to This Page:
1998/10/22
This Page Maintained by: radar
pangaean * * * Original Author: radar
pangaean
The MOST web site is built
and maintained by the voluntary efforts/donations of our members.