Отменен

C Programming —Cache Memory -- 2

Objective:

To simulate reading and writing to a custom-sized direct-mapped cache, involving a

custom-sized main memory.

Inputs:

The total size of accessible main memory (in words)

The total size of the cache (in words)

The block size (words/block)

A signal to read (0) or write (1) to the cache

The main memory address to read from/write to

The contents of the address for writing to the cache

Outputs:

The corresponding cache tag, block, and word for a main memory address

The contents of the address resulting from reading/writing to the cache

A message indicating either a hit or a miss to the cache

Specification:

The program simulates reading from and writing to a cache based on choosing from a

menu of choices, where each choice calls the appropriate procedure, where the choices

are:

1) Enter parameters

2) Access cache for reading/writing and transfer data

3) Quit program

Notes:

 Use a structure (struct) to represent a cache line consisting of a tag (integer) and a

block (integer pointer). Define the cache to be a pointer to the struct.

 Upon entering the parameters, the main memory and cache are to be dynamically

allocated based on their respective total sizes. Each word i of main memory is

initialized with the value M–i, where M is the size of main memory in words.

Reading/writing from/to a new block in the cache results in dynamically allocating

the block based on the block size.

Output:

Cache memory allocation and mapping:

------------------------------------

1) Enter parameters

2) Access cache for reading/writing and transfer data

3) Quit

Enter selection: 1

Enter main memory size (words): 65536

Enter cache size (words): 1024

Enter block size (words/block): 16

Cache memory allocation and mapping:

------------------------------------

1) Enter parameters

2) Access cache for reading/writing and transfer data

3) Quit

Enter selection: 2

Select read (0) or write (1): 1

Enter main memory address to write to: 65535

Enter value to write: 14

Write miss!

-----------------------------------------------------

| Tag: 63 | Block: 63 | Word: 15 (14) |

-----------------------------------------------------

Cache memory allocation and mapping:

------------------------------------

1) Enter parameters

2) Access cache for reading/writing and transfer data

3) Quit

Enter selection: 2

Select read (0) or write (1): 0

Enter main memory address to read from: 65535

Read hit!

-----------------------------------------------------

| Tag: 63 | Block: 63 | Word: 15 (14) |

-----------------------------------------------------

Cache memory allocation and mapping:

------------------------------------

1) Enter parameters

2) Access cache for reading/writing and transfer data

3) Quit

Enter selection: 2

Select read (0) or write (1): 1

Enter main memory address to write to: 65534

Enter value to write: 512

Write hit!

-----------------------------------------------------

| Tag: 63 | Block: 63 | Word: 14 (512) |

-----------------------------------------------------

Cache memory allocation and mapping:

------------------------------------

1) Enter parameters

2) Access cache for reading/writing and transfer data

3) Quit

Enter selection: 2

Select read (0) or write (1): 0

Enter main memory address to read from: 1023

Read miss!

-----------------------------------------------------

| Tag: 0 | Block: 63 | Word: 15 (64513) |

-----------------------------------------------------

Cache memory allocation and mapping:

------------------------------------

1) Enter parameters

2) Access cache for reading/writing and transfer data

3) Quit

Enter selection: 3

Навыки: Программирование на С, Техника, Java

Показать больше: programming c for find the memory of my raspberry pi, programming c c, online jobs related to programming c in dandenong, jobs matching my skills edit skills search search for projects and contests skills java c++ programming c programming job types , jobs matching my skills edit skills search search for projects and contests skills java c programming c programming job types fi, china outsourcing programming c++, china outsourcing programming c, c programming c++, c programming c++ programming, c programming c, c programming c programming, lotus notes use database script, automatically tell notes use html signature, firefox cache programming, kayak cache programming

О работодателе:
( 3 отзыв(-а, -ов) ) northridge, United States

ID проекта: #13313976

4 фрилансеров(-а) готовы выполнить эту работу в среднем за $67

idleswell

Hello, I have 30 years experience programming in C. I will create the cache simulation as described in your posting. A milestone payment for the full budget for this project must be deposited with this site befor Больше

$126 USD за 3 дней(-я)
(176 отзывов(-а))
6.0
wangbeizou

Hello. How are you. I have read and understood the project. I have strong knowledge in Data structures and Algorithms. And I'm expert in Java ,C/C++, Python ,PHP etc. I'm interested this project. So, firstly I Больше

$60 USD за 2 дней(-я)
(67 отзывов(-а))
5.5
raulbehl

Hello! Please check my reviews to know a bit about me and my work. Thank you!

$50 USD за 1 день
(17 отзывов(-а))
4.0
ThanassisKalv

Hi I am a relatively new computer engineer here in FL, you can tell from my profile. I could help with this, if you are interested I can chat for more details

$32 USD за 1 день
(8 отзывов(-а))
3.0