I didn't quite understand your question but I'll answer you anyways :P..
It's known that the main memory is much larger that the cache memory , and we need to transfer a block of instructions to the cache memory to be frequently used by the processor to improve performance and reduce time spent in fetching instructions or data ( dealing with cache memory is much faster than RAM ). for example lets say that a main memory has a 128 data blocks and you need to place them in the cache memory which consists of 32 data blocks? then you have to have sort of technique to place them or MAPPING FUNCTION. And there are plenty of 'em (four mapping techniques as far as i know) i will just mention them without getting into details:
Direct mapping , fully-associative, set-associative and n-way set associative.
if you need more details just ask.
greetings
Can you please provide some help over Direct mapping , fully-associative, set-associative and n-way set associative
Thanx
Direct mappingA given Main Memory block can be mapped to one and only one Cache Memory line.It is Simple, Inexpensive, fastIt lacks mapping flexibilityAssociative mappingA block in the Main Memory can be mapped to any line in the Cache Memory available (not already occupied)It is slow, expensiveIt has mapping flexibility
The differences among direct mapping and set-associative mapping :Direct mapping : Each line in main memory maps onto a single cache line.Set-associative : Each line in main memory maps onto a small (collection) set of cache line.Direct mapping : A memory block is mapped into a unique cache line, depending on the memory address of the respective block.Set-associative : A memory block is mapped into any of the line of a set. The set is determined by the memory address, but the line inside the set can be any one.dont knowyet
The differences among direct mapping and set-associative mapping :Direct mapping : Each line in main memory maps onto a single cache line.Set-associative : Each line in main memory maps onto a small (collection) set of cache line.Direct mapping : A memory block is mapped into a unique cache line, depending on the memory address of the respective block.Set-associative : A memory block is mapped into any of the line of a set. The set is determined by the memory address, but the line inside the set can be any one.dont knowyet
consider a RAM of 64 words with a size of 16 bits.Assume that this memory have a cache memory of 8 Blocks with block size of 32 bits.Draw a diagram to show the address mapping of RAM and Cache, if 4-way set associative memory scheme is used.
Three types of mapping procedures are there? (1) Associative Mapping-The fastest and most flexible cache organizations uses associative mapping. The associative memory stores both the address and content of memory word. This permits any location in catche to store word in main memory. (2) Direct Mapping-Associative memories are expesive compared to RAM's because of added logic associated with each cell. (3) Set Associative Mapping-It is a more general method that includes pure associative and direct mapping as special case. It is an improvement over the direct mapping organization in that each word of cache can store two or more words of memory under the same index address. Each data word is stored together with its tag and the number of tag data items in one word of cache is said to form a set. With Regards Veer Thakur Chandigarh
The purpose of a page frame in computer memory management is to provide a fixed-size block of physical memory that can be used to store a page of data from virtual memory. This helps in efficiently managing memory resources and allows for the mapping of virtual memory addresses to physical memory locations.
Sorry I do not do diagrams
free() is a function used to free the memory allocated dynamically ,by both malloc and calloc functions. free(ptr): ptr is a pointer to a memory block which has already been creeated by malloc or calloc.
Don't!
1. Word field2. Block field3. Tag fieldTag, Index, and Offset.
The width of the periodic block is equal to the period of the function, which is the distance between consecutive identical points on the graph of the function. It represents the length of one complete cycle of the periodic function.
alloc is used as header file while using malloc and calloc functions in C prog.The definition of malloc function is in the alloc.h file.It's stdlib.h to be more precise