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

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

CS 6290: High-Performance Computer Architecture

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


CS 62**: High-Performance Computer Architecture

Project 1

 

This project is intended to help you understand branch prediction and performance of out-of-order processors. You will again need the “CS62** Project VM” virtual machine, the same one we used for Project 0. Just like for Project 0, you will put your answers in the red-ish boxes in this Word document, and then submit it in Canvas (the submitted file name should now be PRJ1.docx).

In each answer box, you must first provide your answer to the actual question (e.g. a number). You can then use square brackets to provide any explanations that the question is not asking for but that you feel might help us grade your answer. E.g. answer 9.7102 may be entered as 9.7102 [Because 9.71+0.0002 is 9.7102]. For questions that are asking “why” and/or “explain”, the correct answer is one that concisely states the cause for what the question is describing, and also states what evidence you have for that. Guesswork, even when entirely correct, will only yield up to 50% of the points on such questions.

Additional files to upload are specified in each part of this document. Do not archive (zip, rar, or anything else) the files when you submit them – each file should be uploaded separately, with the file name specified in this assignment. You will lose up to 20 points for not following the file submission and CS 62**: High-Performance Computer Architecturenaming guidelines, and if any files are missing you will lose all the points for answers that are in any way related to a missing file (yes, this means an automatic zero score if the PRJ1.docx file is missing). Furthermore, if it is not VERY clear which submitted file matches which requested file, 代 寫CS 62**: High-Performance Computer Architecturewe will treat the submission as missing that file. The same is true if you submit multiple files that appear to match the same requested file (e.g. several files with the same name). In short, if there is any ambiguity about which submitted file(s) should be used for grading, the grading will be done as if those ambiguous files were not submitted at all.

Most numerical answers should have at least two decimals of precision. Speedups should be computed to at least 4 decimals of precision, using the number of cycles, not the IPC (the IPC reported by report.pl is rounded to only two decimals). You lose points if you round to fewer decimals than required, or if you truncate digits instead of correctly rounding (e.g. a speedup of 3.141592 rounded to four decimals is 3.1416, not 3.1415).

As explained in the course rules, this is an individual project: no collaboration with other students or anyone else is allowed.

Part 1 [20 points]: Configuration of the Branch[ Note that in this project “branch” is used to refer to all instructions that affect control flow, which includes branch instructions, but also jumps, function calls, etc. Also, “branch prediction” refers to the overall prediction of the address of the next instruction, not just the prediction of direction (taken or not taken).] Predictor

The hardware of the simulated machine is described in the configuration file. In this project we will be using the cmp4-noc.conf configuration file again, but this time we will modify this file so this is a good time to make a copy so we can restore the original configuration when we need it.

The processors (cores) are specified in the “cpucore” parameter near the beginning of the file. In this case, the file specifies that the machine has 4 identical cores numbered 0 through 3 (the procsPerNode parameter is 4), and that each core is described in section [issueX]. Going to section [issueX], we see that a core has a lot of parameters, among which we see that the clock frequency is set at 1GHz, that this is an out-of-order core (inorder set to false) which fetches, issues, and retires up to 2 instructions per cycle (the “issue” parameter is set to two earlier in the file). The core has a branch predictor described in the [BPredIssueX] section, fetches instructions from a structure called “IL1” described in the [IMemory] section (this is specified by the instrSource parameter, and reads/writes data from a structure called “DL1” described in the [DMemory] section. In this part of this project, we will be modifying the branch predictor, so let’s take a closer look at the [BPRedIssueX] section. It says that the type of the predictor is “Hybrid” (which does not tell us much), and then specifies the parameters for this predictor.

The “Hybrid” predictor is actually a tournament predictor. You now need to look at its source code (which is in BPred.h and BPRed.cpp files in the ~/sesc/src/libcore/ directory) and determine which of the parameters in the configuration file controls which aspect of the predictor. Hint: the “Hybrid” predictor is implemented in the BPHybrid class, so its constructor and predict method will tell you most of what you need to find out.

A)The meta-predictor in this hybrid predictor is a table that has                  entries and each entry is a                 –bit counter. This meta-predictor decides, based on the PC address (i.e. the address from which we fetched the branch/jump instruction), whether to make the prediction using a simple (no history) array of counters, or to use a (is it local or global?)                    history predictor. The simpler (non-history) predictor uses                  -bit counters, and has                   of them (this number is specified using a parameter label                 in the BPredIssueX section of the configuration file). The history-based predictor has                    bits of history, which are combined with the PC address to index into an array that has

                entries (this number of entries is specified in the configuration file using parameter label                ), and each entry is a                -bit counter.

