Memorii în Sisteme Embedded. Tipuri de memorii. Arhitectura memoriilor.

Similar documents
2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Metrici LPR interfatare cu Barix Barionet 50 -

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

Procesarea Imaginilor

Sisteme de operare 19. Gestiunea memoriei

Transmiterea datelor prin reteaua electrica

Versionare - GIT ALIN ZAMFIROIU

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Mecanismul de decontare a cererilor de plata

GHID DE TERMENI MEDIA

Modalitǎţi de clasificare a datelor cantitative

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

Subiecte Clasa a VI-a

Olimpiad«Estonia, 2003

Solutii avansate pentru testarea si diagnoza masinilor industriale.

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Propuneri pentru teme de licență

Pentru fiecare dintre următorii itemi alegeți litera corespunzătoare răspunsului corect.

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Tipuri și nivele de paralelism Clasificarea arhitecturilor paralele Arhitecturi vectoriale Arhitecturi SIMD Arhitecturi sistolice

Printesa fluture. Мобильный портал WAP версия: wap.altmaster.ru

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

SAG MITTIGATION TECHNICS USING DSTATCOMS

Cuprins Neculoiu Paul

Capete terminale şi adaptoare pentru cabluri de medie tensiune. Fabricaţie Südkabel Germania

Multicore Multiprocesoare Cluster-e

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

Software Process and Life Cycle

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

EN teava vopsita cu capete canelate tip VICTAULIC

Managementul Proiectelor Software Metode de dezvoltare

The First TST for the JBMO Satu Mare, April 6, 2018

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

manivelă blocare a oglinzii ajustare înclinare

Evoluția pieței de capital din România. 09 iunie 2018

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

Class D Power Amplifiers

Auditul financiar la IMM-uri: de la limitare la oportunitate

A NOVEL ACTIVE INDUCTOR WITH VOLTAGE CONTROLLED QUALITY FACTOR AND SELF-RESONANT FREQUENCY

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

USING SERIAL INDUSTRIAL ROBOTS IN CNC MILLING PROCESESS

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

PROIECTAREA ALGORITMILOR

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

Eficiența energetică în industria românească

Itemi Sisteme de Operare

INPUT MODELLING USING STATISTICAL DISTRIBUTIONS AND ARENA SOFTWARE

LINEAR VOLTAGE-TO-CURRENT CONVERTER WITH SMALL AREA

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

DE CE SĂ DEPOZITAŢI LA NOI?

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

METODE FIZICE DE MĂSURĂ ŞI CONTROL NEDISTRUCTIV. Inspecţia vizuală este, de departe, cea mai utilizată MCN, fiind de obicei primul pas într-o

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii

Universitatea Politehnica București. Facultatea de Electronică, Telecomunicații și Tehnologia Informației

ALGORITMI DE GESTIUNE A PAGINILOR DE MEMORIE

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales

Documentaţie Tehnică

ISBN-13:

PACHETE DE PROMOVARE

COMUNICAȚII INFORMATIZARE

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Lucrarea Nr.1. Sisteme de operare. Generalitati

Baze de date distribuite și mobile

Unit level 5 Credit value 15. Introduction. Learning Outcomes

STARS! Students acting to reduce speed Final report

Anexa nr. 1 la Hotărârea nr. 245 din Standarde moldovenești adoptate

Update firmware aparat foto

Lecture 12 Memory Circuits. Memory Architecture: Decoders. Semiconductor Memory Classification. Array-Structured Memory Architecture RWM NVRWM ROM

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Lecture #29. Moore s Law

Lucrarea nr. 1. Automatizarea unui reactor de etilare

Reţele Neuronale Artificiale în MATLAB

Utilizarea firelor de executie în Java si C#

2.3 PROTOCOLUL DE MESAJE DE CONTROL PENTRU INTERNET (ICMP)

Homework 10 posted just for practice. Office hours next week, schedule TBD. HKN review today. Your feedback is important!

Implementation of a Temperature Control System using ARDUINO

Greedy FTL. Jinyong Ha Computer Systems Laboratory Sungkyunkwan University

Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell

4. Asignarea adreselor IP

2. ALOCAREA RESURSELOR UTILIZÂND SISTEMUL INFORMATIC MICRSOFT PROJECT 2003

REAL TIME QUALITY CONTROL OF THE HEATSET OFFSET PRINTING PROCESS

The driving force for your business.

Manual Limba Romana Clasa 5 Editura Humanitas File Type

F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5.

Managementul referinţelor cu

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

Prelucrarea numerică a semnalelor

testo 926 Instrument complet pentru măsurarea temperaturii

A Compared Aproach: ASP versus PHP

Transcription:

Memorii în Sisteme Embedded Tipuri de memorii. Arhitectura memoriilor.

De ce avem nevoie de memorii în sisteme embedded? Stocarea datelor Temporar Pe termen lung Comunicare între componentele programelor Comunicare cu senzori și actuatoare Ce tipuri de memorii cunoașteți? Designul Sistemelor Embedded 2

