日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫CS 2410 Computer Architecture

時間:2024-03-24  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



CS 2410 Computer Architecture
Spring 2024
Course Project
Distributed: Feb 19th, 2024
Due: 11:59pm April 22
nd, 2024
Introduction:
This is a single-person project.
You are allowed and encouraged to discuss the project with your classmates, but no sharing of
the project source code and report. Please list your discussion peers, if any, in your report
submission.
One benefit of a dynamically scheduled processor is its ability to tolerate changes in latency or
issue capability in out of order speculative processors.
The purpose of this project is to evaluate this effect of different architecture parameters on a CPU
design by simulating a modified (and simplified) version of the PowerPc 604 and 620 architectures.
We will assume a **-bit architecture that executes a subset of the RISC V ISA which consists of
the following 10 instructions: fld, fsd, add, addi, slt, fadd, fsub, fmul, fdiv, bne. See Appendix A
in the textbook for instructions’ syntax and semantics.
Your simulator should take an input file as a command line input. This input file, for example,
prog.dat, will contain a RISC V assembly language program (code segment). Each line in the input
file is a RISC V instruction from the aforementioned 10 instructions. Your simulator should read
this input file, recognize the instructions, recognize the different fields of the instructions, and
simulate their execution on the architecture described below in this handout. Your will have to
implement the functional+timing simulator.
Please read the following a-g carefully before you start constructing your simulator.
The simulated architecture is a speculative, multi-issue, out of order CPU where:
(Assuming your first instruction resides in the memory location (byte address) 0x00000hex. That
is, the address for the first instruction is 0x00000hex. PC+4 points to next instruction).
a. The fetch unit fetches up to NF=4 instructions every cycle (i.e., issue width is 4).
b. A 2-bit dynamic branch predictor (initialized to predict weakly taken(t)) with 16-entry branch
target buffer (BTB) is used. It hashes the address of a branch, L, to an entry in the BTB using bits
7-4 of L.
c. The decode unit decodes (in a separate cycle) the instructions fetched by the fetch unit and stores
the decoded instructions in an instruction queue which can hold up to NI=16 instructions.
d. Up to NW=4 instructions can be issued every clock cycle to reservation stations. The
architecture has the following functional units with the shown latencies and number of reservation
stations.
Unit Latency (cycles) for operation Reservation
stations
Instructions executing
on the unit
INT 1 (integer and logic operations) 4
add, addi,slt
Load/Store 1 for address calculation 2 load buffer +
2 store buffer
fld
fsd
FPadd 3 (pipelined FP add) 3 fadd, fsub
FPmult 4 (pipelined FP multiply) 3 fmul
FPdiv 8 (non-pipelined divide) 2 fdiv
BU 1 (condition and target evaluation) 2 bne
e. A circular reorder buffer (ROB) with NR=16 entries is used with NB=4 Common Data Busses
(CDB) connecting the WB stage and the ROB to the reservation stations and the register file. You
have to design the policy to resolve contention between the ROB and the WB stage on the CDB
busses.
f. You need to perform register renaming to eliminate the false dependences in the decode stage.
Assuming we have a total of ** physical registers (p0, p1, p2, …p31). You will need to implement
a mapping table and a free list of the physical register as we discussed in class. Also, assuming
that all of the physical registers can be used by either integer or floating point instructions.
g. A dedicated/separate ALU is used for the effective address calculation in the branch unit (BU)
and simultaneously, a special hardware is used to evaluate the branch condition. Also, a
dedicated/separate ALU is used for the effective address calculation in the load/store unit. You
will also need to implement forwarding in your simulation design.
The simulator should be parameterized so that one can experiment with different values of NF, NI,
NW, NR and NB (either through command line arguments or reading a configuration file). To
simplify the simulation, we will assume that the instruction cache line contains NF instructions
and that the entire program fits in the instruction cache (i.e., it always takes one cycle to read a
cache line). Also, the data cache (single ported) is very large so that writing or reading a word into
the data cache always takes one cycle (i.e., eliminating the cache effect in memory accesses).
Your simulation should keep statistics about the number of execution cycles, the number of times
computations has stalled because 1) the reservation stations of a given unit are occupied, 2) the
reorder buffers are full. You should also keep track of the utilization of the CDB busses. This may
help identify the bottlenecks of the architecture.
You simulation should be both functional and timing correct. For functional, we check the register
and memory contents. For timing, we check the execution cycles.
Comparative analysis:
After running the benchmarks with the parameters specified above, perform the
following analysis:
1) Study the effect of changing the issue and commit width to 2. That is setting
NW=NB=2 rather than 4.
2) Study the effect of changing the fetch/decode width. That is setting NF = 2 rather than 4.
3) Study the effect of changing the NI to 4 instead of 16.
4) Study the effect of changing the number of reorder buffer entries. That is setting NR =
4, 8, and **
You need to provide the results and analysis in your project report.
Project language:
You can ONLY choose C/C++ (highly recommended) or Python to implement your project. No
other languages.
Test benchmark
Use the following as an initial benchmark (i.e. content of the input file prog.dat).
%All the registers have the initial value of 0.
%memory content in the form of address, value.
0, 111
8, 14
16, 5
24, 10
100, 2
108, 27
116, 3
124, 8
200, 12
addi R1, R0, 24
addi R2, R0, 124
fld F2, 200(R0)
loop: fld F0, 0(R1)
fmul F0, F0, F2
fld F4, 0(R2)
fadd F0, F0, F4
fsd F0, 0(R2)
addi R1, R1, -8
addi R2, R2, -8
bne R1,$0, loop
(Note that this is just a testbench for you to verify your design. Your submission should support
ALL the instructions listed in the table and you should verify and ensure the simulation
correctness for different programs that use those nine instructions. When you submit your code,
we will use more complicated programs (with multiple branches and all instructions in the table)
to test your submission).
Project submission:
You submission will include two parts: i) code package and ii) project report
1. Code package:
a. include all the source code files with code comments.
b. have a README file 1) with the instructions to compile your source code and 2) with
a description of your command line parameters/configurations and instructions of how
to run your simulator.
2. Project report
a. A figure with detailed text to describe the module design of your code. In your report,
you also need to mark and list the key data structures used in your code.
b. The results and analysis of Comparative analysis above
c. Your discussion peers and a brief summary of your discussion if any.
Project grading:
1. We will test the timing and function of your simulator using more complicated programs
consisting of the nine RISC V instructions.
2. We will ask you later to setup a demo to test your code correctness in a **on-1 fashion.
3. We will check your code design and credits are given to code structure, module design, and
code comments.
4. We will check your report for the design details and comparative analysis.
5. Refer to syllabus for Academic Integrity violation penalties.
Note that, any violation to the course integrity and any form of cheating and copying of
codes/report from the public will be reported to the department and integrity office.
Additional Note
For those who need to access departmental linux machines for the project, here is the information
log on into the linux machines
elements.cs.pitt.edu
For example, the command: ssh <username>@ elements.cs.pitt.edu
Note that you need first connect VPN in order to use these machines.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 