Part 2 [30 points]: Changing the Branch Predictor

Now we will compare some branch predictors. The LU benchmark we used in Project 0 does not really stress the branch predictor, so we will use the raytrace benchmark: 

cd ~/sesc/apps/Splash2/raytrace

make

Now it is time to do some simulations:

A)Simulate the execution of this benchmark using the unmodified

cmp4-noc configuration (with the “Hybrid” predictor). The following should all be a single command line, which has a space before -ort.out. As before, the dashes in this command line should be the minus character but a copy-paste might result in something else that looks similar but is not a minus character, so be careful is you are copy-pasting.

~/sesc/sesc.opt -f HyA -c ~/sesc/confs/cmp4-noc.conf -ort.out -ert.err raytrace.mipseb -m128 Input/reduced.env

Then we will modify the configuration file, so make a copy of it if you did not do this already. Then change the configuration to model an oracle (perfect) direction predictor by changing the “type” of the predictor from “Hybrid” to “Oracle”, then and re-run the simulation (change the -f parameter to -f OrA so the simulation results are written to a different file). Note that overall branch prediction accuracy is not perfect in this case – only the direction predictor is perfect, but the target address predictor is a (non-oracle) BTB! After that, configure the processor to use a simple predict-not-taken predictor (type=”NotTaken”) and run the simulation again (now using -f NTA). Submit the three simulation report files (sesc_raytrace.mipseb.HyA, sesc_raytrace.mipseb.OrA, and sesc_raytrace.mipseb.NTA) in Canvas along with the other files for this project.

B)In the table below, for each simulation fill in the overall accuracy (number under BPred in the output of report.pl), the number of cycles, and the speedup relative to the configuration that uses the Hybrid predictor.

BPred Accuracy Cycles Speedup vs. Hybrid

NotTaken                             %                             C                             X

Hybrid                             %                             C                             X

Oracle                             %                             C                             X

C)Now change the processor’s renameDelay parameter (in the issuesX section of the configuration file) from 1 to 7. This makes the processor’s pipeline 6 stages longer. Repeat the three simulations, submit the simulation report files (sesc_raytrace.mipseb.HyC, sesc_raytrace.mipseb.OrC, and sesc_raytrace.mipseb.NTC) in Canvas along with the other files for this project.

 

 

D)In the table below, fill in the number of cycles with each type of predictor from Part A (simulations with the default pipeline depth) and from Part C (when the pipeline is 6 stages deeper), then compute the speedup of shortening the pipeline for each type of predictor, assuming that the clock cycle time stays the same (so the speedup can be computed using the number of cycles instead of execution time).

 

Cycles w/ renameDelay=1 Cycles w/ renameDelay=7 Speedup of changing renameDelay

from 7 to 1

NotTaken                             C                             C                             X

Hybrid                             C                             C                             X

Oracle                             C                             C                             X

E)The results in Part D) lead us to conclude that better branch prediction becomes (fill in either “more” or “less”)                  important when the processor’s pipeline depth increases. Now explain why the importance of branch prediction changes that way with pipeline depth:

 

 

 

 

 

 

F)From simulation results you have collected up to this point, there are at least two good ways to estimate how many cycles are wasted when we have a branch misprediction in the processor that has the default pipeline depth, i.e. what the branch misprediction penalty (in cycles) was for simulations in Part A). Enter your best estimate here                 and then explain how you got it:

 

 

 

 

 

 

 

 

 

 

Part 3 [50 points]: Which branches tend to be mispredicted?

In this part of the project we again use the cmp4-noc configuration. You should change it back to its original content, i.e. what it had before we modified it for Part 2. We will continue to use the Raytrace benchmark with the same parameters as in Part 2.

