
Concept explainers
A.
Virtual address:
Virtual page number (VPN) and virtual page offset (VPO) are the two components of virtual address. Virtual address is “14 bits” format.
A.

Explanation of Solution
Given data:
Virtual address = 0x027C
The given virtual address is in hexadecimal format; convert it into binary format. Convert each Hexadecimal digit to a 4 bit binary equivalent:
0 | 2 | 7 | C |
0000 | 0010 | 0111 | 1100 |
The above binary values are filled in the virtual address 14 bits format as follows,
Virtual address format:
13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
B.
The page size (P) is 64bytes; using the page size finds the number of bits in VPN.
The formula for page size as follows:
Substitute “P = 64” in the above formula
Therefore, the “p” value represents virtual page offset (VPO) and physical page offset (PPO).
Number of bits in VPN is calculated as follows:
n = 14
p = 6
The VPN has additional two more components. They are TLB tag (TLBT) and TLB index (TLBI). The TLB is “4 ways” associative with “16” entries totally. Using the TLB find the value of TLBI and TLBT.
The formula for TLB as follows:
Substitute “T = 4” in the above formula
Therefore, the “t” value represents TLBI.
TLBI and TLBT are calculated as follows:
The “t” value represents TLBI. Therefore, the value of TLBI is “2”.
TLBI = 2
VPN = 8
Therefore, the value of TLBT is “6”.
B.

Explanation of Solution
Virtual address format:
13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
The higher-order “8 bits” of the virtual address represents “VPN” and the lower-order “6 bits” of the virtual address represents “VPO”. The higher-order “6 bits” of the VPN represents “TLBT” and the lower-order “2 bits” of the VPN represents “TLBI”
Value of VPN:
13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
VPN = 0000 1001 = 0x9
Value of TLB index:
7 | 6 |
0 | 1 |
TLB index = 01 = 0x1
Value of TLB tag:
13 | 12 | 11 | 10 | 9 | 8 |
0 | 0 | 0 | 0 | 1 | 0 |
TLB tag = 00 0010 = 0x2
TLB hit: No
There is a no valid match in the virtual address.
Page fault: No
There is a valid PTE and returns the cached PPN from the page table (PTE).
Value of PPN:
The cached PPN from the page table is “0x17”.
Value of VPO:
5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 0 |
VPO = 11 1100 = 3C
Completed Table:
Parameter | Value |
VPN | 0x9 |
TLB index | 0x1 |
TLB tag | 0x2 |
TLB hit? (Y/N) | N |
Page fault? (Y/N) | N |
PPN | 0x17 |
C.
Physical address:
Physical page number (PPN) and physical page offset (PPO) are the two components of physical address. Physical address is “12 bits” format. The physical page offset (PPO) is identical to the virtual page offset (VPO).
C.

Explanation of Solution
Physical address format:
To form the physical address, concatenate the physical page number (PPN) from the PTE with virtual page offset (VPO) from the virtual address, which forms “0x05FC”.
Physical address = 0x05FC
The physical address is in hexadecimal format; convert it into binary format. Convert each Hexadecimal digit to a 4 bit binary equivalent:
0 | 5 | F | C |
0000 | 1011 | 1111 | 1100 |
The above binary values are filled in the physical address 12 bits format as follows,
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
D.
The physical address has additional three more components. They are Byte offset within cache block (CO), Cache index (CI) and Cache tag (CT).
D.

