ࡱ>  2bjbjFF $$$K)<<$$((( ) ) ) ) )<G)D )_R*:****?J@@\@RRRRRRR]TVR(l@N>?l@p@RA$$**RAAAt@$*(*RAl@RAARJ'(JL~% )AKfL/R0_RKfWAW<JLA(JLl@l@l@< #:   CS152 Computer Architecture and Engineering Virtual Memory and Address TranslationAssigned March 3Problem Set #3Due March 12 http://inst.eecs.berkeley.edu/~cs152/sp09 The problem sets are intended to help you learn the material, and we encourage you to collaborate with other students and to ask questions in discussion sections and office hours to understand the problems. However, each student must turn in their own solutions to the problems. The problem sets also provide essential background material for the quizzes. The problem sets will be graded primarily on an effort basis, but if you do not work through the problem sets you are unlikely to succeed at the quizzes! We will distribute solutions to the problem sets on the day the problem sets are due to give you feedback. Homework assignments are due at the beginning of class on the due date. Homework will not be accepted once solutions are handed out. This material will be on Quiz 3, not Quiz 2. Problem 3.1: Virtual Memory Bits This problem requires the knowledge of Handout #3 (Virtual Memory Implementation) and Lecture 9. Please, read these materials before answering the following questions. In this problem we consider simple virtual memory enhancements. Problem 3.1.A Whenever a TLB entry is replaced we write the entire entry back to the page table. Ben thinks this is a waste of memory bandwidth. He thinks only a few of the bits need to be written back. For each of the bits explain why or why not they need to be written back to the page table. With this in mind, we will see how we can minimize the number of bits we actually need in each TLB entry throughout the rest of the problem. Problem 3.1.B Ben does not like the TLB design. He thinks the TLB Entry Valid bit should be dropped and the kernel software should be changed to ensure that all TLB entries are always valid. Is this a good idea? Explain the advantages and disadvantages of such a design. Problem 3.1.C Alyssa got wind of Bens idea and suggests a different scheme to eliminate one of the valid bits. She thinks the page table entry valid and TLB Entry Valid bits can be combined into a single bit. On a refill this combined valid bit will take the value that the page table entry valid bit had. A TLB entry is invalidated by writing it back to the page table and setting the combined valid bit in the TLB entry to invalid. How does the kernel software need to change to make such a scheme work? How do the exceptions that the TLB produces change? Problem 3.1.D Now, Bud Jet jumps into the game. He wants to keep the TLB Entry Valid bit. However, there is no way he is going to have two valid bits in each TLB entry (one for the TLB entry one for the page table entry). Thus, he decides to drop the page table entry valid bit from the TLB entry. How does the kernel software need to change to make this work well? How do the exceptions that the TLB produces change? Problem 3.1.E Compare your answers to Problem 3.1.C and 3.1.D. What scheme will lead to better performance? Problem 3.1.F How about the R bit? Can we remove them from the TLB entry without significantly impacting performance? Explain briefly. Problem 3.1.G The processor has a kernel (supervisor) mode bit. Whenever kernel software executes the bit is set. When user code executes the bit is not set. Parts of the users virtual address space are only accessible to the kernel. The supervisor bit in the page table is used to protect this regionan exception is raised if the user tries to access a page that has the supervisor bit set. Bud Jet is on a roll and he decides to eliminate the supervisor bit from each TLB entry. Explain how the kernel software needs to change so that we still have the protection mechanism and the kernel can still access these pages through the virtual memory system. Problem 3.1.H Alyssa P. Hacker thinks Ben and Bud are being a little picky about these bits, but has devised a scheme where the TLB entry does not need the M bit or the U bit. It works as follows. If a TLB miss occurs due to a load, then the page table entry is read from memory and placed in the TLB. However, in this case the W bit will always be set to 0. Provide the details of how the rest of the scheme works (what happens during a store, when do the entries need to be written back to memory, when are the U and M bits modified in the page table, etc.). Problem 3.2: Page Size and TLBs This problem requires the knowledge of Handout #3 (Virtual Memory Implementation) and Lecture 10. Please, read these materials before answering the following questions. Assume that we use a hierarchical page table described in Handout #3. The processor has a data TLB with 64 entries, and each entry can map either a 4KB page or a 4MB page. After a TLB miss, a hardware engine walks the page table to reload the TLB. The TLB uses a first-in/first-out (FIFO) replacement policy. We will evaluate the memory usage and execution of the following program which adds the elements from two 1MB arrays and stores the results in a third 1MB array (note that, 1MB = 1,048,576 Bytes):  SHAPE \* MERGEFORMAT  We assume the A, B, and C arrays are allocated in a contiguous 3MB region of physical memory. We will consider two possible virtual memory mappings: 4KB: the arrays are mapped using 768 4KB pages (each array uses 256 pages). 4MB: the arrays are mapped using a single 4MB page. For the following questions, assume that the above program is the only process in the system, and ignore any instruction memory or operating system overheads. Assume that the arrays are aligned in memory to minimize the number of page table entries needed. Problem 3.2.A This is the breakdown of a virtual address which maps to a 4KB page:  SHAPE \* MERGEFORMAT  Show the corresponding breakdown of a virtual address which maps to a 4MB page. Include the field names and bit ranges in your answer.  SHAPE \* MERGEFORMAT  Problem 3.2.BPage Table Overhead We define page table overhead (PTO) as: PTO =Physical memory that is allocated to page tablesPhysical memory that is allocated to data pages For the given program, what is the PTO for each of the two mappings? PTO4KB = PTO4MB = Problem 3.2.CPage Fragmentation Overhead We define page fragmentation overhead (PFO) as: PFO =Physical memory that is allocated to data pages but is never accessedPhysical memory that is allocated to data pages and is accessed For the given program, what is the PFO for each of the two mappings? PFO4KB = PFO4MB = Problem 3.2.D Consider the execution of the given program, assuming that the data TLB is initially empty. For each of the two mappings, how many TLB misses occur, and how many page table memory references are required per miss to reload the TLB? Data TLB missesPage table memory references (per miss)4KB:4MB: Problem 3.2.E Which of the following is the best estimate for how much longer the program takes to execute with the 4KB page mapping compared to the 4MB page mapping? Circle one choice and briefly explain your answer (about one sentence). 1.01(10(1,000(1,000,000( Problem 3.3: 64-bit Virtual Memory This problem examines page tables in the context of processors with a 64-bit addressing. Problem 3.3.ASingle level page tables For a computer with 64-bit virtual addresses, how large is the page table if only a single-level page table is used? Assume that each page is 4KB, that each page table entry is 8 bytes, and that the processor is byte-addressable. Problem 3.3.BLets be practical Many current implementations of 64-bit ISAs implement only part of the large virtual address space. One way to do this is to segment the virtual address space into three parts as shown below: one used for stack, one used for code and heap data, and the third one unused.        A special circuit is used to detect whether the top eight bits of an address are all zeros or all ones before the address is sent to the virtual memory system. If they are not all equal, an invalid virtual memory address trap is raised. This scheme in effect removes the top seven bits from the virtual memory address, but retains a memory layout that will be compatible with future designs that implement a larger virtual address space. The MIPS R10000 does something similar. Because a 64-bit address is unnecessarily large, only the low 44 address bits are translated. This also reduces the cost of TLB and cache tag arrays. The high two virtual address bits (bits 63:62) select between user, supervisor, and kernel address spaces. The intermediate address bits (61:44) must either be all zeros or all ones, depending on the address region. How large is a single-level page table that would support MIPS R10000 addresses? Assume that each page is 4KB, that each page table entry is 8 bytes, and that the processor is byte-addressable. Problem 3.3.CPage table overhead A three-level hierarchical page table can be used to reduce the page table size. Suppose we break up the 44-bit virtual address (VA) as follows: VA[43:33]VA[32:22]VA[21:12]VA[11:0]1st level index2nd level index3rd level indexPage offset If page table overhead is defined as (in bytes): Physical memory used by page tables for a user process  Physical memory used by the user code, heap, and stack Remember that a complete page table page (1024 or 2048 PTEs) is allocated even if only one PTE is used. Assume a large enough physical memory that no pages are ever swapped to disk. Use 64-bit PTEs. What is the smallest possible page table overhead for the three-level hierarchical scheme? Assume that once a user page is allocated in memory, the whole page is considered to be useful. What is the largest possible page table overhead for the three-level hierarchical scheme? Problem 3.3.DPTE Overhead The MIPS R10000 uses a 40 bit physical address. The physical translation section of the TLB contains the physical page number (also known as PFN), one valid, one dirty, and three cache status bits. What is the minimum size of a PTE assuming all pages are 4KB? MIPS/Linux stores each PTE in a 64 bit word. How many bits are wasted if it uses the minimum size you have just calculated? It turns out that some of the wasted space is recovered by the OS to do bookkeeping, but not much. byte A[1048576]; // 1MB array byte B[1048576]; // 1MB array byte C[1048576]; // 1MB array for(int i=0; i<1048576; i++) C[i] = A[i] + B[i]; L1 index 33 43 L2 index 22 32 L3 index 12 21 Page Offset 0 11 11 bits 11 bits 10 bits 12 bits 43 0 0xFFFFFFFFFFFFFFFF Reserved for Stack 0xFF00000000000000 Unused 0x00FFFFFFFFFFFFFF Reserved for Code and Heap 0x0000000000000000 .0WZjkz & ' ( F T U ɼ⒂lTlTlTl.h?whq6CJOJQJ^JaJnHo(tH+h?whq6CJOJQJ^JaJnHtHh?whq5CJnHo(tHhqnHo(tHh"hqOJQJh"hqB*OJQJph hq>*CJhq5>*B*CJphhq5B*CJph hq5CJ hqCJhq hq6 hqCJ h=@g6h=@g h=@gCJ-./01XYXkd$$IflF .$2 VJ%    4 la $$If`a$ $$Ifa$$If YZkz $$If`a$ $$Ifa$ $IfgdqZkdz$$IflF .$2 VJ%    4 la ;6gdq\kdr$$Ifl$$ t04 lal $$Ifa$$a$Xkd$$IflF .$2 VJ%    4 la $$Ifa$gdq $Ifgdq $ a$gdq$a$gdqgdqgdqgdq $145Q^abZZϽϽ.h?whq6CJOJQJ^JaJnHo(tH+h?whq6CJOJQJ^JaJnHtHh?whq5CJaJnHtH"h?whq5CJaJnHo(tHh?whq5CJaJh?whq5CJh?whq5h?whqnHo(tH h?whq2 ~~ui $$Ifa$gdq $Ifgdq$a$gdqgdqskd$$Ifl 0!0 !4 lal{rf $$Ifa$gdq $Ifgdqgdq $da$gdqskd$$Ifl 0!0 4 lalxy~s~ $da$gdqgdq$a$gdqskd/$$Ifl 90!0 4 lal 34iskd$$Ifl *0!0 4 lal $$Ifa$gdq $Ifgdqgdq$a$gdq "#23{rf $$Ifa$gdq $Ifgdq $da$gdqgdqskde$$Ifl 0!0 4 lal345~ui $$Ifa$gdq $Ifgdq$a$gdqgdqskd$$Ifl 0!0 4 lalEFNO_`~~~ui $$Ifa$gdq $Ifgdq$a$gdqgdqskd$$Ifl 0!0 4 lal`abZ[{{sk$a$gdq$a$gdq $da$gdqgdqskd6$$Ifl 0!0 4 lal Zw Y $$Ifa$gdq $Ifgdqgdq $ & Fa$gdq$a$gdqgdq Z[rstuv  Y\ ܰܥɻə푇푇h=@ghq5H*h=@ghq5h?whqnHo(tHjh?whqUjh?whqUh?whq5nHo(tHh?whq5jh?whqU jh?whqUmHnHu h?whqjh?whqU4xl $$Ifa$gdq $Ifgdqgdqgdqskda$$Ifl 0!0 4 lal  4 tb$ !$Ifa$gdq$ !$Ifa$gdqgdqskd $$Ifl 0!0 4 lal4 5 6 f g 0Vkd6 $$IfTl40 t t644 laAT$ !$Ifa$gdq !$IfgdqVkd $$IfTl40t t644 laATg h p !$IfgdqVkd $$IfTl40v q t644 laT$ !$Ifa$gdq$ !$Ifa$gdqgdq $ !$Ifa$gdq$ !$Ifa$gdqgdqVkd. $$IfTl40v  q t644 laT 0Vkd& $$IfTl40v   t644 laT$ !$Ifa$gdq !$IfgdqVkd $$IfTl40v  t644 laT *!+!1!lZ$ !$Ifa$gdqskd $$Ifl 0!0 4 lal $$Ifa$gdq $Ifgdqgdqgdq +!1!""" """"""+","-"."/"0"T#Y#\#a#d#e#m#p#q#r#s#t#u#v#%$4$X$\$]$`$a$g$h$r$s$t$v$w$$$$$$릗hq jh=@ghq5CJ$aJ$h=@ghq5CJ$aJ$ hq5h=@ghq5H*h=@ghq5h?whqnHo(tHh?whq5nHo(tHh?whq5 h?whqh?whq56CJ aJ :1!w!x!y!!!0Vkd $$IfTl40%  t644 laT !$IfgdqVkd: $$IfTl40% t644 laT$ !$Ifa$gdq!!"" " " " ""p !$IfgdqVkd2$$IfTl40v q t644 laT$ !$Ifa$gdq$ !$Ifa$gdqgdq"""""$ !$Ifa$gdq$ !$Ifa$gdqgdqVkd$$IfTl40v  q t644 laT"""""0Vkd$$IfTl40v   t644 laT$ !$Ifa$gdq !$IfgdqVkd*$$IfTl40v  t644 laT""-"."/"0"###qlllZ$ !$Ifa$gdqgdqskd"$$Ifl 0!0 4 lal $$Ifa$gdq $Ifgdqgdq#+#S#T#Y#Z#[#s$ !$Ifa$gdqhkd$$IfTlF^j  h  t6    44 laT$ !$Ifa$gdq[#\#a#b#c#qq$ !$Ifa$gdq$ !$Ifa$gdqjkdE$$IfTl>F^j  h  t6    44 laTc#d#e#s#t#{ $$Ifa$gdq $Ifgdqgdqjkd$$IfTlyF^j  h  t6    44 laTt#u#v#$W$X$^$b$i$t$tttt$ !$Ifa$gdqgdqskdy$$Ifl 0!0 4 lal t$u$v$$$$$%%wooocP$dd$If[$\$a$gdq $$Ifa$gdq$a$gdq$a$gdqgdq{kd$$IfTl\j U t644 laT$%%% &&&*&<'='>'@'B'D'F'G'I'J'K'M'O'P'l+y+z++M,O,],_,m,o,,--N-5/B/C/P/0G1J1K11111111𶫝/h)hq5B*CJ OJQJ\^JaJ phh))hq5OJQJ^Jhq5OJQJ^Jhqh?whqCJh?whq:h?whqH*$jh?whqCJUmHnHuh?whq\aJ h?whqh?whq52%% %&&&*&wd$dd$If[$\$a$gdq $$Ifa$gdq$a$gdqskd$$Ifl 0!K0 !4 lal*&+&,&<'>'A'B'E'F'H'I'K'N'O'Q'~~~~~~~~~~~gdq$a$gdqskd$$Ifl 0!K0 !4 lalQ'R'S' ) )**h+i+z++$dd$If[$\$a$gdq $$Ifa$gdq$a$gdq $^a$gdq$d^a$gdqgdq +++#,$,.,8,B,K,~uuuu $Ifgdqgdq$a$gdqskd$$Ifl :0!0 !4 lalK,L,\,l,|,,g^^^^ $IfgdqkdS$$IfTl\$B064 laT,,,,,--N-O-g___WGG_$h^`ha$gdq$a$gdq$a$gdqkd$$IfTl\$B064 laTO-P-t.u.2/3/C/P/Q/R/"0#0dskd$$Ifl 0!0 !4 lal$dd$If[$\$a$gdq $$Ifa$gdq$a$gdq #0c0d0J1K1j1111111111111111122 2 22 $7$8$H$a$gdqgdq$a$gdq111111111112222 2 2222222 2"2#2&2'2/2028292:2;2A2B2C2D2J2K2L2M2P2Q2S2T2g2h2{2|22hq5CJ\hqOJQJ^J hFhq!h)hqB*OJQJ^Jph&hqB*OJQJ^JnHo(phtH)hq5B*CJ OJQJ\^JaJ ph/h)hq5B*CJ OJQJ\^JaJ phhqhqB*OJQJ^Jph222222 2"2#2&2'2/2028292A2B2J2K2L2M2P2Q2S2T2g2h2{2gdqgdq $7$8$H$a$gdq{2|2222222222222gdqgdq 222222222 hq5\hq5CJ\hqOJQJ^Jhq":pq/ =!"#$%x$$If!vh52 5V5#v2 #vV#v:V lJ%52 5V54a|$$If!vh52 5V5#v2 #vV#v:V lJ%52 5V54ax$$If!vh52 5V5#v2 #vV#v:V lJ%52 5V54a$$Ifl!vh5$#v$:V l t05$4al$$Ifl!vh55#v#v:V l0 !554al$$Ifl!vh55#v#v:V l0 554al$$Ifl!vh55#v#v:V l90 554al$$Ifl!vh55#v#v:V l*0 554al$$Ifl!vh55#v#v:V l0 554al$$Ifl!vh55#v#v:V l0 554al$$Ifl!vh55#v#v:V l0 554al$$Ifl!vh55#v#v:V l0 554alDd D  3 @@"?$$Ifl!vh55#v#v:V l0 554alDd mMD  3 @@"?DdLD  3 @@"?$$Ifl!vh55#v#v:V l0 554al}$$IfA!vh55t#v#vt:V l4 t6+,55t/ aATw$$IfA!vh55t#v#vt:V l4 t6+55t/ aAT}$$If!vh5 5q#v #vq:V l4 t6+,5 5q/ aTw$$If!vh5 5q#v #vq:V l4 t6+5 5q/ aT}$$If!vh5 5#v #v:V l4 t6+,5 5/ aTw$$If!vh5 5#v #v:V l4 t6+5 5/ aT$$Ifl!vh55#v#v:V l0 554al}$$If!vh55#v#v:V l4 t6+,55/ aTw$$If!vh55#v#v:V l4 t6+55/ aT}$$If!vh5 5q#v #vq:V l4 t6+,5 5q/ aTw$$If!vh5 5q#v #vq:V l4 t6+5 5q/ aT}$$If!vh5 5#v #v:V l4 t6+,5 5/ aTw$$If!vh5 5#v #v:V l4 t6+5 5/ aT$$Ifl!vh55#v#v:V l0 554al$$If!vh55 5h #v#v #vh :V l t6,55 5h / T$$If!vh55 5h #v#v #vh :V l> t6,55 5h / / T$$If!vh55 5h #v#v #vh :V ly t6,55 5h / / T$$Ifl!vh55#v#v:V l0 554all$$If!vh5555\#v#v\:V l t655T$$Ifl!vh55K#v#vK:V l0 !55K4al$$Ifl!vh55K#v#vK:V l0 !55K4al$$Ifl!vh55#v#v:V l:0 !554al$$If!vh5555#v#v:V l06554T$$If!vh5555#v#v:V l06554T$$Ifl!vh55#v#v:V l0 !554alC666666666vvvvvvvvv666666>6666666666666666666666666666666666666666666666666hH6666666666666666666666666666666666666666666666666666666666666666666666666662 0@P`p2( 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p8XV~_HmH nH sH tH F`F mCNormal$a$CJPJ_HmH sH tH L@L mC Heading 1$<@&5CJKHPJ`` mC Heading 2$<@&$56CJOJPJQJ\]^JaJZ@Z mC Heading 3$<@&5CJOJPJQJ\^JaJFF mC Heading 4$S@&^S 5PJ\HH mC Heading 5$@&^ OJPJQJFF mC Heading 6$@&^ 5PJ\@@ mC Heading 7$@&^PJ@@ mC Heading 8$ @&^ PJ@ @ mC Heading 9 $ @&^ PJDA`D Default Paragraph FontRi@R  Table Normal4 l4a (k (No List 2B@2 mC Body Textx6U6 mC Hyperlink >*B*phBB mC Table Text$ a$PJJZ@"J mC Plain Text$a$CJOJPJQJ^JLC2L mCBody Text Indenthx^hPJ@P@B@ mC Body Text 2 dxPJVR@RV mCBody Text Indent 2hdx^hPJXS@bX mCBody Text Indent 3hx^h CJPJaJer mCHTML Preformatted=$ 2( Px 4 #\'*.25@9a$CJOJPJQJ^Jnn mC Table Grid7:V0PJ88 mCHeader  !PJ8 8 mCFooter  !PJ.). mC Page NumberFVF mCFollowedHyperlink >*B* phHTH mC Block Text]^PJBQB mC Body Text 3 CJPJaJXMX mCBody Text First Indent`PJ`N1` mCBody Text First Indent 2 S^S`6?6 mCClosing !^PJ(L( mCDate"PJ@[2@ mCE-mail Signature#PJr$Br mCEnvelope Address$$ &+D/G$^ OJPJQJ^JaJN%RN mCEnvelope Return%G$OJPJQJ^J>`b> mC HTML Address& 6PJ]8/r8 mCList'W^`WPJ<2< mCList 2(SW^S`WPJ<3< mCList 3)W^`WPJ<4< mCList 4*W^`WPJ<5< mCList 5+NW^N`WPJ>0> mC List Bullet , & FPJB6B mC List Bullet 2 - & FPJB7B mC List Bullet 3 . & FPJB8B mC List Bullet 4 / & FPJB9B mC List Bullet 5 0 & FPJFDF mC List Continue1^PJJE"J mCList Continue 22R^RPJJF2J mCList Continue 33^PJJGBJ mCList Continue 44^PJJHRJ mCList Continue 55M^MPJ>1b> mC List Number 6 & FPJB:rB mC List Number 2 7 & F PJB;B mC List Number 3 8 & F PJB<B mC List Number 4 9 & F PJB=B mC List Number 5 : & F PJI mCMessage Headerg;S$d%d&d'd-DM NOPQ^S`OJPJQJ^JaJ<^< mC Normal (Web)<PJaJBB mC Normal Indent =^PJ>O> mC Note Heading>$a$PJ4K4 mC Salutation?PJ:@: mC Signature @^PJTJT mCSubtitleA$<@&a$6OJPJQJ]^JaJV>"V mCTitleB$x@&a$5CJ OJPJQJ\^JaJ PK!K[Content_Types].xmlj0Eжr(΢]yl#!MB;BQޏaLSWyҟ^@ Lz]__CdR{`L=r85v&mQ뉑8ICX=H"Z=&JCjwA`.Â?U~YkG/̷x3%o3t\&@w!H'"v0PK!֧6 _rels/.relsj0 }Q%v/C/}(h"O = C?hv=Ʌ%[xp{۵_Pѣ<1H0ORBdJE4b$q_6LR7`0̞O,En7Lib/SeеPK!kytheme/theme/themeManager.xml M @}w7c(EbˮCAǠҟ7՛K Y, e.|,H,lxɴIsQ}#Ր ֵ+!,^$j=GW)E+& 8PK!\theme/theme/theme1.xmlYOoE#F{o'NDuر i-q;N3' G$$DAč*iEP~wq4;{o?g^;N:$BR64Mvsi-@R4Œ mUb V*XX! cyg$w.Q "@oWL8*Bycjđ0蠦r,[LC9VbX*x_yuoBL͐u_. DKfN1엓:+ۥ~`jn[Zp֖zg,tV@bW/Oټl6Ws[R?S֒7 _כ[֪7 _w]ŌShN'^Bxk_[dC]zOլ\K=.:@MgdCf/o\ycB95B24S CEL|gO'sקo>W=n#p̰ZN|ӪV:8z1f؃k;ڇcp7#z8]Y / \{t\}}spķ=ʠoRVL3N(B<|ݥuK>P.EMLhɦM .co;əmr"*0#̡=6Kր0i1;$P0!YݩjbiXJB5IgAФ޲a6{P g֢)҉-Ìq8RmcWyXg/u]6Q_Ê5H Z2PU]Ǽ"GGFbCSOD%,p 6ޚwq̲R_gJSbj9)ed(w:/ak;6jAq11_xzG~F<:ɮ>O&kNa4dht\?J&l O٠NRpwhpse)tp)af] 27n}mk]\S,+a2g^Az )˙>E G鿰L7)'PK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-!K[Content_Types].xmlPK-!֧6 1_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!\theme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK]  1EMa}* 6 6 666666666666666666!66"6%6#66$66 1EMa}     * Z $122!+3>GJY 3`4 g 1!!"""#[#c#t#t$%*&Q'+K,,O-#02{22 "#$%&'()*,-./012456789:;<=?@ABCDEFHIZru*___8&'@@&&( ~}   &  3  "0?`  c $X99? &   <0eS"`? 5&  r  s * I  r  s *$ &I    *f# 3  "0?`  c $X99? *f#   3 S"`? "!#   L &  3  "0?l   0X99?L &   6 S"`? x  ~   6 \ ,I  ~  6 I    6S"`?x E  ~  6) I  ~  6 I    6S"`?E h  ~  6 7 I   ~  6  rI     6 S"`?h 5&   ~  6 $ &I   ~  6  I   ~  6$  i ~  6 i ~  6 i ~  6 #i VB  C D"?VB  C D"? \  3 "?  \  3 "? D    "?b ! C !"? b " C ""? b # C #"?  b $ C $"?  \ % 3 %"? zB & 6D?#" ? B S  ?s<>?BCFIKLO%*C t tNt!L Et   t\ mt"L @ t  t%dt#L t@ t SSt$L9@ t&8udut MARKER2_1 MARKER2_2 _Toc509750235E!E!#*E!"$*M)M)mrSW%%&&K)))))))))))))))*t 5Ber$$'$.$1$8$;$B$E$(((F)K)O)j)n)))))))*:::::::::::::::: |l+tr} 0~2f,z 0 "=W(De>qEGD+  ^ `.dd^d`.^`.^`.   ^ `OJQJo(l dd^d`OJQJo(l ^`OJQJo(l ^`OJQJo(lhh^h`. hh^h`OJQJo(lhhh^h`OJQJo(hHh88^8`OJQJ^Jo(hHoh^`OJQJo(hHh  ^ `OJQJo(hHh  ^ `OJQJ^Jo(hHohxx^x`OJQJo(hHhHH^H`OJQJo(hHh^`OJQJ^Jo(hHoh^`OJQJo(hHh hh^h`hH.h 88^8`hH.h L^`LhH.h   ^ `hH.h   ^ `hH.h xLx^x`LhH.h HH^H`hH.h ^`hH.h L^`LhH. W(D>qE~}|                   q-./0XYZkz    " # 2 3 4 NO_`a456fg*+1wxy    -./+STYZ[\abcdestuWX^bitu*+h#i#z####$$$.$8$B$K$L$\$l$|$$$2'3'C'P'Q'K)* zzzz̆̆̆@*@Unknown GTimes New Roman5Symbol3 Arial3~,Times?~Courier New;|i0Batang-$-MODUTMWORAM˳;Wingdings 1hFjӦ  "H4d)J#q?fA0+CS152 Computer Architecture and EngineeringMichael Armbrust Screw You<          Oh+'0T (4 X d p|',CS152 Computer Architecture and EngineeringMichael Armbrust Normal.dotm Screw You9Microsoft Macintosh Word@q@VqNx@*! "GPICTb HHb bHH!J-pbb !! Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ ƢwkZZkZkZcg9{kZskZso{o{7s{w{{wo{{{W#cg9VZZVRZg9s^V^cRZcNs^ZsZRV{ZZc^VZZcVZo{M w{wwg9wws{{w{swsw{sswco{w{wg9o{ Ƣ Ƣ?w{{{w{{{{s{{{Y$o{kZZ^ZckZ^Nsg9cZZcg9sZ^g9o{^ZV^g9^o{ckZ^Zc^Vg9^VS {o{wo{o{w{so{wo{swo{o{s{so{kZwo{s{wwo{so{sso{>{{ww{ w{ww{w{gwV^ Z^o{VV^g9ZkZ{ JRg9g9V^g9g9sRkZg9kZg9g9 g9VZsZVZg9Zo{o{w3ww o{sg9kZo{g9o{so{g9s{sw Ƣ7o{kZg9kZkZg9kZg9kZcg9kZg9g9kZw=JRNsc^VVcV^ZVVRZg9RVo{ZNsRc)o{kZg9kZg9kZg9kZw Ƣg9g9kZ{kZo{g9g9kZkZskZwwo{swkZo{g9so{g9o{wwo{wkZo{sg9o{wo{skZo{o{kZso{o{wo{sso{sso{{so{wo{w ssc^kZkZg9kZkZ{co{kZssg9.o{g9skZwg9o{^{g9kZskZo{g9g9wg9o{skZg9g9sg9kZ{cco{skZwo{g9o{kZckZVkZ{ckZso{s&{{g9{o{{ww{{so{wo{{{w{s{w{ww{w{{sw{{s{wsw{w{{{{s{{{{s{o{kZ{{kZ^VkZskZ^^s^3o{o{^ZZc^kZsZZw^o{g9c^sVZc^^Vg9wZ{^^c^c^c^{^cc^Vg9wZ^o{kZc^cg9M{{{{{ww{{{{{{DZZRZo{Vo{VNsNsVcVRRg9RVkZVZVVZVcg9^ZVZg9^ckZZZRkZRVRZRkZVVRg9VZcVkZRV^g9ZZ^kZVVZRZVg9w' co{ZcwccZZkZcc'wwss{kZswws{޼ Ƣ,g9ckZskZkZc^kZw{o{kZw{co{sg9o{o{kZcs{kZo{o{kZg9kZskZkZsg9o{kZo{kZo{o{wkZo{{ckZ^o{wwo{kZo{kZkZ{ccsswg9kZo{g9kZwg9o{swkZkZsco{o{sg9wwskZo{kZkZg9{wg9o{kZ^kZwwkZg9kZsg9so{o{kZkZ{s^kZswskZs'wwo{kZss{{sw{wkZskZ{swo{{o{wsswwso{{w{wscwo{sw sws{o{{wwo{{w {wwkZ{kZswwss:g9^cc^cskZ^cwg9csg9ckZcc^^kZg9g9ccZkZ^{ccsckZcg9ccsg9^ckZsc^so{kZkZVs^o{g9ckZo{c{g9cc^Zg9 o{ww{so{{{{w{{ w{wkZss{{w{swws{ ww{{wskZ{{o{ssw o{{w{s{s{sg9Zo{Z^ c^o{cZg9sg9^o{^Zw^&VZg9wcsZ^g9^c^o{^o{Zg9kZRcc^c{o{g9cskZ^o{^c^c^^Vw^kZc{w{{{{{{{{{w{ w{{{ww{Zg9ZRo{V;^Ro{VZg9cRkZR^kZNs^kZRZkZVZVV^Vg9^Ro{R^kZRRg9^o{Vc^o{cZkZRZRVZZc^RZV^V^Vc+www{wwkZkZcg9c;o{kZcso{ZcZVc{ZkZg9^^ccssZwckZcwg9c{Zc{^cssVcw{Nsg9cg9g9cg9ZckZV{^^Vo{swsg9sws{sw sso{so{wsg9s(o{o{{w{ssw{wsso{sswwo{swswssw{sw{{wsswwwIsso{kZg9o{g9wkZo{o{wo{g9kZo{ {o{kZo{o{kZo{cg9{o{kZKkZo{g9ckZo{g9skZg9o{skZg9g9kZkZo{sg9o{skZkZg9wkZkZ{ Ƣ Ƣ Ƣ Ƣ9o{o{wwswo{so{o{S!kZg9Vg9VZVVZZkZV^g9^Vo{VkZ^RZkZkZ{VZkZ^Ns^kZg9{{{ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ Ƣ w ՜.+,0 hp  I' UC BerkeleyH) ,CS152 Computer Architecture and Engineering"Problem 3.1: Virtual Memory Bits #Problem 3.3: 64-bit Virtual Memory Title Headings  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKMNOPQRSTUVWYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry F|%Data L@1TableXWWordDocument$SummaryInformation(DocumentSummaryInformation8CompObj` F Microsoft Word 97-2004 DocumentNB6WWord.Document.8