Write a pseudocode that would free a physical register

Assignment Help Computer Engineering
Reference no: EM131426875

Homework - Clustered Pipeline Architecture?

One of the benefits of clustered pipeline architecture is that we have smaller register files in each cluster. Smaller register files translates into faster access to registers. Additionally, splitting the physical register file into multiple smaller pieces allows for more registers to be accessed in parallel for minimal additional power and area overhead. For architectures with high degree of parallelism (8 way superscalar as an example), many registers will be accessed at the same time, thus it is important to reduce RF (Register File) access time. One unwanted side effect is the extra communication overhead between clusters due to possible intercluster dependencies.

994_Figure.png

For more information about this architecture and its benefits and drawbacks you can read: https://www.hpl.hp.com/techreports/98/HPL-98-204.pdf

Review (Dispatch Bound VS Issue Bound):?

Dispatch Bound?: In dispatch bound, the issue queue contains reservation stations (Memory elements that will hold the value of dependents once ready). For example, when an instruction is decoded, its dependents are read from the register file when ready, and when the instruction moves to the functional unit, the values are also sent with the instruction.

If the dependants are not ready, these dependants will be forwarded to the issue queue and stored in the reservation entities once the producing instruction completes.

Question 1 -

MOVC R1 #5

MOVC R2 #10

MOVC R3 #15

MOVC R4 #91

MOVC R5 #20

ADD R1 R1 #100

ADD R6 R1 R2

MULT R7 R6 R2

LOAD R8 R5 #500

DIV R9 R8 R4

STORE R7 #100 #200

STORE R9 #200 #300

Assumption?: You have an instruction "CLUSTER #NO" that directs all subsequent instructions to the cluster determined by the instruction operand. For example, the following instruction sequence will send the ADD to cluster 1 and MULT to cluster 2.

Cluster #1

ADD R1 R1 R1

Cluster #2

MULT R2 R2 R3

Please re-order the provided instruction sequence utilizing the cluster command to minimize intercluster communication.

Question 2 -

Please justify your answer to question 1.\

Question 3 -

For the purpose of this question, you are allowed to add new data structures or modify existing structures inside the decode stage. Also assume that each cluster has limited capacity in terms of the number of instructions it can hold at a time. Propose any necessary changes so that dependent instructions, as much as possible, are executed in the same cluster. Briefly describe logic changes to the decode stage.

Note: ?Assume FRAT belongs to the decode stage.

Question 4 -

While it is true that executing all dependent instructions on one cluster will reduce intercluster dependency, this may limit parallelism and utilization of all clusters. Please suggest a smarter mechanism that would achieve an acceptable tradeoff reducing intercluster dependencies and maintaining good level of parallelism.

Question 5 -

Describe one scenario where dispatch-bound would more efficient than dispatch-bound.

Question 6 -

This question is similar to variation 2 for the architecture described in slide Lecture Slides 3, slide number 104. However, in this new proposed variation, each Rob entry holds the a copy of the instruction result. Given the following:

1. N_R: Number of physical registers

2. N_S: Number of reservation entities

3. W_Matrix -- Its entries are ready for you to use by the decode stage

4. RAT -- RAT entries will always point to physical register. It will never point to architectural register.

5. Each RoB Entry contains (Destination Physical Register Number, Destination

Architectural Register Number, A memory to hold the result of the instruction once ready). Assume Variables : Ph_NO, AR_NO, INST_VALUE respectively.

6. Free_List: A list of free physical registers

7. There is no Renamed[] vector.

At the decode stage, upon allocating a new register and performing renaming, there is a chance of freeing a physical register. Assuming the destination register number is R_Dest, write a pseudocode that would free a physical register when necessary.

Question 7 -

During instruction execution, there are other places where a physical might be freed. Briefly describe where else we need to put freeing logic and explain why.

Reference no: EM131426875

Questions Cloud