Constrângeri față de sistemele PC Dimensiuni reduse datorită costurilor și a constrângerilor de spațiu Consum de putere preferabil cât mai redus Fiabilitate și siguranță necesare în special în aplicații critice. (Sistemele embedded nu au voie sa cedeze!) Designul Sistemelor Embedded 3

Arhitecturi de memorii Tipuri de memorii: Volatile, non-volatile Hărți de memorie: Paginare, Arhitecturi Hardvard, I/O mapat în memorie Organizarea memoriei: Alocare statică, Stivă, Heap Ierarhii de memorii: Cache, scratchpad, memorie virtuală Mecanisme de protecție: ECC, securitate Designul Sistemelor Embedded 4

Tipuri de memorii Random Access Memory (RAM) Pot fi citite și scrise fără mecanisme de ștergere Memorie volatilă: își pierde conținutul după scoaterea de sub tensiune Imediat după alimentare conține valori aleatoare Folosite pentru manipularea datelor temporare folosite de programe sau pentru încărcarea temporară a programelor din memoria non-volatilă Read Only Memory (ROM) Citirea nu necesită pași suplimentari Pentru scriere este necesară reprogramarea care presupune operațiuni speciale (ștergere + scriere) Memorie non-volatilă = își păstreaza conținutul chiar și fără alimientare Folosite pentru stocarea programelor sau a datelor Număr limitat de rescrieri Designul Sistemelor Embedded 5

Tipuri de memorii RAM SRAM (Static Random-Access Memory): Rapide, timp de acces deterministic Consum mai mare de putere și densitate redusă față de DRAM Folosită pentru cache, scratchpad și memorii mici embedded DRAM (Dynamic Random-Access Memory): Latențe mai mari decât în cazul SRAM Timpul de acces depinde de secvența adreselor Densitate mai mare față de SRAM -> capacitate mai mare Necesită reîmprospătare periodică (~ 64ms) Folosită în general ca memorie principală Designul Sistemelor Embedded 6

Securitate: Remanența datelor in RAM Remanența datelor din RAM este afectată de temperatură Halderman, J. Alex, et al. Lest we remember: cold-boot attacks on encryption keys. Communications of the ACM 52.5 (2009): 91-98. Designul Sistemelor Embedded 7

Tipuri de memorii ROM Primele tipuri de memorii ROM nu erau reprogramabile: ROM - pre-programate în cursul procesului de fabricație PROM (Programmable ROM) - programabile o singură dată EPROM (Erasable Programmable ROM) - pot fi șterse prin expunere la lumină UV EEPROM (Electrically EPROM) IDT6116SA datasheet Designul Sistemelor Embedded 8

