99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

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

CS 6290: High-Performance Computer Architecture

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


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).

請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp

















 

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:菲律賓人來華旅游簽證延簽 延期申請(qǐng)流程
  • 下一篇:COMP2006代做、代寫GUI Framework
  • 無相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評(píng)軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務(wù)-企業(yè)/產(chǎn)品研發(fā)/客戶要求/設(shè)計(jì)優(yōu)化
    有限元分析 CAE仿真分析服務(wù)-企業(yè)/產(chǎn)品研發(fā)
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
    出評(píng) 開團(tuán)工具
    出評(píng) 開團(tuán)工具
    挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
    挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
    海信羅馬假日洗衣機(jī)亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
    海信羅馬假日洗衣機(jī)亮相AWE 復(fù)古美學(xué)與現(xiàn)代
    合肥機(jī)場(chǎng)巴士4號(hào)線
    合肥機(jī)場(chǎng)巴士4號(hào)線
    合肥機(jī)場(chǎng)巴士3號(hào)線
    合肥機(jī)場(chǎng)巴士3號(hào)線
  • 短信驗(yàn)證碼 目錄網(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號(hào)-3 公安備 42010502001045

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          9000px;">

                欧美日韩国产大片| 国产蜜臀97一区二区三区| 欧美一区二区三区在线观看| 国产精品免费aⅴ片在线观看| 麻豆中文一区二区| 中文字幕高清不卡| 欧美亚洲一区三区| 久久精品国产亚洲aⅴ| 亚洲国产精品精华液ab| 91在线你懂得| 天天做天天摸天天爽国产一区| 91精品国产美女浴室洗澡无遮挡| 极品美女销魂一区二区三区免费| 久久久亚洲高清| 色域天天综合网| 亚洲国产精品一区二区久久恐怖片| 一区二区三区.www| 欧美吞精做爰啪啪高潮| 天天av天天翘天天综合网| 欧美一区二区三区视频免费| 国产一区二区精品久久| 亚洲视频资源在线| 精品久久久久久无| 在线亚洲欧美专区二区| 国产一区二区美女| 天涯成人国产亚洲精品一区av| 国产欧美精品在线观看| 91精品国产综合久久久久| 福利电影一区二区| 日韩av二区在线播放| 一区二区三区在线免费| 国产日产亚洲精品系列| 欧美久久久久久久久久| 成人av网址在线| 久久91精品国产91久久小草| 尤物视频一区二区| 国产精品入口麻豆原神| 欧美成人福利视频| 欧美日韩亚洲综合在线| 91玉足脚交白嫩脚丫在线播放| 国产一区二区三区四区五区美女 | 99久久综合狠狠综合久久| 亚洲综合色网站| 欧美国产激情二区三区| 精品电影一区二区三区| 日韩精品最新网址| 91精品国产综合久久精品app| 成人免费高清在线| 成人网页在线观看| 菠萝蜜视频在线观看一区| 精品一区二区三区久久| 蜜桃av一区二区| 日韩av一级片| 日韩高清欧美激情| 琪琪久久久久日韩精品| 午夜视频在线观看一区二区三区| 亚洲女女做受ⅹxx高潮| 中文字幕中文字幕中文字幕亚洲无线| 成人美女视频在线看| 国内精品视频666| 麻豆传媒一区二区三区| 三级在线观看一区二区| 亚洲国产综合在线| 性感美女久久精品| 日韩国产成人精品| 蜜臀av一区二区在线观看| 九九视频精品免费| 成人av网址在线| 欧美午夜精品一区二区三区| 欧美日韩精品免费观看视频| 日韩一区二区三区电影在线观看 | 久久精品国产精品亚洲综合| 秋霞电影网一区二区| 久久国内精品视频| 粉嫩久久99精品久久久久久夜| 99精品黄色片免费大全| 欧美午夜寂寞影院| 日韩美女视频在线| 国产欧美精品一区| 一区二区三区在线播| 天天影视网天天综合色在线播放 | 99精品一区二区三区| 色吧成人激情小说| 日韩一区二区视频| 国产欧美日韩精品一区| 一本到三区不卡视频| 精品一区二区影视| 成人禁用看黄a在线| 在线免费观看不卡av| 欧美va亚洲va国产综合| 亚洲黄色免费网站| 日韩高清国产一区在线| av不卡在线播放| 日韩欧美一区二区在线视频| 中文字幕在线免费不卡| 韩国成人精品a∨在线观看| 欧美性感一区二区三区| 久久久久国产精品免费免费搜索| 一区二区三区四区在线| 国产精品1024| 精品奇米国产一区二区三区| 亚洲综合网站在线观看| 成人视屏免费看| 欧美精品一区二区蜜臀亚洲| 夜色激情一区二区| 不卡的电视剧免费网站有什么| 亚洲国产成人av好男人在线观看| 久久99精品久久只有精品| 91在线视频免费观看| 久久免费视频色| 裸体一区二区三区| 欧美体内she精视频| 亚洲欧美一区二区三区孕妇| 国产剧情一区二区| 欧美高清一级片在线| 亚洲精品亚洲人成人网| 成人精品小蝌蚪| 国产欧美一二三区| 激情文学综合插| 欧美成人vr18sexvr| 久久机这里只有精品| 日韩精品一区二区三区三区免费| 一区二区免费看| 色吊一区二区三区| 亚洲国产欧美在线| 欧美日韩国产首页在线观看| 亚洲一级二级三级在线免费观看| 成人av在线资源网站| 成人一级黄色片| 国产精品私人自拍| av不卡在线播放| 亚洲另类色综合网站| 91小视频在线观看| 亚洲精品国产高清久久伦理二区| av电影在线观看一区| 一二三区精品视频| 日本韩国精品一区二区在线观看| 亚洲精品国久久99热| 色婷婷综合在线| 亚洲123区在线观看| 日韩精品一区二区三区在线观看 | 色婷婷综合久久久中文字幕| 国产精品久久久久影视| 97久久精品人人爽人人爽蜜臀| 亚洲日本在线看| 欧美日韩免费不卡视频一区二区三区| 一区二区三区视频在线看| 美女视频黄 久久| 国产麻豆91精品| 精品成人佐山爱一区二区| 国产精品主播直播| 中文字幕一区二区三区蜜月 | 亚洲国产裸拍裸体视频在线观看乱了| 欧美日韩国产综合久久| 久久精品国产一区二区| 国产女人18毛片水真多成人如厕| 99riav一区二区三区| 亚洲午夜久久久久久久久电影网 | 欧美日韩国产综合久久| 国内精品嫩模私拍在线| 91成人在线免费观看| 一区二区在线观看免费| 日韩一区二区免费视频| 国产suv一区二区三区88区| 亚洲一区中文在线| 欧美大片在线观看| 99精品视频在线观看免费| 青青草精品视频| 日韩一区中文字幕| 精品国产一区二区三区忘忧草| 不卡的av电影| 九色|91porny| 午夜欧美视频在线观看| 国产丝袜在线精品| 欧美一区二区三区不卡| 色婷婷国产精品| 成人午夜大片免费观看| 久久99深爱久久99精品| 亚洲线精品一区二区三区八戒| 国产拍揄自揄精品视频麻豆| 欧美大尺度电影在线| 欧美性色aⅴ视频一区日韩精品| 国产iv一区二区三区| 蜜桃视频在线观看一区| 亚洲黄色录像片| 亚洲视频一二三| 国产精品第四页| 国产精品久久久久影院| 久久久久久久精| 精品免费一区二区三区| 欧美综合一区二区| 91丨porny丨国产入口| 成人少妇影院yyyy| 国产suv精品一区二区883| 极品少妇xxxx精品少妇偷拍| 久久精品国产亚洲一区二区三区| 久久久久久久性| 国产91在线|亚洲| 狠狠色综合播放一区二区| 亚洲成精国产精品女|