memoria in pc · 2020. 6. 7. · •memoria virtuala utilizeaza discul ca parte a memoriei, astfel...

45
1 MEMORIA IN PC 1. Clasificarea memoriilor 2. Limitarile memoriei . Ierarhizarea 3. Managementul memoriei 4. Organizarea memoriei PC - ului in mod real 5. Aplicatii http://ocw.mit.edu/courses/electrical - engineering - and - computer - science/6 - 823 - computer - system - architecture - fall - 2005/lecture - note s/

Upload: others

Post on 21-Jan-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

1

MEMORIA IN PC

1. Clasificarea memoriilor

2. Limitarile memoriei. Ierarhizarea

3. Managementul memoriei

4. Organizarea memoriei PC-ului in mod real

5. Aplicatii

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-823-computer-system-architecture-fall-2005/lecture-notes/

Page 2: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

2

Page 3: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

333

1. CLASIFICAREA MEMORIILOR

Tipuri de Memorii

&

Dispozitive stocare

Primara

Secundara

Volatile

Registre

Cache (I, II, III)

RAM

SRAMDRAM SDRAMEDRAMEDOFLASH RAM

NevolatileROM

PROM

EPROMEEPROM, FLASH

Memorii MagneticeTapeHD, Zip DiskFDD

Memorii Optice

CD-ROM, CD-R, CD-RWDVD-ROM, DVD-R

DVD- RW

(Semiconductor – chip). Main Memory

(Devices)

2ns

5ms

~100ns

Page 4: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

4

Page 5: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

5

Page 6: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

6

Tehnologie Viteza Putere consumata Capacitate Cost

TTL + + - +

ECL ++ ++ -- ++

NMOS 0 - ++ --

CMOS - -- + -

Clasificarea diferitelor tipuri de memorii semiconductoare

Page 7: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

7*STT-RAM: Spin Transfer Torque Random Access Memory

Semiconductor Memory Technology Comparison

Page 8: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

8

Ce caracteristici fac ca un sistem de memorie sa fie bun?

2. Limitarile memoriei. Ierarhizarea

• Latenta = timpul pentru un acces singular (Memory access time >> Processor cycle time)

• Banda = numarul de accese/unitatea de timp –>Daca sunt m instructiuni load/store, 1 + m accese/instr.,( CPI = 1) cere cel putin 1 + m accese memorie/ciclu)

• Latenta redusa

• Banda mare

• Capacitate mare

• Numar mare de bancuri

Page 9: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

9

Legea lui Amdahl

• Performanta unui sistem este limitata de componenta cea mai lenta

• Decalajul de performanta dintre Procesor-Memorie

https://www.quora.com/Why-is-the-gap-between-the-CPU-and-the-main-memory-speed-widening

Page 10: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

10

Limitarile introduse de Memorie

PROBLEMA

– Frecventele procesoarelor continua sa creasca– Este nevoie de memorie care sa tina pasul cu procesoarele

• altfel, sunt prea multe intarzieri in pipeline – Este nevoie de memorii de mare capacitate ptr. a satisface nevoile

crescande ale aplicatiilor SW, paralelism– Memoria DRAM

• Capacitate mare la cost redus (GBs) – bine• Acces lent (10-100x de cicli procesor ) – slab

- Memoria SRAM • Capacitate mare este ft. scumpa (MBs) – slab• Acces rapid (1-10 ciclii procesor ) – bine

– Putem obtine capacitatea si costul DRAM la viteza de acces a SRAM?

Page 11: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

11

SOLUTIA :

Page 12: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

12

Level Access Time Typical Size Technology Managed By

Registers 1-3 ns <1 KB ? Custom CMOS Compiler

Level 1 Cache (on-chip) 2-8 ns 8 KB-128 KB SRAM Hardware

Level 2 Cache (off-chip) 5-12 ns 0.5 MB - 8 MB SRAM Hardware

Main Memory 10-60 ns 64 MB - 1 GB DRAM Operating System

Hard Disk3,000,000 -10,000,000 ns

20 - 100 GB MagneticOperating System/User

Page 13: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

3. Managementul Memoriei

CPU UMM MEMORIE

AdresaFizica

AdresaLogica

http://www.c-jump.com/CIS77/ASM/Memory/lecture.html#M77_0010_addressing

Page 14: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

MODURI de OPERARE

• Real-address mode- nativ MS-DOS

• Protected mode- mod nativ (Windows, Linux)

• Virtual-8086 mode- hibrid al modului Protejat- fiecare program are propriul procesor virtual 8086

• Management mode- managementul puterii, Securitate sistem, diagnostic

Page 15: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

• 1 MB RAM maximum adresabil (20-biti adresa)

• Aplicatiile pot accesa orice zona a memoriei

• Single-tasking

• Suportat de SO MS-DOS

• Orice program are acces la orice caracteristica hardware

3.1 MOD REAL de ADRESARE

Real mode segmentation

Page 16: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

Memoria Segmentata

• Adresarea memoriei segmentate: adresa fizica (lineara) este o combinatie a valorii de 16-biti a segmentului (*16) adunata cu 16-biti ai offset-ului

00000

10000

20000

30000

40000

50000

60000

70000

80000

90000

A0000

B0000

C0000

D0000

E0000

F0000

8000:0000

8000:FFFF

seg ofs

8000:0250

0250

un segment

(64K)

Adresa fizica:

80000h + 0250h = 80250h

Page 17: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

3.2 MODUL PROTEJAT

• 4 GB de DRAM adresabili (32-biti adresa) - (00000000 - 0FFFFFFFFh)

• Fiecare program are alocata o partitie de memorie care e protejata de alte programe

• Proiectat ptr. multitasking

• Suportat de Linux & MS-Windows

