Single Address Space o RW RO EX NO o Kernel vfat.o Single - - PowerPoint PPT Presentation

single address space
SMART_READER_LITE
LIVE PREVIEW

Single Address Space o RW RO EX NO o Kernel vfat.o Single - - PowerPoint PPT Presentation

Single Address Space o RW RO EX NO o Kernel vfat.o Single Address Space o RW RO EX o NO Kernel vfat.o Single Address Space RW RO mprotect o EX NO Kernel (PD-ID=0) vfat.o (PD-ID=1) o o o o o o o o o o o o o


slide-1
SLIDE 1
slide-2
SLIDE 2
  • Single Address Space

Kernel vfat.o

RW RO EX NO

slide-3
SLIDE 3
  • Kernel

vfat.o

RW RO EX NO

Single Address Space

slide-4
SLIDE 4
  • mprotect

Kernel (PD-ID=0) vfat.o (PD-ID=1)

RW RO EX NO

Single Address Space

slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8

Protection Fault Linear Addr. VA Seg. Regs TLB (opt.) PA

slide-9
SLIDE 9
  • Protection

Fault Linear Addr. VA TLB (opt.) PA MMP

slide-10
SLIDE 10

Memory

Permissions Table

Refill

CPU

Protection Lookaside Buffer Domain ID (PD-ID)

  • Perm. Table Base

Permissions Table

slide-11
SLIDE 11
slide-12
SLIDE 12

… … … …

P D D P D

P D D D D

P D D D P

2 bits per sub-block 1st level 256KB sub-blocks 2nd level 256B sub-blocks 3rd level – 4B sub-blk

slide-13
SLIDE 13

… … …

P D D P D

P D D D D

D D D P

2 bits per sub-block 1st level 256KB sub-blocks 2nd level 256B sub-blocks 3rd level – 4B sub-blk

D

slide-14
SLIDE 14

… …

P D D P D

P D D D D

2 bits per sub-block 1st level 256KB sub-blocks 2nd level 256B sub-blocks 3rd level – 4B sub-blk 0-256KB no perm. …

D D D D D

slide-15
SLIDE 15
  • Naive

Entries Compressed Entries Memory Words

slide-16
SLIDE 16

Memory

Permissions Table

Refill

CPU

Protection Lookaside Buffer

  • Perm. Table Base

Protection Lookaside Buffer Domain ID (PD-ID)

slide-17
SLIDE 17
slide-18
SLIDE 18

Instruction + RS IMM PLB Tag Perm Tab. Ent. OP

Addr Regs

Read/Write OK Fault Access Perm. Table in Memory Hit? No Yes PD-ID

slide-19
SLIDE 19
  • D

vs. 1st level or 2nd level

slide-20
SLIDE 20
  • 0x07 XX XX

0x09 87 XX 0x09 20 58

PLB

(Xs are don’t-care bits)

Tag (26 bits)

  • Perm. Table Ent.

D D

1st level ent. 2nd level ent. 3rd level ent.

  • PD-ID
slide-21
SLIDE 21

Memory

Permissions Table

Refill

CPU

Protection Lookaside Buffer

  • Perm. Table Base

Sidecars

refill

Sidecars Domain ID (PD-ID)

slide-22
SLIDE 22
slide-23
SLIDE 23

Instruction + RS IMM OP

Addr Regs

Read/Write OK Fault Access PLB Base Bound Perm Sidecar Regs Base ≥ Addr. ≥ Bound No Yes

slide-24
SLIDE 24
  • gcc –O3 (egcs-1.0.3)
slide-25
SLIDE 25
  • 1-40%(12%)

Sidecar miss rate 0.02-0.22% 0.04-0.62% Table size / App. data 0.00-2.59% 0.00-0.56%

  • Ref. to MMP tables

Application refs 60 Entry TLB 60 Entry PLB

slide-26
SLIDE 26
slide-27
SLIDE 27

0.4- 8.3% Table size / App. data 0.6-11.0% Table references eliminated by sidecars 0.0- 7.5% (0.1-19%)

  • Ref. to MMP tables

Application refs 60 Entry PLB

slide-28
SLIDE 28
  • Protection

Fault Linear Addr. VA TLB (opt.) PA MMP MMP Trans Unit

slide-29
SLIDE 29

Kernel a user Body 1 Head 1 Body 0 Head 0 Body 0 Body 1 Single Address Space

slide-30
SLIDE 30
  • Variable sized

pool of translation records +0x9583F …

PT

3rd level table

New ptr. type

slide-31
SLIDE 31

read

slide-32
SLIDE 32
slide-33
SLIDE 33
slide-34
SLIDE 34