Explanation of Solution
Physical address format:
11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
The lower-order “2 bits” of the physical address represents “CO”, the next “4 bits” represents “CI” and the remaining “6 bits” represents “CT”.
Value of Byte offset (CO):
1 | 0 |
0 | 0 |
CO = 11 = 0x0
Value of Cache index (CI):
5 | 4 | 3 | 2 |
1 | 1 | 1 | 1 |
CI = 1111 = 0xF
Value of Cache tag (CT):
11 | 10 | 9 | 8 | 7 | 6 |
0 | 1 | 0 | 1 | 1 | 1 |
CT = 01 0111 = 0x17
Cache hit: No
The cache index is not matches the cache tag.
Value of Cache byte:
The cached byte is not returned because the cache index is not matches the cache tag.
Completed Table:
Parameter | Value |
Byte offset | 0x0 |
Cache index | 0xF |
Cache tag | 0x17 |
Cache hit? (Y/N) | N |
Cache byte returned | --- |
Want to see more full solutions like this?
Chapter 9 Solutions
EBK COMPUTER SYSTEMS
- CHATGPT GAVE ME WRONG ANSWER PLEASE HELParrow_forwardHELP CHAT GPT GAVE ME WRONG ANSWER Consider the following implementation of a container that will be used in a concurrent environment. The container is supposed to be used like an indexed array, but provide thread-safe access to elements. struct concurrent_container { // Assume it’s called for any new instance soon before it’s ever used void concurrent_container() { init_mutex(&lock); } ~concurrent_container() { destroy_mutex(&lock); } // Returns element by its index. int get(int index) { lock.acquire(); if (index < 0 || index >= size) { return -1; } int result = data[index]; lock.release(); return result; } // Sets element by its index. void set(int index, int value) { lock.acquire(); if (index < 0 || index >= size) { resize(size); } data[index] = value; lock.release(); } // Extend maximum capacity of the…arrow_forwardWrite a C program using embedded assembler in which you use your own function to multiply by two without using the product. Tip: Just remember that multiplying by two in binary means shifting the number one place to the left. You can use the sample program from the previous exercise as a basis, which increments a variable. Just replace the INC instruction with SHL.arrow_forward
- R languagearrow_forwardQuestion 1 (15 Points) Inheritance: In this question, we are going to create a new subclass of the SimpleGeometricObject class, named Triangle. Create a SimpleGeometricObject.java and Copy the source code of the SimpleGeometricObject class from the following link: https://liveexample.pearsoncmg.com/html/SimpleGeometricObject.html TASK 1: Create a Triangle class that extends the SimpleGeometricObject class in Eclipse, following the below UML diagram. + base:double = 5 + height:double = 10 Triangle + Triangle() + Triangle(newBase: double, newHeight: double) + getArea(): double + setBase(): void + setHeight(): void + getBase(): double + getHeight(): doublearrow_forwardQuestion 2 (10 Points): String vs. StringBuilder Create a Question2.java file and finish the following tasks: Task 1. a) Create a 1D array of integers to store 50 integers. b) Store values from 0 to 49 in the array you just created. c) Create a new String Object using no-arg constructor. d) Using for loop to add the array elements one by one to the String (one per loop iteration) Hint: to append an element to a String, use the + operator. e) Output the String on the console. Record and display a run-time it took to append all integers to the String (record run-time of 1.d.)). Please submit a screenshot. The screenshot should match the following example: 012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 it took 196708 nanoseconds to append 50 integers to the String.| Hint: You can use the following statements to record run-time. long begin, end, time; // we will measure time it took begin = System.nanoTime(); //we measure in nanoseconds. // put…arrow_forward
- Answer this Java OOP question below: Discuss the challenges and benefits of using multiple levels of inheritance in a class hierarchy. How can deep inheritance structures impact the maintainability and readability of code?arrow_forwardAnswer the Java OOP question below: Explain the relationship between a superclass and a subclass. How do the principles of encapsulation and abstraction play a role in this relationship? In your experience, how do you decide what should be included in a superclass versus a subclass? Share an example where a well-defined superclass-subclass hierarchy improved your code.arrow_forward1.) Consider the problem of determining whether a DFA and a regular expression are equivalent. Express this problem as a language and show that it is decidable. ii) Let ALLDFA = {(A)| A is a DFA and L(A) = "}. Show that ALLDFA is decidable. iii) Let AECFG = {(G)| G is a CFG that generates &}. Show that AECFG is decidable. iv) Let ETM {(M)| M is a TM and L(M) = 0}. Show that ETM, the complement of Erm, is Turing-recognizable. Let X be the set {1, 2, 3, 4, 5} and Y be the set {6, 7, 8, 9, 10). We describe the functions f: XY and g: XY in the following tables. Answer each part and give a reason for each negative answer. n f(n) n g(n) 1 6 1 10 2 7 2 9 3 6 3 8 4 7 4 7 5 6 5 6 Aa. Is f one-to-one? b. Is fonto? c. Is fa correspondence? Ad. Is g one-to-one? e. Is g onto? f. Is g a correspondence? vi) Let B be the set of all infinite sequences over {0,1}. Show that B is uncountable using a proof by diagonalization.arrow_forward
- Systems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology PtrMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningOperations Research : Applications and AlgorithmsComputer ScienceISBN:9780534380588Author:Wayne L. WinstonPublisher:Brooks ColeProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:Cengage




