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

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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