Memory organization

19
Unit 4 - Memory Organization Abhineet Anand Computer Science and Engg. Department University of Petroleum and Energy Studies, Dehradun November 30, 2012 Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 1 / 19

description

 

Transcript of Memory organization

Page 1: Memory organization

Unit 4 - Memory Organization

Abhineet Anand

Computer Science and Engg. DepartmentUniversity of Petroleum and Energy Studies, Dehradun

November 30, 2012

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 1 / 19

Page 2: Memory organization

Outline

1 IntroductionMemoryMemory HierarchyMemory Management System

2 Main Memory

3 Auxiliary Memory

4 Associative Memory

5 Cache MemoryCharacteristic of Cache MemoryAssociative MappingDirect MappingSet- Associative Mapping

6 Virtual Memory

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 2 / 19

Page 3: Memory organization

Memory

The memory that communicates directly with CPU is called mainmemory.

Devices that provides backup storage are called auxiliary memory.

Only program and data currently needed by the processor resides inmain memory.

All other information is stored in auxiliary memory and transferred tomain memory when needed.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 3 / 19

Page 4: Memory organization

Memory Hierarchy

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 4 / 19

Page 5: Memory organization

CPU Register - also known as Internal Processor Memory. The dataor instruction which has to be executed are kept in these registers.

The Cache Memory is employed in computer system to compensatefor the speed differential between main memory access time andprocessor logic.

The cache is used for storing segments of programs currently beingexecuted in the CPU and temporary data frequently needed in thepresent calculations.

By making program and data available at a rapid rate, it is possible toincrease the performance rate of the computer.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 5 / 19

Page 6: Memory organization

Memory Management System

Many operating system are designed to enable the CPU to process anumber of independent programs concurrently - known asmultiprogramming.

Sometimes a program are too long to be accommodated in totalspace available in main memory. A program with its data normallyresides in auxiliary memory.

When the program or a segment of program is to be executed, it istransfered to main memory to be executed by the CPU.

The part of the computer system that supervise the flow ofinformation between auxiliary memory and main memory is called thememory management system.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 6 / 19

Page 7: Memory organization

Main MemoryThe principal technology used for main memory is based onsemiconductor integrated circuit.The Integrated circuit chips are available in two possible operatingmodes:

I StaticI Dynamic

The Static RAM consists essentially of internal flip-flop that store thebinary information.The dynamic RAM stores the binary information in form of electroniccharges that are applied to capacitors.The stored charge on the capacitor tend to discharge with time andthe capacitors must be periodically recharged by refreshing thedynamic memory.The static RAM is easier to use and has shorter read and write cyclesand used in cache.The dynamic RAMs are used for implementing the main memory.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 7 / 19

Page 8: Memory organization

Auxiliary Memory

The Most common auxiliary memory devices used in computersystem are magnetic disk and tapes.

Other components used, but not as frequently, are magnetic drums,magnetic bubble memory, and optical disks.

The average time required to reach a storage location in memory andobtain its contents is called the access time.

In electromechanical devices with moving parts such as disks antapes, the access time consists of seek time required to position theread-write head to a location and a transfer time required to transferdata to or from the devices.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 8 / 19

Page 9: Memory organization

Associative Memory

An assembler program searches the symbol address table in order toextract the symbol’s binary equivalent.

The number of accesses to memory depends on the location of theitem and the efficiency of search algorithm.

Many search algorithm have been developed to minimize the numberof access while searching for an item in a random or sequentialaccess memory.

The time required to find an item stored in memory can be reducedconsiderably if stored data can be identified by the content of the dataitself rather than an address.

A memory unit accessed by content is called an associative memoryor content addressable memory(CAM).

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 9 / 19

Page 10: Memory organization

Associative Memory

This type of memory is accessed simultaneously and in parallel onthe basis of data content rather then by specific address or location.

When a word is written in an associative memory, no address isgiven. The memory is capable of finding an empty unused location tostore the word.

When a word is to be read from an associative memory, the contentof the word, or part of the word, is specified. The memory locates allwords which match the specified content and marks them for reading.

An associative memory is more expensive than a random accessmemory, so are used in application where the search time is verycritical and must be very short.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 10 / 19

Page 11: Memory organization

Cache Memory

A typical computer program flows in a straight-line fashion withprogram loops and subroutine calls encountered frequently.

Analysis of a large number of typical programs has been shown thatthe reference to memory at any given interval of time tend to beconfined within a few localized areas in memory. This phenomenon isknown as the property of locality of reference.

If the active portions of the program and data are placed in a fastsmall memory, the average memory access time can be reduced,thus reducing the total execution time of program. Such memory isknown as Cache memory.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 11 / 19

Page 12: Memory organization

Cache Memory

The Performance of cache memory is frequently measured in termsof a quantity called hit ratio.

When the CPU refers to memory and finds the word in cache, it issaid to produce a hit.

If the word is not found in cache, it is in main memory and it counts asa miss.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 12 / 19

Page 13: Memory organization

Characteristic of Cache Memory

The basic characteristic of cache memory is its fast access time.

The transformation of data from main memory to cache memory isreferred to as a mapping process.Three types of mapping procedures are:

I Associative MappingI Direct MappingI Set-associative Mapping

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 13 / 19

Page 14: Memory organization

Associative Mapping

The fastest and most flexible cache organization uses an associativememory.

The associative memory stores both the address and content (data)of the memory word.

If the address is found corresponding data is read otherwise mainmemory is accessed for the word.

It is expensive compared to random-access memories because of theadded logic associated with each cell.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 14 / 19

Page 15: Memory organization

Associative Mapping

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 15 / 19

Page 16: Memory organization

Direct Mapping

The n-bit memory address is divided into two Fields: k-bits for theindex field and n-k bits for the tag field.

The direct mapping cache organization uses the n-bit address toaccess the main memory and the k-bit index to access the cache.

Each word in cache consists of the data word and its associated tag.

When a new word is first brought into the cache, the tag bits arestored alongside the data bits.

When the CPU generates a memory request, the index field is usedfor the address to access the cache.

The tag field of the CPU address is compared with the tag in the wordread from cache.

If the two tags match, there is a hit and the required word is read fromcache otherwise it is read from main memory.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 16 / 19

Page 17: Memory organization

Set- Associative Mapping

In Direct mapping, every time a miss occurs, an entire block of wordsmust be transfered from main memory to cache memory.

Another disadvantage of direct mapping is that two words with thesame index in their address but with different tag values cannot residein cache memory at same time.

A third type of cache organization, called set-associative mapping, inwhich each word of cache can store two or more words of memoryunder the same index address.

Each data word is stored together with its tag and the number oftag-data items in one word of cache is said to from a set.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 17 / 19

Page 18: Memory organization

Virtual Memory

In a memory hierarchy system, program and data are first stored inauxiliary memory.

Portion of a program or data are brought into main memory as theyare needed by the CPU.

Virtual Memory is a concept used in some large computer systemsthat permit the user to construct programs as though a large memoryspace were available, equal to the totality of auxiliary memory.

A virtual memory system provides a mechanism for translatingprogram-generated addresses into correct main memory locations.

An address used by a programmer will be called a virtual address,and set of such addresses the address space.

An address in main memory is called a location or physical addressand the set of such addresses is called memory space.

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 18 / 19

Page 19: Memory organization

THANK YOU

Abhineet Anand (UPES, Dehradun) Unit 4 - Memory Organization November 30, 2012 19 / 19