How the firm''s existing debt holders can benefit from this : With debtor in possession (DIP) financing, bankrupt firms are able to obtain additional amounts of debt that is senior to the firm's existing debt. Explain how the firm's existing debt holders can benefit from this.
How financial management concept applicable to organizations : Discuss how financial management and budgeting concepts are applicable to public administrative organizations and the programs that are offered. Choose one organization to serve as an example for this essay.
Calculate the rate of heat transfer per unit surface area : Calculate the rate of heat transfer per unit surface area by radiation between two brick walls a short distance a part when the temperature of the surface are 30 degree Celsius and 15 degree Celsius.
Using arima over the other forecasting methods : What types of business forecasting scenarios do you think ARIMA would work particularly well? Are there any advantages of using ARIMA over the other forecasting methods? Explain
Write a pseudocode that would free a physical register : CS 520 Homework - Clustered Pipeline Architecture?. At the decode stage, upon allocating a new register and performing renaming, there is a chance of freeing a physical register. Assuming the destination register number is R_Dest, write a pseudocod..
Outsource new toxic-free miracle carpet cleaner : ABC Company must decide whether to insource or outsource a new toxic-free miracle carpet cleaner that works with its new equipment. If it decides to insource the product, the process would incur $600,000 of annual fixed costs and $3.0 per unit of var..
Injuries resulting from slipping on the peanuts : Label each Part of analysis, as Part I A., Part I B., Part II A, Part II B. Analyses should be comprehensive, fully supported/justified/explained, specific, and detailed in rationale (this is a most important requirement of this project.) Analyses sh..
Changes in long-term care reimbursement : Which of the following changes in long-term care reimbursement will NOT have an impact on providers and consumers alike?
Code of conduct or code of ethics : Most of you (whether you already know this or not) agree to comply to a "code of conduct" or "code of ethics" within your organization. As legislation, technology, fads, cultures, and organizational directions change, codes of ethics or conduct must ..

Reviews

len1426875

3/14/2017 5:46:12 AM

Assignment Work with following details. Subject: Computer Architecture and Organization. All requirements are sated in the question file. During instruction execution, there are other places where a physical might be freed. Briefly describe where else we need to put freeing logic and explain why.

Write a Review

Computer Engineering Questions & Answers

  Suppose a1 b2 c3 determine the value of each boolean

assume a1 b2 c3. what is the value of each boolean expression?true or false show all steps.a. abgtc and bgtcb. notab

  Write down a program on visual basic format

Write down a program on visual basic format

  Explain the actions you will take to correct

A user calls to report that she is unable to log on to email. You respond with a couple of quick questions. Because you know that no one else is using the network right now, you cannot find out whether the problem is unique to her machine or affec..

  Computing the cryptosystem

Consider the following cryptosystems and compute which security service(s) (e.g. Authentication, Integrity…etc) they offer: Example: Ek(M) - Confidentiality

  Convert to mips assembler

Please provide the complete calculation, not just a result. For y: you can use the algorithm shown in the example output of a conversion program.

  Programming for a pattern

Write down a program in order to print the following pattern on screen.

  Create a good design of the functions to make the best use

Write down a Python program that will first ask the number of overs each team will bat. The program then will continue to ask the score board people to input the runs for every ball for Team A until the team gets all out or they run out of overs. ..

  Design class called dog which keeps track of the dog''s name

design class called Dog which keeps track of the dog's name, breed, age, and license fee. The license fee will be a set amount: $12.25, since you only need one copy of this in memory, make it static. Include a method which prompts a user to set th..

  Developing a shopping cart for a website

Developing a Shopping Cart for a Website - Write a program that explores the seating patterns - Now that you have built a web page for your business, you will be adding a shopping cart allowing users to add and remove items from it.

  Explain protocol and architecture

define Connection Oriented Protocol and Connectionless Protocol.

  Questiona few years have passed and restaurant has grown to

questiona few years have passed and restaurant has grown to become a national restaurant chain. now they are concerned

  Define communication between different databases

Why would this make a problem. What is the role of proprietary systems in this issue.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd