国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

代做CS 211: Computer Architecture

時間:2024-04-15  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯



CS 211: Computer Architecture, Spring 2024
Programming Assignment 5: Simulating Caches (100 points)
Instructor: Prof. Santosh Nagarakatte
Due: April 25, 2024 at 5pm Eastern Time.
Introduction
The goal of this assignment is to help you understand caches better. You are required to write a
cache simulator using the C programming language. The programs have to run on iLab machines.
We are providing real program memory traces as input to your cache simulator.
No cheating or copying will be tolerated in this class. Your assignments will be automatically
checked with plagiarism detection tools that are powerful. Hence, you should not look at your
friend’s code or use any code from the Internet or other sources such as Chegg/Freelancer. We
strongly recommend not to use any large language model and use the code sample provided by
it as it will likely trigger plagiarism violations. All violations will be reported to office of student
conduct. See Rutgers academic integrity policy at:
http://academicintegrity.rutgers.edu/
Memory Access Traces
The input to the cache simulator is a memory access trace, which we have generated by executing
real programs. The trace contains memory addresses accessed during program execution. Your
cache simulator will have to use these addresses to determine if the access is a hit or a miss, and
the actions to perform in each case. The memory trace file consists of multiple lines. Each line of
the trace file corresponds to a memory access performed by the program. Each line consists of two
columns, which are space separated. First column lists whether the memory access is a read (R)
or a write (W) operation. The second column reports the actual 48-bit memory address that has
been accessed by the program. Here is a sample trace file.
R 0x9cb3d40
W 0x9cb3d40
R 0x9cb3d44
W 0x9cb3d44
R 0xbf8ef498
Part One - One Level Cache - 50 points
You will implement a cache simulator to evaluate different configurations of caches. The followings
are the requirements for the first part of the cache simulator.
1
• Simulate only one level cache; i.e., an L1 cache.
• The cache size, associativity, the replacement policy, and the block size are input parameters.
Cache size and block size are specified in bytes.
• You have to simulate a write through cache.
• Replacement Algorithm: You have to support two replacement policies. The two replacement
policies are: First In First Out (FIFO) and Least Recently Used (LRU).
Next, you will learn more about cache replacement policies.
Cache Replacement Policies
The goal of the cache replacement policy is to decide which block has to be evicted in case there is no
space in the set for an incoming cache block. It is always preferable – to achieve the best performance
– to replace the block that will be re-referenced furthest in the future. In this assignment, you will
use two different ways to implement the cache replacement policy: FIFO and LRU.
FIFO
When the cache uses the FIFO replacement policy, it always evicts the block accessed first in the
set without considering how often or how many times the block was accessed before. So let us say
that your cache is empty initially and that each set has two ways. Now suppose that you access
blocks A, B, A, C. To make room for C, you would evict A since it was the first block to be brought
into the set.
LRU
When the cache used the LRU replacement policy, it discards the least recently used items first.
The cache with an LRU policy has to keep track of all accesses to a block and always evict the
block that been used (or accessed) least recently as the name suggests.
Cache Simulator Interface
You have to name your cache simulator first. Your program should support the following usage
interface:
./first <cachesize> <assoc:n> <cache policy> <block size> <trace file>
where:
• The parameter cache size is the total size of the cache in bytes. This number should be a
power of 2.
2
• The parameter assoc:n specifies the associativity. Here, n is a number of cache lines in a set.
• The parameter cache policy specifies the cache replacement policy, which is either fifo or
lru.
• The parameter block size is a power of 2 that specifies the size of the cache block in bytes.
• The parameter trace file is the name of the trace file.
Simulation Details
• When your program starts, there is nothing in the cache. So, all cache lines are empty.
• You can assume that the memory size is 248 . Therefore, memory addresses are at most 48
bit (zero extend the addresses in the trace file if they are less than 48-bit in length).
• The number of bits in the tag, cache address, and byte address are determined by the cache
size and the block size.
• For a write-through cache, there is the question of what should happen in case of a write
miss. In this assignment, the assumption is that the block is first read from memory (i.e.,
one memory read), and then followed by a memory write.
• You do not need to simulate data in the cache and memory in this assignment. Because,
the trace does not contain any information on data values transferred between memory and
caches.
Sample Run
Your program should print out the number of memory reads (per cache block), memory writes (per
cache block), cache hits, and cache misses. You should follow the exact same format shown below
(no space between letters), otherwise, the autograder can not grade your program properly.
./first ** assoc:2 fifo 4 trace1.txt
memread:336
memwrite:334
cachehit:664
cachemiss:336
The above example, simulates a 2-way set associate cache of size ** bytes. Each cache block is 4
bytes. The trace file name is trace1.txt.
Note: Some of the trace files are quite large. So it might take a few minutes for the autograder to
grade all testcases.
3
Part II - Two Level Cache - 50 points
Most modern CPUs have multiple level of caches. In the second part of the assignment, you have
to simulate a system with a two-level of cache (i.e., L1 and L2). Multi-level caches can be designed
in various ways depending on whether the content of one cache is present in other levels or not.
In this assignment you implement an exclusive cache: the lower level cache (i.e., L2) contains only
blocks that are not present in the upper level cache (i.e., L1).
Exclusive Cache
Consider the case when L2 is exclusive of L1. Suppose there is a read request for block X. If the
block is found in L1 cache, then the data is read from L1 cache. If the block is not found in the
L1 cache, but present in the L2 cache, then the cache block is moved from the L2 cache to the L1
cache. If this causes a block to be evicted from L1, the evicted block is then placed into L2. If the
block is not found in either L1 or L2, then it is read from main memory and placed just in L1 and
not in L2. In the exclusive cache configuration, the only way L2 gets populated is when a block is
evicted from L1. Hence, the L2 cache in this configuration is also called a victim cache for L1.
Sample Run
The details from Part 1 apply here to the second level L2 cache. Your program gets two separate
configurations (one for level 1 and one for level 2 cache). Both L1 and L2 have the same block size.
Your program should report the total number of memory reads and writes, followed by cache miss
and hit for L1 and L2 cache. Here is the format for part 2.
./second <L1 cache size> <L1 associativity> <L1 cache policy> <L1 block size>
<L2 cache size> <L2 associativity> <L2 cache policy> <trace file>
This is an example testcase for part 2.
./second ** assoc:2 fifo 4 64 assoc:16 lru trace2.txt
memread:**77
memwrite:2**
l1cachehit:6501
l1cachemiss:3499
l2cachehit:222
l2cachemiss:**77
The above example, simulates a 2-way set associate cache of size ** bytes. bytes with block size of
4 for L1 cache. Similarly, L2 cache is a fully associate cache of size 64 bytes. Further, the trace file
used for this run is trace2.txt. As you can see, the program outputs the memory read and memory
writes followed by the L1 and L2 cache hits and misses in the order shown above.
4
Structure of your submission
All files must be included in the pa5 folder. The pa5 directory in your tar file must contain 2
subdirectories, one each for each of the parts. The name of the directories should be named first
and second. Each directory should contain a c source file, a header file (optional) and a Makefile.
To create this file, put everything that you are submitting into a directory named pa5. Then, cd
into the directory containing pa5 (i.e., pa5’s parent directory) and run the following command:
tar cvf pa5.tar pa5
To check that you have correctly created the tar file, you should copy it (pa5.tar) into an empty
directory and run the following command:
tar xvf pa5.tar
This is how the folder structure should be.
* pa5
- first
* first.c
* first.h
* Makefile
- second
* second.c
* second.h
* Makefile
Autograder
First Mode
Testing when you are writing code with a pa5 folder.
• Let us say you have a pa5 folder with the directory substructure as described in the assignment
description.
• copy the pa5 folder to the directory of the autograder.
• Run the autograder with the following command.
python3 pa5_autograder.py
It will run the test cases and print your scores.
5
Second Mode
This mode is to test your final submission (i.e., pa5.tar)
• Copy pa5.tar to the autograder directory.
• Run the autograder with pa5.tar as the argument as shown below
python3 pa5_autograder.py pa5.tar
Grading Guidelines
This is a large class so that necessarily the most significant part of your grade will be based on
programmatic checking of your program. That is, we will build the binary using the Makefile and
source code that you submitted, and then test the binary for correct functionality against a set of
inputs. Thus:
• You should not see or use your friend’s code either partially or fully. We will run state of the
art plagiarism detectors. We will report everything caught by the tool to Office of Student
Conduct.
• You should make sure that we can build your program by just running make.
• Your compilation command with gcc should include the following flags: -Wall -Werror -
fsanitize=address
• You should test your code as thoroughly as you can. For example, programs should not crash
with memory errors.
• Your program should produce the output following the example format shown in previous
sections. Any variation in the output format can result in up to 100% penalty. Be especially
careful to not add extra whitespace or newlines. That means you will probably not get any
credit if you forgot to comment out some debugging message.
• Your folder names in the path should have not have any spaces. Autograder will not work if
any of the folder names have spaces.
Be careful to follow all instructions. If something doesn’t seem right, ask on Canvas discussion
forums or contact the TAs during office hours.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp

















 