Memorii Flash Din punct de vedere tehnic, memoriile flash sunt o categorie aparte de memorii EEPROM EEPROM reprogramabil la nivel de blocuri de mici dimensiuni (byte/word) Flash reprogramabil în blocuri/pagini de mari dimensiuni (KB, MB) Tipuri de memorii Flash NAND NOR MSP430 decalpsulat (http://43oh.com/2010/12/chip-porn-msp430-with-it-packaging-off/) Designul Sistemelor Embedded 9

Memorii NAND Micron NAND Flash (SPI) - MT29F1G01AAADD Avantaje: Rapiditate în ștergere, scriere și citire Cicluri de ștergere 100.000-1.000.000 Durată de viață de 10 ori mai mare decât în cazul NOR Preț scăzut Dimensiuni tipice mari sute de MB, GB Dezavantaje: Siguranță scăzută, necesită management pentru Bad blocks Utilizare complexă Designul Sistemelor Embedded 10

Memorii NOR Micron NOR Flash (SPI) - N25Q00AA Avantaje: Ceva mai rapid în citire față de NAND Siguranță mai bună față de NAND Permite acces aleator Ușurință în utilizare Dezavantaje: Foarte încet în ștergere, încet în scriere Cicluri de ștergere 10.000-100.000 Durată de viață 10% din durata de viața a NAND Preț scăzut Dimensiuni tipice reduse: zeci de MB Designul Sistemelor Embedded 11

Organizarea memoriei interne spațiul de adresare memoriile folosite într-un sistem trebuie să fie mapate în zona adresabilă de către CPU capacitatea de adresare a unui CPU e dată de lațimea bus-ului de adrese o parte a spațiului de adresare este rezervată pentru regiștri și vectorul de întreruperi exemplu: un CPU cu 16 linii de adrese poate adresa zone de memorie într-un spațiu de 2 16 = 64KBytes Designul Sistemelor Embedded 12

Organizarea memoriei interne: extinderea capacității de adresare adresarea directă este limitată de numărul de linii de adrese capacitatea de adresare a unui CPU se poate extinde prin paginarea memoriei: o parte a spațiului de adresare este folosită ca o fereastră prin fereastra de memorie se poate adresa direct la un moment dat o porțiune dintr-o zonă mai mare de memorie schimbarea paginii controlează zona accesibilă prin fereastră Designul Sistemelor Embedded 13

Studiu de caz - Memoria internă a microcontrollerului S12 Microcontroller-ul S12 microcontroller pentru aplicații automotive și industriale microcontroller pe 16-biți memorie internă: 1-64KB RAM, 16-1000KB Flash, 0-8KB EEPROM Designul Sistemelor Embedded 14

Studiu de caz - Memoria internă a microcontrollerului S12 Spațiul de adresare limitat la 64KB Folosește paginare pentru accesarea memoriei Flash și EEPROM Designul Sistemelor Embedded 15

Studiu de caz - Memoria interna a microcontrollerului S12 Dimensiune ferestrei - 16K Memoria Flash este divizată în blocuri de dimensiunea ferestrei = 16K Designul Sistemelor Embedded 16

Un alt exemplu: ATmega48/88/168/328 Microcontrollerul Atmega: Binecunoscut datorită plăcilor de dezvoltare din gama Arduino Microcontroller pe 8 biți, adresare pe 16-biți Memorie internă: 512B-2KB RAM, 4-32KB Flash, 256B-1KB EEPROM Designul Sistemelor Embedded 17

Un alt exemplu: ATmega48/88/168/328 Arhitectură Harvard fiecare tip de memorie (memorie de date și memorie program) este considerată ca fiind o entitate separată conectată prin linii distincte Avantaj: procesorul poate să acceseze memoria de date concomitent cu memoria program Designul Sistemelor Embedded 18

Întrebări De ce spunem că S12 este un microcontroller pe 16 biți? Dar Atmega unul pe 8? De ce folosim memoria volatilă? Nu am putea să folosim doar memorie non-volatilă? Designul Sistemelor Embedded 19

Utilizarea memoriei de date Memorie alocată static Compilatorul alege adresa la care să stocheze o variabilă Stivă Memorie alocată dinamic pe principiul LIFO cu management automat Heap Memorie alocată dinamic fără management automat Designul Sistemelor Embedded 20

Memorie alocată static char c; int main(void) { c = D ; } Compilatorul alege adresa la care să stocheze variabila c, variabila fiind accesibilă pe toată durata execuției programului din orice context. void example(void) { static char c = D ; } Compilatorul alege adresa la care să stocheze variabila c, variabila fiind accesibilă pe toată durata execuției programului doar în cadrul funcției example. Designul Sistemelor Embedded 21

Variabile în stivă ( variabile automate ) void example(void) { } char c = D ; Apelul funcției example duce la atribuirea unei adrese în stivă pentru c prin decrementarea lui SP (stack pointer). Ieșirea din funcție duce la eliberarea memoriei (SP incrementat) variabila existând doarpe durata execuției funcției example(). Designul Sistemelor Embedded 22

Alocarea dinamică a memoriei în Heap Sistemele de operare oferă posibilitatea alocării dinamice a memoriei într-o zonă numită heap. Managementul defectuos al memoriei (malloc(), free()) poate cauza multe probleme în sisteme embedded: Memory leak (memoria alocată nu este eliberată) Fragmentarea memoriei (segmentele alocabile devin tot mai mici) Tehnici automate ( garbage collection ) necesită de multe ori oprirea execuției și reorganizarea memoriei alocate. Inacceptabil pentru aplicații în timp-real. Designul Sistemelor Embedded 23

Ierarhii de memorii Cache Un segment relativ mic de memorie implementat de obicei în SRAM ce reține date recent utilizate pentru a ajuta la creșterea vitezei de acces la date Scratchpad Zonă de memorie rapidă folosită la memorarea temporară a unor calcule, date sau alte componente în curs de operare Software-ul dictează ce se memorează în scratchpad Designul Sistemelor Embedded 24

Mecanisme de protecție - ECC ECC (Error Correction Codes) Unele memorii includ module ECC Necesită locații suplimentare de memorie și circuistică pentru identificare și corecție cele mai des întâlnite pot detecta și corecta erori de 1 bit/word și pot detecta erori de 2 biți costuri suplimentare Designul Sistemelor Embedded 25

Mecanisme de protecție - Securitate Securitate Protecția zonelor de memorie anumite sectoare din memoria FLASH și EEPROM pot fi protejate la scriere sectoarele protejate nu pot fi șterse decât prin ștergerea întregului chip de memorie introducerea sau înlăturarea protecției se face prin setarea regiștrilor asociați Designul Sistemelor Embedded 26

Competiție design Maxim https://www.allaboutcircuits.com/giveaways/get-creativemakewithmaxim-design-contest/ Propuneți o idee de proiect realizabil cu placa de dezvoltare MAX32630FTHR Bonus +1p la nota de laborator pentru participare Primele 50 idei de proiect primesc de la Maxim o placa Sunteți între primii 50 = +1p la examen Participarea se dovedeste prin: menționarea numelui de utilizator Menționarea datei de postare a propunerii Includerea in textul propunerii a temenului cyber-physical system. De ex.: I intend to use the board to design a cyberphysical system used for health monitoring. Designul Sistemelor Embedded 27