ࡱ> HCDEFGza3x!tV$d( zafL4³@1( ww@=N.W DCb!k'"]V4>x]hEp;/ <MggRmI$הHM 5hhQؐjB U}*. b>J/"T[B>g۽}פ&73sA8FBJ\DXx>;ro'F(}c@ M@ba#6&ǎ ˱y Irho~.t-Ve塂cY  4y6Їh9ȾmV_O'h Xk}k:GyL [FjϵH۱&MxUbi~Xl?oSrbJ}]ðO7aN ><6?}MYzp/@g)gO{Nȑd=.Bڱ VN钑Glkk'pN)G_k_lٔ#ZSXNe\ڔ O4 ^yWry|hE'ї221`Co|Bj`ţa%eQRCgvhs'Z?u0tIE |ee/?b ԮGz'|j|1l., gfVXd69d9a+C,9G[gOITS`ďdJCE;EncaWǬOt8]t@=6p[8Pk:*Č=î>2Oiz/Q;Kx_ yu@=נ&nVwbvc;Ӣmµiе݈ ܠ1&ey2 IKL^bR=,V͙vǺN٣<$袤AS"4s5`xQ}ǠpA`9 m=U-?iW8+\2zL+!o~1vF{Gg.p >k2*΍/^Z{雂N>uky+\1;0L)'j7}dQ2(\Gm"ni^c8gйFD5ѻUY]MxBlHL;cy9L-gkX]y%b>:TP]b:uPiz/Q;Kxm*m^s={$㮄kP^E.8n6mq}ؾ~(Y\H?3xΥf{wkm<-m'"S4 k^'Q' ߎ =  7,{rVk2d̺Č)cQE7  \?%}_+ka)U=#)DHȸ,!@={ z*<ڊ7ΫCD8]>I x LVǟ瀈 Z V^EfN%&&mjb6S$Mk\be&mnZζZjE*VTP:<r}+nm%?|?9L7a5"/4yV$eQ"*"]o%a!R@yLJh@2!hni1T5M\=lN v,9>x:J=ޖ~_9%Y-۶= A8۫/ }><^?#ӲWkfًb2l\/#7(٦֢dO;vcm {{bC{v57nHtk{hu=]<\&ڲ}N$_v#f16neդۨNen龱%ulz 27r<*| /^.?䢬*rMH'7ᶬ;򮨾+Q}xXtҿIHH* ,].C im c`<2&dx4n4֠ﭗ#ǯiB|l%֦18[r` `s: sBpJ2i`H9+M|*9kKsALb>dsI*f.K"]Ud%HĚkc3OcL_5}4xdziW&UnzjICSfkM$g ]4t&A3M'h⡣2q:B{G;21F5npz1i2ы oN1ﶦul˴BP^:̃b4B!,G+`5EomPKa?1QFl1b41S牡KeRk:1ec}| lf#(BfaVtMzj)fZ+Fw{tX>~ lrq}zZ>ޤ}Z=-[@V˞;ýtl}m3[frI|6 Ҩ<:8Lsn:|Vć-|z[*BI(z4 zJUv-E!H] +aBxj.?"XyZxf/`)is+ِBfl1s-fnQbo%{E{F\ .rD~s=uZU9HrYQT.I|&RvNvM>E,eI8puPmt@;hdt"fR$u;f" Y nKn(ZζOzIуp$M˥e;'ZJvN*v+pM2nޖAXp74Oa㧰l>C0|o)_>w90_\|||@&FC+yh&䡡<@S@c@ssb.A9h4flhz(ePN2P+%jM:d15ʤ]mQߪ|ֱky0ϣT m_ =~o|Ƅiwңe|"x3oZ~9utpxɜEg<'e8ss~>l׫o}}>r*x>cznj;hx&2?6;:ݶ˯C:+ IZaF߆t6w4Bux֍o{^^)7S^Kwíӱ}o[F ל:Z#}{"Ɲ볩qq|c7o"C( hL{qXg/q6/3W@={}f5@,d]>x] pU> #@K 4/UDX(PQ$EL2jTg*C+v( h-T)b4=gޗ{[F,= ) xw7˳ʦ\9abb1~|"LlXy FP(@p5X0)`CmN{=vh}r qy}V8Y(ܨ5OCJURrWCW8PLiH 3Owtt@9ΥP(Oi;ҝ-6I.]#pX KF՞_ t]¶Bvŷݕ%}CJS<(I-9m' !U4ZØElfg*8k~9ܧAї<:ͦ?GQvM.!o;8KV|]:Ʌ&epcjWwlXz:0 %/Ho gc?ɣJ)o>n,}`'X~`WXzsgfT]x9:9O:2Ai,RotQ̈́2?S2j3W= 杨HV0LYB[6y~K()mv\7_#M]_ f{H>,ue\\*wH+wW,Tlcۄu3Vwwouc!NrԕUԳs`2^3#f\*~wxYExqr(uPcC=3d+9c`12>PGd~`N|pS D `?9d34|J A]vRGs>ѩHist#vtr0ⷸh/4(D\c,`&j߸cxLj'X&Ǎ:%qj#yB$1U_wQZomO-*NNx[z?'OPHn"pO~=^h8َ+'tc4c*}_GQүSpr:Sbʻ'P}F{INZn!kT/v^{W!ECkwn?Tֵ&Bkw~nͧW;WQspo+aMs/iw^my#޺4{g}H yb?zSU8m·yN#Ckw+Gi [Gi囅xhmc#[pӏCiiw^*O?߿oJiwS|OZ۽L~q@Z۽IY~q^=E yg9zyU8mE]nRI瘫SK~5|{fKMk/=82(eFCן)?x|ƛG 4ft4:'#fRa\^?t_ kEz-Iu/M`-|Ov7e޶*2FYe]2ʰ0ᛸyz.b= wetenpq7e)8 nf2t[;i0:e\m 4e, Px +c༗-mg-2Fpssk2_cBq\ԝolXz ImTtZ nj,Ҵ_yO6OKdMf7Cjo7=62\fe4~4q\aKNS ې}AҼp,d5;X&bƓjN_ xi~{ٗQZ'5?g'9 HZ=,aP?x^fo{_H}ޛ{G;_s p_9p3J.v'4X/.8.|U明\R0<Q9_ά=ʼn5{ P=-хmnͦ-1aggbȈյ kb xx6v(   g\ Chart MSGraph.Chart.80*Microsoft Graph Chart\http://www.corsairmemory.com/corsair/products/tech/memory_basics/153707/main.swfhttp://www.corsairmemory.com/corsair/products/tech/memory_basics/153707/main.swff Chart MSGraph.Chart.80*Microsoft Graph ChartO Chart MSGraph.Chart.80*Microsoft Graph ChartbWorksheet Excel.Sheet.802Microsoft Excel WorksheetP/0(  0;[0 0 000$([\{b00 000000000  0=] 0 0 0000 2 3 !A0C0E0G0I0c00000000000000000!%),.:;?]}acdeghijklmnop|DTimes New Romanv00DArialNew Romanv00 DWingdingsRomanv000DMonotype Sortsv00@De0}fԚype Sortsv00G .@  @@``  @n?" dd@  @@`` 63.3h1,@  &3=*f  ,  G"'K6"21% = B 7% ]<")  fM %  !k/M  f %% % a6T$ )'s,_ 4 :Zf e g &3** f   %" +#'bTH(E'&  #1-Co1 F "M.!#$&(\RR\ff-#fR C\O6Q3xTEqg=<1 hTF4P 1:Z  6%EV2H}GNS6Ze{zfBPrJJ^P>EEIB   1489,%COg,CqKO-"<q%U1Rk <q%U1RkJ MLf I.> sd^k  }T WA4C!    ' ! ,YkG= ;$&?mt<=?@CDEFG JKLMNOPQRST&UVWX&YZ[\&]^_` abcdefghijklmnopor$3x!tV$dir$fL4³@1ii"$.W DCb!k'V"$z*<ڊ7ΫCD ("${}f5@2$ʓB(Data-path control unit design Pipeline stalls on cache misses??b  ? 8!Actions Needed on an I-Cache Miss"P"` " 1. Compute the value of PC-4. 2. Instruct the main memory to perform a read and wait for the memory to complete its access. 3. Write the cache entry, putting the data from memory in the data portion of the entry, writing the upper bits of the address (from the ALU) into the tag field, and turning the valid bit on. 4. Restart the instruction execution at the first step, which will re-fetch the instruction, this time finding it in the cache.(`b  9A Case Study: DEC Station 3100P`  Separate I-Cache and D-Cache  Write-through policy One-word-line simplifies write-miss handlingaab a :How to Handle Read/Write`  Write Write-through: for both write hit/miss 1. Index the cache using bits 15-2 of the address. 2. Write both the tag portion (using bits 31 - 16 of the address) and the data portion with the word. 3. Also write the word to main memory using the entire address. D bb`  ;<Performance Penalty due to Write-Through on DEC Station 3100(=P,`b = CPI without cache misses: 1.2 (gcc), but with each write takes 10 cycles: CPI becomes 2.3 (gcc) Note: in gcc, 11% of instructions are stores, each takes 10 cycles Solution: write buffers (in DEC Station 3100: size=4)R`D6abbubZ  9     m <  =Combined I-Cache/D-Cache?2 b`b  ]Hit ratio: Combined may be better: In DECStation 3100: 4.8% vs 5.4% Bandwidth considerations4#"^b@'       >  The primary method of achieving higher memory bandwidth is to increase the physical or logical width of the memory system. In this figure there are two ways in which the memory bandwidth is improved. The simplest design, (a), uses a memory where all components are one word wide; (b) shows a wider memory, bus, and cache while (c) shows a narrow bus and cache with an interleaved memory.8byb b  'Review: Major Components of a Computer ]% Processor-Memory Performance Gap 6"The  Memory Wall )Logic vs DRAM speed gap continues to grow**"`&(Memory Performance Impact on PerformanceSuppose a processor executes at ideal CPI = 1.1 50% arith/logic, 30% ld/st, 20% control and that 10% of data memory operations miss with a 50 cycle miss penaltyP!9{9{,6a'The Memory Hierarchy GoalFact: Large memories are slow and fast memories are small How do we create a memory that gives the illusion of being large, cheap and fast (most of the time)? With hierarchy With parallelism&  A Typical Memory Hierarchy'Characteristics of the Memory Hierarchy #Memory Hierarchy TechnologieszCaches use SRAM for speed and technology compatibility Low density (6 transistor cells), high power, expensive, fast Static: content will last  forever (until power turned off) <7 'b(Memory Performance Metrics Latency: Time to access one word Access time: time between the request and when the data is available (or written) Cycle time: time between requests Usually cycle time > access time Typical read access times for SRAMs in 2004 are 2 to 4 ns for the fastest parts to 8 to 20ns for the typical largest parts Bandwidth: How much data from the memory can be supplied to the processor per unit time width of the data channel * the rate at which it can be used Size: DRAM to SRAM 4 to 8 Cost/Cycle time: SRAM to DRAM 8 to 16!X=D H  O= 2!$Classical RAM Organization (~Square) ",Classical DRAM Organization (~Square Planes)HThe column address selects the requested bit from the row in each plane:I " d*$Classical DRAM OperationwDRAM Organization: N rows x N column x M-bit Read or Write M-bit at a time Each M-bit access requires a RAS / CAS cycle&ee( Page Mode DRAM Operation'Page Mode DRAM N x M SRAM to save a row&h+"Synchronous DRAM (SDRAM) Operation d)Other DRAM Architectures6Double Data Rate SDRAMs  DDR-SDRAMs (and DDR-SRAMs) Double data rate because they transfer data on both the rising and falling edge of the clock Are the most widely used form of SDRAMs DDR2-SDRAMs http://www.corsairmemory.com/corsair/products/tech/memory_basics/153707/main.swff5  Q5 Q` P0>*DRAM Memory Latency & Bandwidth MilestonesIn the time that the memory to processor bandwidth doubles the memory latency improves by a factor of only 1.2 to 1.4 To deliver such high bandwidth, the internal DRAM has to be organized as interleaved memory banks)  bj,"Memory Systems that Support CacheshThe off-chip interconnect and memory architecture can affect overall system performance in dramatic waysk-!One Word Wide Memory OrganizationIf the block size is one word, then for a memory access due to a cache miss, the pipeline will have to stall the number of cycles required to return one data word from memory cycle to send address cycles to read DRAM cycle to return data total clock cycles miss penalty Number of bytes transferred per clock cycle (bandwidth) for a single miss is bytes per clockP|M*|M*l.!One Word Wide Memory OrganizationIf the block size is one word, then for a memory access due to a cache miss, the pipeline will have to stall the number of cycles required to return one data word from memory cycle to send address cycles to read DRAM cycle to return data total clock cycles miss penalty Number of bytes transferred per clock cycle (bandwidth) for a single miss is bytes per clockP|M)|M)m/POne Word Wide Memory Organization, con t#sWhat if the block size is four words? cycle to send 1st address cycles to read DRAM cycles to return last data word total clock cycles miss penalty Number of bytes transferred per clock cycle (bandwidth) for a single miss is bytes per clockb&Q2&&Q2n0POne Word Wide Memory Organization, con t#rWhat if the block size is four words? cycle to send 1st address cycles to read DRAM cycles to return last data word total clock cycles miss penalty Number of bytes transferred per clock cycle (bandwidth) for a single miss is bytes per clockb&Q2&&Q2o1POne Word Wide Memory Organization, con t#What if the block size is four words and if a fast page mode DRAM is used? cycle to send 1st address cycles to read DRAM cycles to return last data word total clock cycles miss penalty Number of bytes transferred per clock cycle (bandwidth) for a single miss is bytes per clockKM-K'M- p2POne Word Wide Memory Organization, con t#What if the block size is four words and if a fast page mode DRAM is used? cycle to send 1st address cycles to read DRAM cycles to return last data word total clock cycles miss penalty Number of bytes transferred per clock cycle (bandwidth) for a single miss is bytes per clockKM-K&M- q3Interleaved Memory Organization r4Interleaved Memory Organization s5DRAM Memory System SummaryIts important to match the cache characteristics caches access one block at a time (usually more than one word) with the DRAM characteristics use DRAMs that support fast multiple word accesses, preferably ones that match the block size of the cache with the memory-bus characteristics make sure the memory-bus can support the DRAM access rates and patterns with the goal of increasing the Memory-Bus to Cache bandwidtht1@l$1@l$  //013457 ^cituvwxyz{| !"P  ` ̙33` ` ff3333f` 333MMM` f` f` 3>?" dW@?qKd@l8 -dc% 8`X x?" dZ(@ =d   @@``PR    @ ` ` p>>L0 C;(    Z 8c 8c1 ?P`  CTitle goes here   Z 8c 8c1?  BCPEG323   Z 8c 8c1?  B*   Z\ 8c 8c1 ?@P`'  This is our 1st Level Bullet this is our 2nd level bullet this is our 3rd level bullet This is our next 1st Level Bullet this is our 2nd level bullet this is our 3rd level bullet$" ^B  6>?P`B  s *޽h ? X(=^y___PPT10Y+D=' = @B + mjicse4310  P(  j  s *1 ?s  0  Z|w0agag1 ? E 0 ^*we want this to be in font 11 and justify.+ +B  s *޽h ? X(=^80___PPT10.Hj   0(   B  s *޽h ? X(=^80___PPT10.H0$5  \TFp(  p p 3 rgֳgֳ ?    p C x-gֳgֳ ? v.  & @H p 0޽h ? 333gggy___PPT10Y+D=' = @B +5  \T0Fx(  x x 3 rLgֳgֳ ?    x C xgֳgֳ ?@  & @H x 0޽h ? 333gggy___PPT10Y+D=' = @B +  \TPF(    3 r|0gֳgֳ ?  0   C xT0gֳgֳ ?  0 & @H  0޽h ? 333ggg  \TpF(    3 r<gֳgֳ ?     C xgֳgֳ ?\d   & @H  0޽h ? 333ggg  VNF(    3 rh$gֳgֳ ?0     3 r3gֳgֳ ?   & @H  0޽h ? 333ggg    FM(   0 TA b? ?0h b$00   NH4gֳgֳ? }+Large and Fast: Exploiting Memory Hierarchy",P,gZ ,   N9gֳgֳ? 0w  Instruction and data miss rates for the DECStation 3100 when executing the different programs. The combined miss rate is the effective miss rate seen. It is obtained by weighting the instruction and data individual miss rates by the frequency of instruction and data references.  c2 (    H  0޽h ? 333ggg ! \TF(    3 rgֳgֳ ?     C x,gֳgֳ ?v  & @H  0޽h ? 333gggE " lEdEFD(    3 r8]gֳgֳ ?0 x  & @BF z1   7zI N g!  g!VN k!V  k!VxB B H1?kJTxB  H1?B!VVN gf  gfxB   H1?ghFxB   H1?>fxB   H1?A}xB   H1?=yN i   iVN i  ixB B H1?iHxB  H1?@VN i  ixB  H1?iHxB  H1?@xB  H1?xB  H1?N :  :l  <1?N  Tagֳgֳ?: KCPUb  N j  jl  <1?  Tggֳgֳ?j MCacheb    Tkgֳgֳ? KBusb  t  61?"`D   T8lgֳgֳ?eK#  lMemo- ry  b&   N 6  6VN :V   :VxB !B H1?:TxB " H1?VVN 6f # 6fxB $ H1?6hxB % H1? fxB & H1?|A|}xB ' H1?=yN 8 ( 8VN 8 ) 8xB *B H1?8xB + H1?VN 8 , 8xB - H1?8xB . H1?xB / H1?zzxB 0 H1?N ]: 1 ]:l 2 <1?gN 3 T H1?M K, xB ? H1?&bxB @ H1? " ^N @  A @ VN @ k B @ kxB CB H1?@b jxB D H1?B A kVN   E  xB F H1?b xB G H1?B  xB H H1?^xB I H1?| ^| N   J  l K <1?3  L Twgֳgֳ?  KCPUb   M Ngֳgֳ?-  KBusb  t N 61?"`  O Tgֳgֳ?S!I  PMemoryb  N r P rVN rZ Q rZxB RB H1?XxB S H1?rZVN jn T jnxB U H1?lxB V H1?jnxB W H1?ExB X H1?A}N k ? Y k ?r Z BG1?  [ Tgֳgֳ?k ? S Multiplexer b  N F  \ F VN F V ] F VxB ^B H1?oTxB _ H1?gF VVN fB  ` fB xB a H1?hkxB b H1?cfB xB c H1?A}xB d H1?=yN d   e d  VN h  Z f h  ZxB gB H1?h G XxB h H1??  ZVN d j  i d j xB j H1?d lC xB k H1?; j xB l H1? E xB m H1? A }N (   n (  VN ,  Z o ,  ZxB pB H1?,  XxB q H1?  ZVN ( j  r ( j xB s H1?( l xB t H1? j xB u H1?n En xB v H1? A }l w <1? 7 x Tgֳgֳ?r& ^ MCacheb  t y 61?"`&S z T vgֳgֳ? W Memory bank 0b   t { 61?"` | Tdgֳgֳ?z W Memory bank 1b   t } 61?"`4a ~ Txgֳgֳ? W Memory bank 2b   t  61?"`  Tgֳgֳ? W Memory bank 3b     Tgֳgֳ?q Y 1  l$a. One-word-wide memory organization%%b %   Tdgֳgֳ?U o  cb. Wide memory organizationb    Tgֳgֳ?zo  k#c. Interleaved memory organization$$b $   N0gֳgֳ? r"High-Bandwidth Design Alternatives ##gZ # H  0޽h ? 333ggg  L0   @?_ (    C xR 8c 8c1 ?P   p  H1))?X p  H1))?8 x   Z 8c 8c1?` @ Processor U p  H1))? p  H1))?`  v"  NG 1))? 8 v"   NG 1))?     Z$ 8c 8c1?(@ =ControlU   ZL 8c 8c1?   XDatapath U    Z  8c 8c1?p #  @MemoryU   Z  8c 8c1? ; =DevicesUv"  NG 1))? XX v"  NG 1))? X8   Z  8c 8c1?H  ;InputU  Z 8c 8c1?(   <OutputU  Zxaxa1?>S# *H  0޽h ? X(=^y___PPT10Y+D=' = @B + L0 C (  r  S P`    0 3 r0e0eA ?5% ?0P     Zxaxa1? T,$0 N Moore s Law (z a0  P,$@0  T!xaxa1?0 IProc 55%/year (2X/1.5yr)xR   HGrH Ir1?a,z :. O       ,$D0   T$&xaxa1?1. O  GDRAM 7%/year (2X/10yrs)xr   HGL HEI,1?:D 1 B   <(8c?0p ,$@0#  Z)xaxa1? ,$0 e1Processor-Memory Performance Gap (grows 50%/year)22H  0޽h ?/@    X(=^  ___PPT10 .%0+D ' = @B D ' = @BA?%,( < +O%,( < +D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(+p+0+ ++0+ +  L0  Ed(  dr d S EP`   ~ d s *\F@PF   d0 3 r0e0eA O?5% ?O  O  d NG1?`G  LClocks per instruction d N|L1?@  LClocks per DRAM accessH d 0޽h ? X(=^___PPT10i.`RF+D=' = @B +  L0 D}(  r  S TP`   ~  s *pU@K    ZW 8c 8c1 ?`,$0 1CPI = ideal CPI + average stalls per instruction = 1.1(cycle) + ( 0.30 (datamemops/instr) x 0.10 (miss/datamemop) x 50 (cycle/miss) ) = 1.1 cycle + 1.5 cycle = 2.6 so 58% of the time the processor is stalled waiting for memory! A 1% instruction miss rate would add an additional 0.5 to the CPI!@CC ,K   0 3 r0e0eA ?5% ?0    H  0޽h ? X(=^me___PPT10E.)6Jq+kHaD' = @B D' = @BA?%,( < +O%,( < +DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*2%(+8+0+ +  L0 0DP(  r  S hP`     S iP` <$0  H  0޽h ? X(=^v n ___PPT10N .*07+!lD' = @B D' = @BA?%,( < +O%,( < +Da' =%(%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*;%(Ds' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*<%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(+8+0+ +% L0 ~v`? (    TԔ? ` ,$D0   ntxaxaAo?10%  QSecond Level Cache (SRAM)x  PA8c?10% 00 ~  s *D9P   d  <8c?I  Z;xaxa1?P^R 9Controld  <8c?q!    Zd=xaxa1?   TDatapath d   <8c?`` \    Z5xaxa1?O$  KSecondary Memory (Disk)   <8c? f ,$D0   Zxaxa1?G,$0 DOn-Chip Components^B  6o?P ^B  6o? M d  <8c?J aA   ZZxaxa1? R  SRegFilex  PA8c?10% P0 x  PA8c?10%p   Z xaxa1?` f  JMain Memory (DRAM)   `Zp xaxa1?r U  B Data Cache  x  PA8c?10% P    `Zxaxa1?d  ] Instr Cache  x  PA8c?10% 0  @ T1?   <ITLB @ T1? @  <DTLB  B6'Ԕ?p` ,$D0 @ B81?4,$0 UeDRAM6'  Z" 8c 8c1?   "Speed (%cycles):  s 1 s 10 s 100 s 1,000 s8hU#V  Z( 8c 8c1? E jSize (bytes): 100 s K s 10K s M s G s to T sLqU  5'G1  TP0 8c 8c1?0 k Cost: highest lowest&lU]   Z4 8c 8c1 ? H 1By taking advantage of the principle of locality Can present the user with as much memory as is available in the cheapest technology at the speed offered by the fastest technologyH1 qK lK18c8XH  0޽h ?   ___PPT10 .+4D ' = @B D ' = @BA?%,( < +O%,( < +D ' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(|D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%('D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(+p+0+  ++0+ +Y! L0  ? (  d  <1?    `$Mxaxa1 ?P`   dR  <1? XB  0D1? ` #  <LO1? D ,$0 5Increasing distance from the processor in access time26*  <U1?P `  7L1$XB   0D1?@ XB   0D1? 0    <Y1?YP ` @ 7L2$   <]1?9 @@  A Main Memory     <a1?y P`  GSecondary MemoryB  6D1? ,$D0  H1?   = Processor B  <D1?Y Y ,$@0  <1? @p,$0 _+(Relative) size of the memory at each level,,z @``   @ ,$D0fB  6D1?@@`   <p1?@`  &Inclusive what is in L1$ is a subset of what is in L2$ is a subset of what is in MM that is a subset of is in SM&s j8  ) I  )  I lB  <D1? ) lB  <DjJ? i )lB  <DԔ?  I lB  <DjJ? I l  8-  8 - ,$D0  N 1? 8"  ^4-8 bytes (word)2   Bt 1? yM  ? 1 to 4 blocks  N1? Y -  o!1,024+ bytes (disk sector = page)2"  B1? m `8-32 bytes (block)2 H  0޽h ? U>=UU(  ___PPT10 +elD( ' = @B D ' = @BA?%,( < +O%,( < +D' =%(Du' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(+p+0+ ++0+ + L0 z@(    C x4' 8c 8c1 ?R+     C xN 8c 8c1 ? 0 *   t  ZX( 8c 8c1 ?` ,$0 Main Memory uses DRAM for size (density) High density (1 transistor cells), low power, cheap, slow Dynamic: needs to be  refreshed regularly (~ every 8 ms) 1% to 2% of the active cycles of the DRAM Addresses divided into 2 halves (row and column) RAS or Row Access Strobe triggering row decoder CAS or Column Access Strobe triggering column selector)u*1gu*1              d  <1?^B  6Do?ppXB @ 0D1? ^B  6Do?XB  @ 0D1?``^B   6Do?  XB  @ 0D1?`P   <l81?P < Dout[15-0]    <<1?l @ SRAM 2M x 16    <TA1?` w ; Din[15-0]   <D1?0  9Address  <G1? 0  = Chip select   <pK1?p  ? Output enable  <1? t > Write enable ^B  6D1?00^B  6D1?pp^B  6D1?  <l1?P 416  <T 1?PP 416  <x 1?P 421H  0޽h ? X(=^___PPT10+PQFDO' = @B D ' = @BA?%,( < +O%,( < +DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(+8+0+ + L0 `D$(  r  S P`   r  S @P`  H  0޽h ? X(=^___PPT10i.8v+D=' = @B +" L0 ?++I(    S ~! 8c 8c1 ?_   ~  VA1?20% |   Z# 8c 8c1?pH  JR o w D e c o d e rUd  <8c?X XB  08c?`h( `XB  08c?Ph( PXB  0p?@p @XB   08c?0h( 0XB   08c? h( XB   08c?h( XB   08c? h( XB   08c? h( dB  <Ԕ?    ZD. 8c 8c1? (  A row address U d  <8c? ( jB  BԔ? @@X  Z3 8c 8c1?p # Fdata bit or wordUXB  08c?@@ XB  08c?00 XB  08c?   XB  08c? XB  08c?  XB  08c?  XB  08c?     `$9 8c 8c 1? FRAM Cell ArrayUz  x     x ,$D0fB  61? l    Z> 8c 8c1?( x Eword (row) lineUz     ,$D0fB  61? <    ZC 8c 8c1? s Fbit (data) linesUz   !  ,$D0fB " 61?  D # T@Gxaxa1? r@Each intersection represents a 6-T SRAM cell or a 1-T DRAM cellAAXB $ 0o?  %  `L 8c 8c1? (  V Column Selector & I/O Circuits!! &  `O 8c 8c1?@ X  Bcolumn addressjB '@ BԔ? 0  ( TPxaxa1? ` 0 ,$D0 mOne memory row holds a block of data, so the column address selects the requested bit or word from that blockNnRXB ) 0o? 0 XB * 0p? 0 XB + 0jJ? 0 H  0޽h ? X(=^ w ___PPT10W +5D ' = @B D ' = @BA?%,( < +O%,( < +D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*!%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*(%(+8+0+( +), L0 8+0+?XX*(  F %Q B   0\\   VA1?20%IQ `B  08c?- `B  08c?-r r`B  0p?5b b`B  08c?-R R`B  08c?-B B`B   08c?-2 2 `B   08c?-" " `B   08c?-  `B   08c?: `B   08c?: `B  08c?: `B  08c?: `B  08c?: `B  08c?  : `B  08c?  : `B  0p?  B `B  0Do?%B    Zx  8c 8c1?  `  <data bit   Z 8c 8c1?0 S >data bit U   C xh 8c 8c1 ?l`     Z 8c 8c1?   JR o w D e c o d e rUd  <8c?* dB  <Ԕ? ee   Z 8c 8c1? e  A row address U   Z@ 8c 8c1?b   X Column Selector & I/O Circuits!U!d  <8c?:    Zd 8c 8c1? ]X  Dcolumn addressUdB @ <1? 0   Z  8c 8c1?0@  >data bit U  " Z( 8c 8c1?p#  Eword (row) lineU^B # 61?  $ Z, 8c 8c1? @c Fbit (data) linesU % T0xaxa1?! _-Each intersection represents a 1-T DRAM cell.. &  d2 8c 8c1 ?    pr ' H1? @  9. . .F %Q B  1 `P|  2 VA1?20%IQ `B 3 08c?- `B 4 08c?-r r`B 5 0p?5b b`B 6 08c?-R R`B 7 08c?-B B`B 8 08c?-2 2 `B 9 08c?-" " `B : 08c?-  `B ; 08c?: `B < 08c?: `B = 08c?: `B > 08c?: `B ? 08c?: `B @ 08c?  : `B A 08c?  : `B B 0p?  B `B C 0Do?%B  F %Q B  D %Q B  E VA1?20%IQ `B F 08c?- `B G 08c?-r r`B H 0p?5b b`B I 08c?-R R`B J 08c?-B B`B K 08c?-2 2 `B L 08c?-" " `B M 08c?-  `B N 08c?: `B O 08c?: `B P 08c?: `B Q 08c?: `B R 08c?: `B S 08c?  : `B T 08c?  : `B U 0p?  B `B V 0Do?%B   W  `\L 8c 8c 1?  FRAM Cell ArrayUjB X@ BԔ?  ^B ! 61? & H  0޽h ? X(=^y___PPT10Y+D=' = @B +e9 L0 33+3@jj2(    C x \ 8c 8c1 ?3      C xD] 8c 8c1 ?p   l   j ,$D0`B  08c?hHh`B  08c?(H(`B  08c?Xp `B  08c?X`0`B  08c?hh`B   08c?((`B   08c?p8 `B   08c?`80`B   08c?8 h h`B   08c?8 ( (  Zaxaxa1?hJ: ? Row Address fB  68c? P`B  08c?H H `B  08c?P X `B  08c?h x `B  08c? @ `B  08c?