Explore BrainMass


In a computer context, 'memory' refers to physical devices used to store data and programs either temporarily or permanently so they can be retrieved and used when required. Every application, program and document takes up space in memory so a programmer must always be aware of memory management or else risk bugs, poor performance and vulnerabilities to malicious software and viruses.

There are a many different kinds of memory. First, it can be divided into primary and secondary memory. Primary memory is faster to access so information that is needed often for common processes is stored there. Secondary memory is the physical memory that has a higher capacity for storage but this comes with the trade-off of being slower. Primary memory stores on the secondary memory system is called virtual memory. Primary memory and CPU cache memory, which is another type of fast-access memory, are examples of what we call 'volatile memory'. Volatile memory is itself a type of semiconductor memory. Examples of non-volatile memory includes flash memory and ROM/PROM/EPROM/EEPROM memory. Volatile and non-volatile memories are the main types of semiconductor memory which operate on a system  of memory cells or bistable flip-flops, each of which stores a single bit.

The size-to-storage capabilities of memory has taken some drastic leaps since the first implementation of a computer. 1940s technology could barely handle more than a few bytes at a time. The ENIAC needed thousands of octal-base radio vacuum tubes to do simple calculations of 20 numbers - truly laughable in today's world where it a memory card holding every photo you've ever taken in your life is small enough to be swallowed.

Set Associative Cache

Please help with the following computer science problems. Provide step by step calculations. Suppose that a computer using a set-associative cache has 2^16 words of main memory and a cache of 32 blocks, where each cache block contains 8 words. A. If this cache is a 2-way set-associative, what is the format of a memory

Consider a memory of 64 blocks (labeled 0 through 63) and a cache of 16 blocks (labeled 0 through 15). Answer the given questions related to 2-way set associative, direct mapped and 4-way set associative layouts of the cache.

Consider a memory of 64 blocks (labeled 0 through 63) and a cache of 16 blocks (labeled 0 through 15). In the questions below, list only correct results. (i) Under 2-way set associativity, to which blocks of cache may element 31 of memory go? (ii) In the sequence of memory block references from the CPU [0,2,10,45,10,2,44,3

Cache memory and Virtual memory

Cache memory systems and virtual memory systems share certain objectives. a. Explain what a cache is and what its purpose is. Also describe what data gets placed into the cache, and when it is put there. b. Explain what virtual memory is and what its purpose is. Also describe when and how pages are moved between virt

A Program Simulating Little Man's Computer

We have to write a c++ program for Little man's computer in which Input: A text file containing machine code (not assembly code) for little man's computer following instruction set . Instructions are in different lines (no need for semicolon at the end of each instruction) Arithmetic 1xx ADD 2xx SU

Information in a Read-Only Memory (ROM)

Explain what use a read-only memory (ROM) serves in the design of a computer system. What type of information is kept in a ROM, and how does that information originally get into the memory?

Addressable Memory

32 bit computer 32 bit instruction: 2 fields:opcode field and immediate operand or operand address opcode = 1 byte wide express answer in powers of 2 1. give number of available unique instructions 2. give max indrectly addressable mem capacity in bytes. 3. give max directly addressable memory capacity in bytes. 4. give b

Comparing Address Machines

Compare zero-, one-, two-, and three-address machines by writing programs to compute X = (A+B X C)/D - E X F) For each of the four machines. The instructions available for use as follows: 0 Address 1 Address 2 Address 3 Address PUSH M LOAD M MOVE (X<-- Y) MOVE (X <--Y) POP STORE M ADD (X<--X +Y) ADD (X<-

Importance of RAM

What is the importance of having enough RAM? How does it relate to how fast a computer can process data from a large database residing on ones hard drive? What is the importance of virtual memory if you don't have too much RAM & how does it relate to query speeds?

Manually Assembling Programs

Write and manually assemble the following programs. All memory addresses include the starting and ending addresses. Show comments and identified source codes. 1. Clear (place 0s) in all memory locations from 2000h to 200Ah. 2. Make every odd bit in memory addresses C000h and D000h a 0. Do not change any other bit at each ad