Page 18: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

MODUL PROTEJAT

• Tabele de descriptori de Segment

• Structura Programului

– Zone de cod, date, stiva

– CS, DS, SS descriptori de segment

– global descriptor table (GDT)

• Programele MASM utilizeaza modelul de memorie Microsoft flat

Page 19: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

Modelul de segmentare Flat

• Toate segmentele sunt mapate pe intreg spatiul de adresare fizica de 32-biti, cu cel putin 2 segmente unul ptr. date si unul ptr. cod

• global descriptor table (GDT)

Page 20: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

Modelul Multi-segment

• Fiecare program are un local descriptor table (LDT)

✓pastreaza descriptorul ptr. fiecare segment utilizat de program

3000

RAM

00003000

Local Descriptor Table

0002

00008000 000A

00026000 0010

base limit access

8000

26000

* 1000h

Page 21: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

Translatarea Adreselor

• Procesoarele IA-32 utilizeaza un proces in unul sau doi pasi de a converti o adresa logica intr-o locatie unica de memorie

• Primul pas combina o valoare de segment cu o variabla offset ptr. a crea o adresa lineara

• Al doilea pas (optional), numit translatarea paginii, converteste o adresa lineara intr-o adresa fizica

Page 22: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

a. Convertirea adresei Logice in adresa Lineara

• Selectorul de segment pointeaza la un segment descriptor, care contine

adresa de baza a unui segment de memorie

• Offset-ul de 32-biti al adresei logice este adunat la adresa de baza a

segmentului, generand o adresa lineara de 32-biti

Selector Offset

Logical address

Segment Descriptor

Descriptor table

+

GDTR/LDTR

(contains base address of

descriptor table)

Linear address

Page 23: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

Indexarea intr-o Tabela de Descriptori

• Fiecare descriptor de segment indexeaza in local descriptor table (LDT) al programului. Fiecare intrare in tabela este mapata la o adresalineara

Logical addresses

0018 0000003A

(unused)

DRAM

SS ESP

001A0000

0002A000

0001A000

00003000

Local Descriptor Table

0010 000001B6

0008 00002CD3

LDTR register

DS

18

10

08

00

(index)

Linear address space

IP

offset

Page 24: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

• Memoria virtuala utilizeaza discul ca parte a memoriei, astfelpermitand ca suma dimensiunilor programelor sa fie mai mare decatmemoria fizica

• La un moment dat numai anumite parti ale programului trebuiepastrate in memorie, in timp ce partile ramase sunt pastrate pe disc

• Memoria folosita de program este divizata in unitati mai mici numitepagini (4kbytes)

• In timp ce programul ruleaza, procesorul elibereaza selectiv paginileinactive din memorie si incarca alte pagini care sunt imediat cerute

b. Paginarea

Page 25: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

Translatarea Paginilor

• O adresa liniara este divizata in 3 campuri: page directory field, page table field

si page frame offset. CPU foloseste cele 3 campuri ptr. a calcula adresa fizica.

• SO mentine page directory si page table

• Translatarea paginilor: CPU converteste adresa lineara in adresa fizica

• Page fault: apare cand e nevoie de o pagina care nu este in memorie si CPU intrerupe programul

• Virtual memory manager (VMM) – este utilitarul SO care coordoneaza incarcarea sidescarcarea paginilor

• SO copiaza pagina in memorie si

programul reia executia

Directory Table Offset

Directory Entry

CR3

Page Directory

Page-Table Entry

Page Table

Physical Address

Page Frame

Linear Address

10 10 12

32physical base address of page directory

Page 26: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

27Modul de calcul al adresei fizice la 8086/286

in modul real de lucru

4. Organizarea memoriei in mod real de adresare

Page 27: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

28

Page 28: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

29

Circuit decodor pentru selectia memoriei

Page 29: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

30

Page 30: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

31

Page 31: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

32Interfata cu memoria în modul "minim" (MN/MX="1")

Page 32: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

33Interfata cu memoria în modul "maxim" (MN/MX=„0")

Page 33: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

34

Page 34: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

35

4. Memoria PC in modul real de adresare

- Memoria de baza 0-9FFFFh- Upper Memory Area-UMA (A0000h-FFFFFh)

→ ROM Shadowing→ Mem. Expandata (EMS)*→ ROM Scan

- High Memory Area-HMA (100000h-10FFEFh) - eXtended Memory Specification-XMS(>1Mo)

•EMS=Memorie aditionala in zona UMA accesibila

prin “bank-switching”

•FFFF:0…….FFFF:FFFF FFFF0+•FFFF0….. 10FFEF FFFF

10FFEF

Page 35: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

36

Page 36: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

37

Harta memoriei intr-un PC-AT

REFERINTE

http://savage.net.au/Ron/html/hex-ram-tutorial.html

http://en.wikipedia.org/wiki/Upper_Memory_Area

https://software.intel.com/en-us/articles/intelr-memory-latency-checker

Page 37: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

38

5. Aplicatie. Conectati la un PC (pe ISA BUS):

16kB de EPROM (2x 2764) incepand cu adresa CC000h si

16kB (2x6264) SRAM la adresa D0000h.

2764- 64K (8K x 8) UV EPROM

Page 38: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

39

Page 39: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

40

11 0 0 11 x x x xx x

Page 40: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

41

1

1

1

1

0

0

Page 41: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

43

Page 42: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

44

6264 SRAM

Page 43: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

45

Page 44: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

46

Page 45: MEMORIA IN PC · 2020. 6. 7. · •Memoria virtuala utilizeaza discul ca parte a memoriei, astfel permitand ca suma dimensiunilor programelor sa fie mai mare decat memoria fizica

47

Tema. Studiati schema de conectarea a memoriei.