Our goal in this part of the project is to determine for each instruction in the program how many times the direction predictor (Hybrid or NotTaken) correctly predicts and how many times it mispredicts that branch/jump. The number of times the static branch/jump instruction was completed can be computed as the sum of two (correct and incorrect predictions) values for that static branch/jump instruction. You should change the simulator’s code to count correct and incorrect predictions for each static branch/jump instruction separately, and to (at the end of the simulation) print out the numbers you need to answer the following questions. The printing out should be in the order in which the numbers are requested below, and your code should not be changing the simulation report in any way. Then you should, of course, run the simulation and get the simulation results with the Hybrid and also with the NT predictor.

G)In both simulations, the number of static branch/jump instructions that are completed at least once but fewer than 20 times (i.e. between 1 and 19 completions) is                , the number of static branch/jump instructions with 20 to 199 completions is                 , the number of static branch/jump instructions with 200 and 1999 completions is                 , and the number of static branch/jump instructions with 2000+ completions is                 .

H)The accuracy for the direction predictor, computed separately for the four groups of static branch/jump instructions (**19, 20-199, 200-1999, and 2000+ completions), is a follows:

Hybrid Accuracy NT Accuracy


I)We cannot run the raytrace benchmark with a much larger input because the simulation time would become excessive. But if we did, concisely state what would happen to the overall direction predictor accuracy of the Hybrid predictor and of the NT predictor, and then explain why the predictor accuracy should change in the way you stated.

 

J)Submit the BPred.h and BPred.cpp files that you have modified to produce the numbers you needed for Part 3 of this project. If you have modified any other source code in the simulator, create an OtherCode.zip file that includes these files and submit it, too. Also submit the output of the simulator for the two runs (as rt.out.Hybrid and rt.out.NT) Note that there is no need to submit the simulation report files (these should be the same as those from Part A).

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp

















 

