Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

To serve a memory request, the memory controller issues one or multiple DRAM commands to access data from a bank. There are four different DRAM

To serve a memory request, the memory controller issues one or multiple DRAM commands to access data from a bank. There are four different DRAM commands.

ACTIVATE: Loads the row (that needs to be accessed) into the bank's row-buffer. This is called opening a row. (Latency: 15ns)

PRECHARGE: Restores the contents of the bank's row-buffer back into the row. This is called closing a row. (Latency: 15ns)

READ/WRITE: Accesses data from the row-buffer. (Latency: 15ns)

Each request is color-coded to denote the application to which it belongs (assume that all applications are running on separate cores). Additionally, each request is annotated with the address (or index) of the row that the request needs to access (e.g., R3 means that the request is to the 3rd row). Furthermore, assume that all requests are read requests.

A memory request is considered to be served when the READ command is complete (i.e., 15ns after the request's READ command has been issued). In addition, each application (A, B, or C) is considered to be stalled until all of its memory requests (across all the request buffers) have been served. Assume that, initially (at t0) each bank has the 3rd and the 12th row loaded in the row-buffer, respectively. Furthermore, no additional requests from any of the applications arrive at the memory controller.

(c) Of the three applications, application C is the least memory-intensive (i.e., has the lowest number of out-standing requests). However, it experiences the largest stall time since its requests are served only after the numerous requests from other applications are first served. To ensure the shortest stall time for application C, one can assign its requests with the highest priority, while assigning the same low priority to the other two applications (A and B). When application C is assigned a high priority and the other two applications are assigned the same low priority, what is the stall time of each application? Among requests with the same priority, assume that FR-FCFS is used to break ties.

(d) Assign priorities to the other two applications such that you minimize the average stall time across all applications. Specifically, list all three applications in the order of highest to lowest priority. Also show the stall time for each application for this optimal priority assignment.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

The Structure Of The Relational Database Model

Authors: Jan Paredaens ,Paul De Bra ,Marc Gyssens ,Dirk Van Gucht

1st Edition

3642699588, 978-3642699580

More Books

Students also viewed these Databases questions

Question

Identify the types of informal reports.

Answered: 1 week ago

Question

Write messages that are used for the various stages of collection.

Answered: 1 week ago