掃一掃在手機打開當(dāng)前頁
  • 上一篇:CS 2550代做、代寫SQL設(shè)計編程
  • 下一篇:菲律賓國旗(國旗的含義是什么)
  • 無相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真技術(shù)服務(wù)
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強度疲勞振動
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)40個行業(yè)
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務(wù)平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 豆包網(wǎng)頁版入口 破天一劍 目錄網(wǎng) 排行網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    久久亚洲中文字幕无码| 欧美激情亚洲视频| 国产精品一区二区3区| 美女黄毛**国产精品啪啪| 日韩精品欧美专区| 青青在线视频观看| 欧美高清性xxxxhd| 麻豆精品蜜桃一区二区三区| 国产一区免费| 成人免费视频久久| 7777精品视频| 日日骚久久av| 久久夜色精品国产亚洲aⅴ| 九九精品视频在线观看| 亚洲综合中文字幕在线| 视频在线99| 欧美日韩午夜爽爽| 国产日韩精品一区观看| 北条麻妃在线一区| 91精品国产自产在线观看永久 | 欧美在线亚洲一区| 国产在线视频2019最新视频| 国产欧美日韩丝袜精品一区| 91免费看片在线| 久久久久久中文字幕| 国产精品久久久久av免费| 欧美激情一级欧美精品| 日本在线视频不卡| 欧美亚洲激情视频| 成人免费在线网址| 久久国产亚洲精品无码| 国产精品人成电影| 精品免费国产| 色之综合天天综合色天天棕色| 青草青草久热精品视频在线网站| 国产又黄又大又粗视频| 91精品免费视频| 国产精品视频xxxx| 亚洲欧美综合一区| 精品欧美一区二区久久久伦| 国产精品亚洲аv天堂网| 国产v亚洲v天堂无码久久久| 久久综合国产精品台湾中文娱乐网| 亚洲丰满在线| 僵尸世界大战2 在线播放| 97欧美精品一区二区三区| 久久久精品国产| 一区二区三区的久久的视频| 日韩欧美国产综合在线| av一区二区在线看| 国产精品偷伦免费视频观看的 | 成人精品视频99在线观看免费| 久久av高潮av| 在线视频不卡一区二区三区| 欧美日韩国产免费一区二区三区| 99视频精品全部免费看| 国产精品久久一| 日本久久精品视频| 福利在线一区二区| 国产精品视频免费在线观看| 亚洲欧美综合一区| 国产一级不卡视频| 国产精品无码电影在线观看| 人人妻人人添人人爽欧美一区| av 日韩 人妻 黑人 综合 无码| 国产精品免费一区二区三区四区| 欧美一级片中文字幕| 国产精品永久在线| 国产精品第12页| 人妻av无码专区| 久久男人资源站| 亚洲精品中文字幕乱码三区不卡| 国产在线青青草| 国产精品视频免费一区| 日韩免费高清在线| 久久久视频在线| 亚洲精品一区国产精品| 国产精品一二三在线| 欧美不卡视频一区发布| 国严精品久久久久久亚洲影视| 国产成人午夜视频网址| 日韩精品手机在线观看| 久久久久久久久久久视频| 色狠狠久久av五月综合|| 91国内在线视频| 一本—道久久a久久精品蜜桃| 国产日产精品一区二区三区四区| 国产精品美女免费| 国内精品中文字幕| 国产精品久久在线观看| 精品一区二区三区无码视频| 国产精品久久久久久久久久久久| 欧美不卡1区2区3区| 国产精品天天狠天天看| 国产自产在线视频| 久久夜色精品亚洲噜噜国产mv| 国内精品久久久久伊人av| 国产精品第一区| 国产日韩中文在线| 久久久久久com| 99在线影院| 婷婷久久青草热一区二区| 国产精品 日韩| 日韩免费av一区二区三区| 久久www视频| 欧美在线视频免费| 国产精品伦子伦免费视频| 国产日产欧美精品| 亚洲免费视频播放| 久久久久久久久久久免费| 欧美性受xxxx黑人猛交88| 国产精品高潮呻吟久久av无限 | 国产精品96久久久久久| 日韩欧美国产免费| 国产精品二区三区| 99在线免费视频观看| 色播亚洲婷婷| 国产精品三级一区二区| 精品一区国产| 亚洲欧美国产精品桃花| 日韩一区二区欧美| 国产欧美精品久久久| 亚洲欧美日韩在线综合| 久久久久久免费看| 国产在线视频一区| 天堂一区二区三区| 国产精品网站入口| 99爱精品视频| 欧美亚洲在线视频| 亚洲午夜精品久久久中文影院av| 国产成人+综合亚洲+天堂| 国内精品小视频在线观看| 伊人久久青草| 国产成人精品av| 麻豆蜜桃91| 欧美一级片免费在线| 欧美成年人视频网站欧美| 国产精品69久久| 韩日欧美一区二区| 无码日韩人妻精品久久蜜桃| 国产精品日韩在线观看| 91免费的视频在线播放| 欧美国产综合在线| 视频一区二区视频| 美女999久久久精品视频| 久久久久在线观看| 粉嫩av一区二区三区免费观看 | 日韩欧美一区二| 一区二区三区四区国产| 国产成人精品一区二区三区福利| 超碰97国产在线| 激情综合网俺也去| 少妇一晚三次一区二区三区| 久久电影一区二区| 久久久久久久久久久久久久一区| 成人91免费视频| 国产人妻777人伦精品hd| 青青草国产精品一区二区| 亚洲人精品午夜射精日韩| 精品乱码一区| 国产精品久久一区主播| 久久久久久久999| 国产精品91免费在线| 成人在线精品视频| 国产日韩在线看| 精品一区二区三区自拍图片区| 欧美中日韩一区二区三区| 日韩在线第一区| 亚洲国产精品影视| 亚洲午夜精品久久| 欧美激情精品久久久久久| 国产精品久久色| 久久九九全国免费精品观看| 久久久伊人日本| 久久久免费电影| 久久久免费视频网站| 91精品国产91| 91精品国产综合久久久久久久久| 国产精品亚洲一区二区三区| 国产日韩欧美在线观看| 精品视频在线观看| 免费看又黄又无码的网站| 国内一区二区三区在线视频| 内射国产内射夫妻免费频道| 欧美综合一区第一页| 人妻久久久一区二区三区| 日韩欧美一区二区在线观看| 日韩暖暖在线视频| 三年中国中文在线观看免费播放| 亚洲中文字幕久久精品无码喷水| 精品国产_亚洲人成在线| 久久99国产精品久久久久久久久| 欧美精品情趣视频| 欧美激情网友自拍| 中文字幕在线观看一区二区三区| 欧美激情在线视频二区| 一区二区三区四区视频在线观看| 亚洲在线色站| 日本网站免费在线观看| 欧美性天天影院|