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

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

CS 2410代做、代寫C/C++語言程序

時間:2024-03-02  來源:合肥網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 machinesNote that you need first connect VPN in order to use these machines.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 

掃一掃在手機打開當前頁
  • 上一篇:COMP9021代做、Python程序語言代寫
  • 下一篇:代寫CSE 231、代做Python設計程序
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    急尋熱仿真分析?代做熱仿真服務+熱設計優化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發動機性能
    挖掘機濾芯提升發動機性能
    海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
    海信羅馬假日洗衣機亮相AWE 復古美學與現代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
    合肥機場巴士2號線
    合肥機場巴士2號線
    合肥機場巴士1號線
    合肥機場巴士1號線
  • 短信驗證碼 豆包 幣安下載 AI生圖 目錄網

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

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

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

          国产一区二区成人| 一区二区三区日韩精品| 国产精品日韩在线一区| 欧美二区在线看| 久久精品国产亚洲高清剧情介绍| 在线视频欧美一区| 亚洲国产专区| 国产午夜精品久久| 欧美精品二区| 亚洲一区二区三区乱码aⅴ蜜桃女| 在线看无码的免费网站| 国产精品免费区二区三区观看| 久久伊人精品天天| 性欧美videos另类喷潮| 99re66热这里只有精品3直播| 国产一区观看| 国产精品永久入口久久久| 欧美成人午夜激情视频| 久久国产手机看片| 亚洲小少妇裸体bbw| 亚洲精品乱码久久久久久黑人 | 欧美精品久久久久久久| 久久国产婷婷国产香蕉| 亚洲午夜女主播在线直播| 亚洲国产高潮在线观看| 韩国福利一区| 国产精品入口| 国产精品黄色| 欧美日韩在线精品| 欧美激情一区二区三区四区| 久久青青草综合| 欧美制服第一页| 亚洲免费伊人电影在线观看av| 一本大道久久精品懂色aⅴ| 亚洲福利视频一区| 影音先锋另类| 国语自产偷拍精品视频偷| 国产乱码精品一区二区三| 国产精品av久久久久久麻豆网| 欧美日韩免费一区二区三区视频 | 国产自产2019最新不卡| 国产精品亚洲综合久久| 国产精品久久久999| 欧美日韩一区成人| 国产精品对白刺激久久久| 欧美日韩一区视频| 欧美午夜欧美| 国产精品国产精品| 国产精品理论片| 国产精品国产自产拍高清av| 欧美色大人视频| 欧美性猛交xxxx免费看久久久| 欧美视频久久| 国产精品久久久久久亚洲毛片| 欧美性猛交xxxx免费看久久久| 国产精品大片| 国产精品亚洲综合久久| 国产在线一区二区三区四区 | 免费欧美视频| 欧美r片在线| 欧美日韩视频在线第一区| 欧美日韩亚洲不卡| 国产精品久久91| 国产目拍亚洲精品99久久精品 | 国产一区二区三区免费在线观看| 国产精品视频午夜| 国产一区 二区 三区一级| 国产日韩综合| 影音先锋另类| 91久久精品视频| 在线中文字幕不卡| 欧美一区二区播放| 免费久久99精品国产| 欧美人成在线| 国产亚洲欧美日韩精品| 亚洲高清av在线| 一区二区三区视频在线播放| 欧美一区二区福利在线| 老巨人导航500精品| 欧美日韩国产首页在线观看| 国产精品视频福利| 在线日韩电影| 亚洲少妇中出一区| 久久久久久网站| 欧美日韩岛国| 国产主播一区二区三区| 亚洲人成网站777色婷婷| 亚洲一区在线免费观看| 久久一区二区视频| 国产精品久久久久久久电影| 红桃视频国产精品| 亚洲无亚洲人成网站77777| 久久久国产午夜精品| 欧美日韩国产欧| 精品99视频| 亚洲男人的天堂在线aⅴ视频| 老**午夜毛片一区二区三区| 国产精品扒开腿做爽爽爽软件| 好吊色欧美一区二区三区视频| 99视频一区二区| 久久亚洲欧美| 国产精品青草久久| 亚洲伦伦在线| 久久久av水蜜桃| 国产精品theporn88| 亚洲第一在线视频| 午夜欧美不卡精品aaaaa| 猫咪成人在线观看| 国产精品老牛| 亚洲欧洲日产国产网站| 欧美一级免费视频| 欧美激情精品久久久久久免费印度| 国产精品呻吟| 亚洲精品免费一二三区| 欧美中文在线观看国产| 久色成人在线| 欧美午夜激情视频| 在线成人免费视频| 久久精品噜噜噜成人av农村| 国产精品久久久久久久久久久久| 亚洲日产国产精品| 久久综合久久综合九色| 国精产品99永久一区一区| 亚洲欧美激情四射在线日| 欧美日韩一区二区在线| 亚洲黄页一区| 免费观看欧美在线视频的网站| 国产一区二区主播在线| 午夜在线精品偷拍| 国产精品欧美激情| 亚洲少妇诱惑| 欧美亚韩一区| 亚洲视屏一区| 国产精品高潮呻吟久久av黑人| 一区二区三区精密机械公司| 欧美精品1区2区3区| 亚洲精品国产精品国产自| 欧美sm视频| 亚洲激情网站| 欧美精品99| 亚洲黄网站在线观看| 欧美日本韩国| 亚洲激情视频在线播放| 久久久久久久久久久久久9999| 国产在线国偷精品产拍免费yy| 久久精品亚洲乱码伦伦中文 | 亚洲成色777777女色窝| 久久精品国产精品亚洲| 国产一区二区在线观看免费| 亚洲特级毛片| 欧美人交a欧美精品| 亚洲精品少妇网址| 欧美精品v日韩精品v韩国精品v| 韩日欧美一区二区三区| 久久人人看视频| 99国产精品国产精品毛片| 欧美电影在线| 亚洲经典在线看| 欧美另类99xxxxx| 亚洲一区二区三区午夜| 国产欧美视频一区二区| 久久久久久久综合色一本| 亚洲国产日韩在线一区模特| 欧美精品福利在线| 亚洲在线视频免费观看| 国产一区99| 欧美高清成人| 亚洲一区二区三区视频| 国产欧美综合一区二区三区| 久久精品亚洲精品国产欧美kt∨| 1000部国产精品成人观看| 欧美精品一区二区三区蜜臀| 亚洲无限乱码一二三四麻| 国产视频在线一区二区| 你懂的视频一区二区| 亚洲色图综合久久| 国产日韩精品一区观看| 蜜臀a∨国产成人精品| 一区二区三区精品国产| 好看的日韩视频| 欧美日韩喷水| 久久精品女人| 亚洲国产高清aⅴ视频| 欧美日韩一区二区在线观看视频| 亚洲在线电影| 国产乱人伦精品一区二区| 久久久久久97三级| 亚洲午夜性刺激影院| 亚洲国产精品成人| 国产精品午夜国产小视频| 欧美成人高清视频| 欧美一区二区| 亚洲精品少妇| 国产亚洲精品一区二区| 欧美三级视频在线观看| 久久综合给合久久狠狠狠97色69| 亚洲素人一区二区| 亚洲欧洲在线观看| 国产一区二区三区视频在线观看| 欧美日韩亚洲成人|