掃一掃在手機打開當(dāng)前頁
  • 上一篇:菲律賓人來華旅游簽證延簽 延期申請流程
  • 下一篇:COMP2006代做、代寫GUI Framework
  • 無相關(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怎么修改定
  • 短信驗證碼 寵物飼養(yǎng) 十大衛(wèi)浴品牌排行 suno 豆包網(wǎng)頁版入口 wps 目錄網(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在线免费观看
    国产三区在线视频| av免费观看国产| 国产综合动作在线观看| 国产高清自拍一区| 综合久久国产| 黄色免费福利视频| 久久久久久久久久久视频| 在线天堂一区av电影| 蜜桃av久久久亚洲精品| 国产精品女人网站| 欧美一级淫片播放口| 成人精品视频在线| 精品中文字幕在线观看| 美国av一区二区三区| 国产精品秘入口18禁麻豆免会员| 日韩国产精品一区二区| 国产国语刺激对白av不卡| 丁香六月激情婷婷| 91久久久久久久久| 亚洲在线www| 成人动漫在线视频| 一区二区精品免费视频| 国产精品自拍首页| 一区二区三区欧美在线| 国产精品一区二区三区毛片淫片| 国产精品久久久久久久久久新婚 | 色999日韩欧美国产| 日韩亚洲一区在线播放| 久久青青草综合| 日本一区免费| 久久99精品国产99久久| 日本久久久精品视频| 久久99久久99精品蜜柚传媒| 午夜精品久久久久久久无码| 久久综合毛片| 日韩区国产区| 国产精品视频专区| 欧美丰满熟妇xxxxx| 久久久精品一区二区三区| 欧美影院在线播放| 国产精品视频网| 国产在线精品91| 在线视频一区观看| 国产精品com| 日韩欧美手机在线| 久久久精品2019中文字幕神马| 欧美综合激情网| 久久天堂av综合合色| 欧美日本韩国一区二区三区| 国产精品久久久久久久久电影网| 国产欧美精品xxxx另类| 亚洲综合中文字幕在线| 国产高清视频一区三区| 欧美少妇在线观看| 久久综合伊人77777| 国产精品羞羞答答| 色哺乳xxxxhd奶水米仓惠香| 精品国产拍在线观看| 国产欧美一区二区三区在线看| 亚洲专区在线视频| 国产厕所精品在线观看| 精品无人区一区二区三区| 欧美极品欧美精品欧美视频| 97伦理在线四区| 欧美日韩天天操| 欧美激情亚洲综合一区| 国产高清在线不卡| 国产专区一区二区三区| 亚洲资源在线看| 久久精品国产久精国产一老狼 | 国产精品男人的天堂| www.av一区视频| 欧美在线一区二区三区四| 精品丰满人妻无套内射| 久久人人爽人人爽人人片av高清| 欧美在线亚洲一区| 最新不卡av| 国产成人女人毛片视频在线| 成人久久一区二区三区| 欧美少妇在线观看| 亚洲日本一区二区三区在线不卡| 久久久精品视频在线观看| 成人国产精品日本在线| 欧美综合激情| 亚洲国产精品www| 国产精品果冻传媒潘| 国产激情999| 国产精自产拍久久久久久| 日本高清视频一区| 欧美精品videofree1080p| 国产第一页视频| 国产精品亚洲二区在线观看| 欧美日韩一区二区三区在线视频| 亚洲欧洲三级| 久久99精品久久久久久青青91| 久久本道综合色狠狠五月| 国产精品主播视频| 国内精品**久久毛片app| 日韩精品国内| 亚洲.欧美.日本.国产综合在线 | 久久琪琪电影院| 高清欧美精品xxxxx| 激情六月天婷婷| 日本精品久久久久影院| 亚洲视频在线二区| 美女av一区二区| 国产精品国产福利国产秒拍| www.日韩免费| 91精品国产综合久久香蕉922 | 国产成人久久777777| www亚洲国产| 国模精品娜娜一二三区| 欧美精品欧美精品系列c| 日韩精品一区二区三区四| 视频一区二区精品| 亚洲国产精品一区在线观看不卡| 欧美精品亚州精品| 精品国产aⅴ麻豆| 国产精品第一第二| 国产精品大陆在线观看| 国产精品久久久久久久小唯西川| 久久精品99久久久香蕉| 日韩在线视频国产| www.国产一区| 久久精品国产视频| 色噜噜狠狠狠综合曰曰曰88av | 国产高清自拍99| 国产va免费精品高清在线观看| 国产精华一区| 国产成人一区二区三区别| 久久精品香蕉视频| 国产激情综合五月久久| 国产黄页在线观看| 国产成人精品免费视频大全最热| 久久亚洲一区二区| 久久黄色免费看| 日韩在线欧美在线| 久久精品成人欧美大片| 国产精品丝袜高跟| 国产精品吹潮在线观看| 久久久久久国产精品| 午夜在线视频免费观看| 人妻无码一区二区三区四区| 精品人伦一区二区三区| 国产一区二区三区四区五区在线| 国产欧美一区二区| 97国产精品免费视频| 97久久精品在线| 久久久久久久久久久久久久久久av | 国产不卡av在线免费观看| 国产成人综合精品在线| 日韩在线资源网| 久久伊人精品一区二区三区| 国产99久久精品一区二区永久免费| 亚洲中文字幕无码不卡电影 | 国产九色91| 国产精品10p综合二区| 日日骚久久av| 美女福利视频一区| 亚洲日本无吗高清不卡| 日韩精品另类天天更新| 国模精品娜娜一二三区| www国产亚洲精品| 久久99精品久久久久久三级| 久久久国产一区二区三区| 欧美激情网站在线观看| 色狠狠久久av五月综合| 欧美 日韩 国产精品| 国产美女99p| 久久久久人妻精品一区三寸| 国产精品视频500部| 亚洲自拍小视频| 欧洲成人免费视频| 国产精品亚洲不卡a| www.午夜精品| 亚洲最大福利视频| 欧美极品欧美精品欧美图片| 国产久一一精品| 久久久久女教师免费一区| 国产a∨精品一区二区三区不卡| 欧美一区2区三区4区公司二百| 国产一区二区三区四区五区在线| 久久男人资源视频| 国产精品国三级国产av| 日本一区高清在线视频| 狠狠色综合欧美激情| 国产精品91久久久| 欧美精品一区在线播放| 日本不卡一区二区三区四区| 国产在线xxxx| www.精品av.com| 亚洲乱码一区二区三区| 欧美一级二级三级九九九| 91久久精品www人人做人人爽| 国产精品女视频| 日韩视频在线观看视频| av免费观看国产| 精品久久久久久综合日本| 欧美亚洲视频一区| 久久久免费电影|