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

Post on 21-Jan-2021

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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/

2

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

4

5

6

Tehnologie Viteza Putere consumata Capacitate Cost

TTL + + - +

ECL ++ ++ -- ++

NMOS 0 - ++ --

CMOS - -- + -

Clasificarea diferitelor tipuri de memorii semiconductoare

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

Semiconductor Memory Technology Comparison

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

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

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?

11

SOLUTIA :

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

3. Managementul Memoriei

CPU UMM MEMORIE

AdresaFizica

AdresaLogica

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

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

• 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

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

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

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

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)

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

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

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

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

• 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

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

27Modul de calcul al adresei fizice la 8086/286

in modul real de lucru

4. Organizarea memoriei in mod real de adresare

28

29

Circuit decodor pentru selectia memoriei

30

31

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

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

34

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

36

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

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

39

40

11 0 0 11 x x x xx x

41

1

1

1

1

0

0

43

44

6264 SRAM

45

46

47

Tema. Studiati schema de conectarea a memoriei.

top related