掃一掃在手機打開當前頁
  • 上一篇:代寫INFO20003、代做SQL語言編程
  • 下一篇:菲律賓旅行證價格(補辦旅行證需要多少錢)
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 trae 豆包網頁版入口 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

      <em id="rw4ev"></em>

        <tr id="rw4ev"></tr>

        <nav id="rw4ev"></nav>
        <strike id="rw4ev"><pre id="rw4ev"></pre></strike>
        中文国产亚洲喷潮| 亚洲自拍都市欧美小说| 欧美一区二区三区日韩视频| 国产一区在线免费观看| 韩国成人福利片在线播放| 黄色精品一区| 午夜精品免费在线| 欧美日韩在线视频一区二区| 久久久久久久性| 亚洲国产三级| 久久免费视频观看| 欧美精品在线播放| 影音先锋中文字幕一区二区| 国产一区二区精品久久99| 伊人成人开心激情综合网| 午夜精品美女久久久久av福利| 久久久久久噜噜噜久久久精品| 性久久久久久久久久久久| 亚洲精品视频在线| 亚洲欧美日韩精品一区二区| 欧美日韩国产成人| 国产区欧美区日韩区| 久久精品亚洲一区二区| 亚洲国产一区二区视频| 欧美伊久线香蕉线新在线| 国产午夜久久| 欧美三日本三级三级在线播放| 欧美激情视频一区二区三区不卡| 亚洲精品一二三区| 欧美一区二区黄色| 欧美中日韩免费视频| 亚洲一区激情| 国产精品美女xx| 久久久久国产精品午夜一区| 国产九区一区在线| 先锋影音久久久| 一区二区欧美国产| 久热成人在线视频| 欧美伦理在线观看| 久久se精品一区精品二区| 午夜精品久久久久久久白皮肤| 美女久久一区| 国产精品成人久久久久| 久久精品日产第一区二区三区| 国产乱码精品1区2区3区| 狠狠色伊人亚洲综合成人| 国产乱码精品一区二区三区忘忧草| 一本色道久久加勒比精品| 国产精品永久免费在线| 国产区日韩欧美| 欧美日韩一区二区三区视频| 亚洲欧美经典视频| 夜夜躁日日躁狠狠久久88av| 亚洲欧洲久久| 久久久久久久波多野高潮日日| 久久久亚洲成人| 久久一日本道色综合久久| 亚洲激情婷婷| 蜜桃久久av| 欧美成人国产| 在线成人h网| 欧美日本精品一区二区三区| 亚洲精品欧美极品| 国产午夜精品视频| 中文亚洲欧美| 免费h精品视频在线播放| aa亚洲婷婷| 亚洲一级免费视频| 在线视频国内自拍亚洲视频| 久久一综合视频| 亚洲国产乱码最新视频| 巨胸喷奶水www久久久免费动漫| 久久躁日日躁aaaaxxxx| 亚洲一卡二卡三卡四卡五卡| 国产九区一区在线| 国产精品狼人久久影院观看方式| 亚洲视频第一页| 亚洲欧美一区在线| 亚洲天堂网站在线观看视频| 日韩亚洲不卡在线| 欧美日韩精品福利| 久久久久久69| 一区二区欧美在线| 国产精品一区二区久激情瑜伽| 136国产福利精品导航网址应用| 黑人巨大精品欧美一区二区小视频| 久久国产精品99国产| 久久综合九色综合网站| 国产精品久久久亚洲一区| 欧美亚州韩日在线看免费版国语版| 有坂深雪在线一区| 久久久久国产精品厨房| 午夜精品国产精品大乳美女| 亚洲精品乱码久久久久久日本蜜臀| 久久国产直播| 久久婷婷av| 欧美三级午夜理伦三级中文幕| 欧美日韩高清在线| 欧美精品在欧美一区二区少妇| 亚洲精品一二三| 欧美视频中文字幕| 亚洲免费综合| 久久国产主播精品| 欧美成ee人免费视频| 国产视频一区在线观看一区免费| 国产精品一区二区女厕厕| 亚洲精品一区二| 一区二区三区欧美激情| 欧美高清视频一区二区三区在线观看| 国产视频在线一区二区| 在线观看日韩av| 国产一区二区三区久久| 亚洲最快最全在线视频| 国产精品视频大全| 国产精品国产a| 精品不卡一区| 欧美中在线观看| 欧美三级午夜理伦三级中文幕| 久久成人综合网| 开心色5月久久精品| 激情综合网激情| 校园激情久久| 牛牛国产精品| 日韩视频中文| 欧美精品色网| 国产一区美女| 国产性猛交xxxx免费看久久| 久久日韩粉嫩一区二区三区| 欧美第一黄色网| 篠田优中文在线播放第一区| 国产精品福利久久久| 久久一区免费| 亚洲国产小视频| 99成人免费视频| 国产精品男女猛烈高潮激情| 韩国一区二区在线观看| 一区二区黄色| 亚洲免费一级电影| 久久久久久久久久久成人| 国内不卡一区二区三区| 欧美三级视频在线播放| 一区二区三区回区在观看免费视频| 亚洲一级二级在线| 亚洲老板91色精品久久| 中文精品视频| 亚洲小少妇裸体bbw| 欧美日韩免费观看一区二区三区| 国产精品久久久久久久久搜平片| 久久婷婷国产麻豆91天堂| 欧美日韩国产免费观看| 夜夜嗨av一区二区三区四区| 亚洲欧美精品在线| 国产亚洲成av人片在线观看桃| 欧美三级黄美女| 中文欧美在线视频| 好看的日韩视频| 久久激情五月婷婷| 久久婷婷国产综合尤物精品| 欧美亚洲免费电影| 久久狠狠一本精品综合网| 国产综合色一区二区三区| 国产精品yjizz| 欧美成人免费全部观看天天性色| 国产综合色产在线精品|