Sunteți pe pagina 1din 95

Curs -ASC

Structura i funcionarea
calculatorului
Microcalculatorul, structurat ca o main
VON NEUMANN, este un sistem
programabil de prelucrarea informaiei
care are dou componente inseparabile i
definitorii:
hardware i software.
Hardware
Termenul desemneaz componentele mecanice i
electronice ale unui calculator (inclusiv
echipamentele periferice).
Structura hardware a unui calculator conine:
microprocesorul dispozitiv de comand,
executie;
memoria (intern i extern);
echipamente periferice (periferice de intrare,
periferice de ieire).
Componente de baz
Pori logice dispozitive care produc rezultatul
unei operaii logice (and, or)
Circuite basculante bistabile (flip-flop) circuite
care au la ieire una din cele dou valori fizice
posibile (0 sau 1). Ieirea rmne stabil pn
cnd un impuls de la alt circuit are ca efect
comutarea lui la cealalt valoare stocheaz un
bit
Cip conine milioane de cbb (circuite
basculante bistabile)
Tehnologie
Cbb fiind electronice pot fi acionate mai rapid
dect cele pe suport magnetic sau optic. De
aceea sunt folosite pentru construcia
componentelor interne ale calculatorului.
Cele pe suport magnetic sau care folosesc laser
sunt folosite pentru componente externe
deoarece chiar dac sunt mai lente au avantajul
c pstreaz informaia i dup oprirea sursei
de curent.
Structura i funcionarea
calculatorului - continuare
Pe scurt
Structura unui microcalculator. Definitii
Componenta hardware; blocurile funcionale
Unitatea Central de Prelucrare - PUG, coprocesoare
aritmetice, procesoare digitale de semnal, CISC, RISC.
Memoria - formatul memoriei, coninut / adres, harta
memoriei, pagini, "segmente, memorie de date, memorie
de program.
Dispozitive de I/O - port de intrare/ieire.
Magistral date, adrese, control.
Componenta software
Sisteme de operare / Aplicaii - instruciunea, setul de
instruciuni, program.
Nivele de abstractizare limbaje de nivel nalt, limbaj de
asamblare, cod main.
Organizarea unitilor de
memorie programabile
(registre, memorie);
Reprezentarea informaiei n
sistemele digitale;
Setul de instruciuni;
Formatul instruciunilor;
Moduri de adresare i acces al
datelor i instruciunilor;
ntreruperi caracteristice.
Arhitectura sistemelor de calcul
Arhitectura unui sistem de calcul definete:
CE trebuie s fac maina din punct de vedere logic
ISA (Instruction Set Architecture) Arhitectura Setului de Instruciuni
CUM se implementeaz ISA, implementare fizic
MO (Machine Organization) Organizarea Mainii
Aplicaii
(ex. Netscape, Matlab, Word)
Sisteme de operare
(ex. Unix, Windows)
Compilatoare
Asambloare
Procesor Memorie Dispozitive I/O
Magistrale de date i control
Proiectare digital
Proiectarea circuitelor
Tranzistoare, Layout-ul IC
Aspecte influenate
de arhitectura
setului de
instruciuni
A. Componenta hardware.
Blocuri funcionale
Registre, memorii, porturi de intrare/iesire
Structura de baza a unui microcalculator
Memorie date Memorie program
De la / la periferice
Microrocesor
Arhitectura masinii von Neumann
Mem
U
Cmd
UAL
RG
Interfata
I
EP
I
Interfata
O
EP
O
Flux Date
Flux
Cmd/Stari
UCP
UC
MB
SC
Legenda
UCP = {RG, UAL, U
Cmd
} = Unitatea Centrala de Prelucrare
UC = {UCP, M} = Unitatea Centrala
MB = {UC, I/E} = Masina de Baza
SC = {MB, EP, Software de Baza} = Sistem de Calcul
Diagrame bloc pentru exemplificarea
deosebirilor dintre arhitecturile:
(a)von Neumann i (b) Harvard.
Arhitecturi
Arhitectura Harvard :
- organizare cu magistrale separate pentru date i instruciuni este mai
rapid din punct de vedere al vitezei de funcionare.
- au o magistral extern unic de date i instruciuni, dar magistrale interne (i
circuite de memorie tampon locale) separate pentru date i instruciuni.
Avantajele ale unei magistrale unice de
date i instruciuni (arhitectura Neumann):
folosirea unei memorie unice pentru
stocarea datelor i instruciunilor (memoria
principal, extern procesorului).
rezult simplificarea UCP din punctul
de vedere al automatului de adresare
a memoriei i al numrului de registre
implicate.
crete flexibilitatea sistemului, pentru
c nu exista restricii privind adresele
de stocare a datelor i instruciunilor n
memoria principal.
Caracteristicile de baza ale arhitecturii Von Neumann:
Microprocesorul constituie Unitatea Central de Prelucrare a unui
sistem avnd schema bloc funcional din figur. El concentreaz i
funcia de prelucrare i pe cea de comand. Celelalte componente ale
sistemului nu au putere de decizie.
Memoria nu controleaz i nici nu e necesar s controleze semnificaia
informaiei pe care o deine i modul n care este organizat logic.
Legtura dintre blocuri este asigurat de magistral
- trei componente funcionale
Funcionarea sistemului se face pe baza unor programe alctuite din
secvene de instruciuni. Acestea sunt citite din memorie de ctre
microprocesor, recunoscute i apoi executate.
Microprocesor (P) (1)
este "creierul" calculatorului.
controleaz i comand toate operaiile din calculator:
Extrage in mod secvential (rnd pe rnd) instruciunile programelor
(cu exceptia celor de ramificare) si datele (operanzii) din memoria
principala (interna) a calculatorului,,
Decodific instructiunile
Executa instructiunile extrase si decodificate.
Transfera, daca este cazul, rezultatele din registrele CPU in memorie
Identifica urmatoarea instructiune de executat
Exeplificare:
Citeste 1 instructiune din memorie
O decodifica
O executa
Citeste eventualii operanzi
Ex: adunare citeste cele doua numere
Scrie eventual rezultatul in memorie
Trece la urmatoarea instructiune
Microprocesorul are dou componente principale:
unitatea de comand (UC)
unitatea aritmetic i logic (UAL).
Instruciune: informaie codificat (binar) prin care se impune microprocesorului desfurarea unei
aciuni specifice.
FIG. Schema bloc care
indic funcionarea ciclic a
procesorului
Microprocesor (2)
Unitatea de comand (UC) controleaz funcionarea
tuturor componentelor calculatorului.
Unitatea aritmetic i logic (ALU) realizeaz
operaiile aritmetice i deciziile logice.
Parametrii care caracterizeaz unitatea de comand:
numrul de instruciuni,
lungimea unei instruciuni
viteza de execuie.
Microprocesor (3)
Instruciunile la nivelul UC i ALU (scriere, citire,
operaii logice) sunt instruciuni n cod-main.
Un program este o secven de astfel de instruciuni
stocate n memoria intern
Instruciunile n cod main i sistemul de codificare
constituie limbajul main care definete modul n
care comunicm calculatorului algoritmii pe care va
trebui s i execute.
Ce este o instructiune?
In limbaj de nivel inalt:
c=a+b;
In limbaj de asamblare (scris direct sau
prin compilare):
movf f,d
addwf f,d
movwf f
In limbaj masina (prin asamblor/ linker):
01101111001001101110010
Portabil
Specific unui uP
SET de INSTR
Ex de set de instr: PIC16 uC
Byte Oriented Operations Bit Oriented Operations
addwf f,d
andwf f,d
clrf f
clrw -
comf f,d
decf f,d
decfsz f,d
incf f,d
incfsz f,d
iorwf f,d
movf f,d
movwf f
nop -
rlf f,d
rrf f,d
subwf f,d
swapf f,d
xorwf f,d
Add W and f
AND W with f
Clear f
Clear W
Complement f
Decrement f
Decrement f, Skip if 0
Increment f
Increment f, Skip if 0
Inclusive OR W with f
Move f
Move W to f
No Operation
Rotate Left f through Carry
Rotate Right f through Carry
Subtract W from f
Swap nibbles in f
Exclusive OR W with f
bcf f,b
bsf f,b
btfsc f,b
btfss f,b
Bit Clear f
Bit Set f
Bit Test f, Skip if Clear
Bit Test f, Skip if Set
Literal and Control Operations
addlw k
andlw k
call k
clrwdt -
goto k
iorlw k
movlw k
retfie -
retlw k
return -
sleep -
sublw k
xorlw k
Add literal and W
AND literal with W
Call subroutine
Clear Watchdog Timer
Go to address
Inclusive OR literal with W
Move literal to W
Return from interrupt
Return with literal in W
Return from Subroutine
Go into standby mode
Subtract W from literal
Exclusive OR literal with W
Microprocesor (4)
O instruciune cod-main are dou cmpuri
Cod operaie (ex. or, and,etc.)
Operand (valoarea unui operand sau adresa valorii)
Microprocesor (5)
Pentru stocarea temporar a datelor cu care
lucreaz UC are registre necesare pentru
realizarea imediat a unor operaii
Memoria intern stocarea datelor necesare pe
termen scurt
Memoria extern stocare pe termen lung
Registre
Entitati de stocare a datelor:
registre:
intim legate de UCP
adresate prin nume (ex: AX,BX, R0, R1, SP)
numar redus de registre (1..32)
timp de acces minim !!!
registre:
generale: folosite pt. operatii aritmetice si logice
speciale: au functii determinate (ex: control, stare, pt.
adresare, pt. testare, etc.)
Registre de baza
Registru de instructiune (RI). Dupa ciitirea instructiunii curente din mem, aceasta
este adusa in RI. Instructiune este formata din doua campuri: OPECODE si
ADRESA
Registru de functie (RF). Campul de OPECODE se transfer in RF pentru
decodificare
Registrul de adrese (RA). Contine adresa logica a operandului. Campul de
Adresa din instructiune se transfera in RA.
Registrul acumulator (ACC). Face parte din ALU fiind cea mai importanta
componenta care contine un operand si apoi rezultatul in urma operatiilor logice
si aritmetice
Registrul operand. Face parte din ALU si are rolul de a memora temporar cel de-
al doilea operand. Mai are si denumirea de registru tampon.
Numaratorul de program (PC) componenta a UC, se mai numeste si poiner de
instructiuni. In faza de Fetch (extragere-aducere a codului operaiei), la pasul 4 are loc
incrementarea PC pt a indica adresa urmatoarei instructiuni de executat.
Registrul de stare sau flag-uri. set de biti de conditie, reprezentand diferite
caracteristici ale rezultatului.
Structur de calculator, format din UCP i memorie principal, cu
indicarea circuitelor tampon la interfaa procesorului cu exteriorul
Execuia unui program ciclul main
Extragere UC solicit memoriei principale s
furnizeze urmtoarea instruciune care va fi
executat; UC are adresa de memorie a
instruciunii care va fi executat n registrul
contorului programului PC. UC plaseaz
instruciunea din memorie n registrul de
instruciuni (RI) i incrementeaz registrul
contorului programului PC, pentru a pregti adresa
urmtoarei instruciuni.
1. Decodificare analiza cmpului cod- operaie i
operand.
2. Execuie realizarea aciunilor conform
instruciunii decodificate
3. Reluarea ciclului.
Exemplu
Dezvoltarea funcional a unui P pe
16 bii de uz general tipic
Structura registrelor
Structura registrelor pentru Intel 8086
Unitatea de execuie:
prelucreaz operanzii;
conine registrele generale i ALU;
accept informaiile aferente instruciunilor deja aduse de ctre
BIU;
primete operanzii de la BIU;
trimite rezultatele la BIU;
conine unitatea de control al microprocesorului.
Unitatea de interfa cu magistrala:
furnizeaz (calculeaz) adrese pentru instruciuni i date;
aduce instruciuni din memoria de program i le stocheaz ntr-o
coad;
ntrerupe umplerea cozii de instruciuni cnd se impune
aducerea operanzilor sau trimiterea rezultatelor;
realizeaz structurarea logic a memoriei (de pild: organizarea
segmentat a memoriei).
Registre - Modelul ISA x86
Registre generale:
63 31 15 7 0
AH AL
AX
EAX RAX
BH BL
BX
EBX RBX
CH CL
CX
ECX RCX
DH DL
DX
EDX RDX
DI
EDI RDI
SI
ESI RSI
BP
EBP RBP
SP
ESP RSP
R8-R15
Accumulator
Base index
Counter
Data
Destination index
Base pointer
Stack pointer
Source index
General purpose registers
Registre - Modelul ISA x86
Registre segment:
Registre speciale:
CS
15 0
DS
SS
ES
FS
GS
PC
Reg. stare (PSW)
31 16 15 0
Adresa segmentului Lungimea RPL
32 biti 20 biti 2 biti
EPC
EPSW
Registre - Modelul ISA x86
PSW
CF transport
PF paritate
AF transport auxiliar
ZF rezultat zero
SF semn
TF trasare
IF validare intreruperi
mascabile
DF directia de transfer
OF depasire capacitate
PSW extins
IOPL nivel de privilegiu I/E
NT task imbricat
RF continuare in caz
eroare
VM mod virtual 8086
AC verificare aliniere
VIF intrerupere virtuala
VIP validare intrerupere
virtuala
ID indicator
Exemple de arhitecturi de procesoare Intel x86
Procesor Structura/
Frecv.
Spatiu de
memorie
Unitati de
prelucrare
Tip executie Altele
8086/88 16 /5MHz 1Mo 2 biprocesor
80286 16/20MHz 16Mo 4 pipeline
80386 32/33MHz 4Go 6 pipeline mem. virt
80486 32/66MHz 4Go 8 pipeline mem.
cache
Pentium 32/100MHz 4Go 12 2 linii pipeline
Pentium
Pro
32/200MHz 4Go 12 superscalar MMX
Pentium
II, III, IV
32/400MHz
2GHz
4Go-64To 20 Superscalar,
hyperthreadin
g
SIMD
Dual
Core
i7, i5, i3
64/2-3GHz 64To 2*12
4*12 ?
Multi-core GPU
ex. C Motorola 68000
Registrele de date:
Dimensiune de 32 bii, sunt
accesabile pe 32, 16 sau 8 bii.
Sunt registre de uz general,
sunt folosite n transferuri i
prelucrri de date.
Pot fi folosite i ca registre
index.
Registrele de adrese:
Conin adrese pe 24 bii.
Organizarea memoriei:
Adresare liniar, AF=AE;
Harta memorie 2
24
=16MB;
Formatul datelor.
Dup principiile de baz ale arhitecturii
care guverneaz funcionarea:
procesoare cu set complex de instruciuni
(CISC) numite microprocesoare "standard"
sau simplu "microprocesoare";
procesoare cu set redus de instruciuni
(RISC).
CISC - Complex Instruction Set Computer
Procesoare de uz general: familia Intel 80x86 i seria Motorola 68000. Seria 68000 este folosit
de Apple Macintosh, puternic competitor IBM PC.
Ambele familii, incluznd i386 i 68040 sunt procesoare CISC pure. I386 este ultimul procesor
CISC pur al familiei Intel. Exist companii care produc CPU-uri compatibile cu seria 80x86, cele
mai mari fiind AMD i Cyrix.
Caracteristici ale arhitecturilor CISC
Set amplu de instructiuni, peste 300;
Moduri de adresare complexe;
Folosirea de micro-instruciuni, execuia instruciunilor presupune un numr variabil de stri.
Folosirea microprogramelor pentru execuia instruciunilor cod main
CISC - Complex Instruction Set Computer
Aspecte implicate de folosirea microprogramelor
Creterea capacitii necesare ROM pentru microcod reduce
spaiul unitilor logice de procesare i implicit diminueaz
performanele.
Un dezavantaj semnificativ al unui set complex de instruciuni
este acela c exist instruciuni complexe rar folosite, instruciuni
care ocup o cantitate considerabil de spaiu disponibil pe chip
n zona ROM de microcod.
Caracteristici definitorii RISC
(Reduced Instruction Set Computer)
Dezvoltarea arhitecturilor RISC are loc iniial n dou universiti americane: Standford i
Berkeley.
1. Instruciunile se desfaoar ntr-o singur stare: CPI = 1.
2. Unitatea de control este realizat prin logic de tip cablat.
3. Lungime fix pentru formatul tuturor instruciunilor (uzual, de dimensiunea
operanzilor tipici).
4. Numr mic de instruciuni (sub 128).
5. Uniformitatea formatului instruciunilor (nu mai mult de 4 tipuri de formate).
6. Numr mic de moduri de adresare (sub 4).
7. Accesul memoriei se face numai cu instruciuni de tip LOAD i STORE.
8. Operaiile de prelucrarea datelor folosesc numai registrele microprocesorului.
9. Un numr mare de registre generale (cel puin 32).
Avantajele RISC
1. Realizarea fizic n structuri VLSI:
- minimizarea ariei cipului dedicat Unitii de control al microprocesorului (sub 10%);
- mrirea ariei cipului disponibil pentru registre generale;
- mrirea factorului de uniformitate a cipului (numr total de circuite / numr de tipuri de circuite:
registre, UAL, numrtoare etc.);
- posibilitatea utilizrii altor tehnologii dect cea a siliciului (ex. GaAs).
2. Mrirea vitezei de procesare:
- prin realizarea Unitii de control cu logic de tip cablat;
- prin utilizarea unui numr mare de registre interne se reduce traficul cu memoria;
- prin suprapunerea execuiei instruciunilor;
- prin utilizarea tehnicii ntrzierii salturilor se previne golirea cozii de instruciuni.
3. Scderea costului i mrirea fiabilitii:
- timp mai mic pentru proiectarea Unitii de control;
- timpul global de proiectare i punere n fabricaie este considerabil mai mic dect pentru CISC;
- probabilitate mai mic de a avea erori de proiectare i usurina de corectare;
- lungimea standard a formatului instruciunilor elimin riscul depirii limitelor paginilor de ctre o
instruciune. Gestionarea paginilor devine mai uoar.
4. Suport pentru limbajele de nivel nalt:
- realizarea compilatoarelor este mai simpl (numr mic de opiuni n alegerea instruciunilor);
- creterea eficienei prin utilizarea extensiv a operaiilor de prelucrare n interiorul
microprocesorului;
- tehnica ferestrelor de registre uureaz implementarea apelrii subrutinelor (procedurilor).
Dezavantajele RISC
1. Numrul redus de instruciuni;
- rezult c programele RISC sunt mai lungi dect cele CISC (n
medie cu 30%).
2. Numrul mare de registre interne:
- timp de acces mai mare;
- utilizarea registrelor pointer pentru ferestre complic selecia unui
registru la decodare;
- spaiu mare pe cip;
- tehnici complicate de gestionare a ferestrelor;
- compilatoarele avansate folosesc mai eficient seturi reduse de
registre;
- salvarea registrelor n contextul multiprocesrii (la trecerea de la un
proces la altul) presupune timp mai ndelungat pentru stocare si
recuperare n/din memorie.
3. Unitatea de control a microprocesorului realizat cablat
- este mai puin flexibil i mult mai greu de modificat.
4. Formatul redus al instruciunilor
- face imposibil adresarea direct a unei hri de memorie mare (de
pild, adrese fizice sau logice de 32 bii).
Componenta hardware; blocurile funcionale
(continuare)
UCP (eng CPU) - UNITATEA CENTRAL DE PRELUCRARE
MEMORIA
I/O - DISPOZITIVELE DE INTRARE/IEIRE
Magistrala
Magistral - set de conexiuni fizice ntre blocuri prin care
informaia care circul are o semnificaie prestabilit. Din
punct de vedere funcional, exist trei componente ale
acesteia:
1. Magistrala de date, bidirecional, permite circulaia datelor
(operanzi/rezultate), a instruciunilor i chiar a adreselor.
2. Magistrala de adrese, unidirecional, permite microprocesorului
s localizeze informaia n Memorie sau n Dispozitivele de
intrare/ieire; deci pe aceast magistral circul numai adrese.
3. Magistrala de control permite circulaia, bidirecional, a
semnalelor de comand i control de la/la microprocesor, n
calitatea sa de Unitate Central.
Magistrale ale sistemului
MEMORIA (1)
MEMORIA este o secven de locaii pentru stocarea
informaiei. Fiecare locaie este definit prin dou entiti
informaionale:
Coninutul, reprezentat de niruirea de cifre binare 0 sau 1
bii;
Numere
coduri etc.
Numrul de cifre binare coninute ntr-o locaie depinde de
modul n care microprocesorul organizeaz informaia n
memorie; mrimea unei locaii va fi denumit formatul
memoriei, exprimat n numr de bii (ex: 8, 16, 32, 64 bii).
Adresa, reprezentnd numrul de ordine al locaiei, care
permite identificarea sa n cadrul secvenei de locaii (exist
o coresponden biunivoc ntre fiecare locaie de memorie
i adresa sa).
Def:
"Harta memoriei": totalitatea locaiilor de memorie pe
care le poate adresa un microprocesor.
"Pagini" i/sau "segmente": subdiviziuni logice ale
hrii memoriei, ale cror dimensiuni, fixe sau dinamice,
sunt specifice modului n care un microprocesor anume
organizeaz memoria.
Memoria (2)
Memoria (3)
Clasificri
Dup semnificaia coninutului memoriei microcalculatorului:
Memoria de date conine operanzi i/sau rezultate; fizic,
aceast poriune de memorie este de tip RAM (cu
scriere/citire).
Memoria de program care conine instruciuni; de regul ,
(dar nu obligatoriu) aceast zon este o memorie de tip ROM
(memorie din care se poate doar citi).
Dup condiionarea sau nu de prezena alimentrii:
rezident ROM;
volatil RAM.
Dup tehnologia folosit:
RAM - SRAM DRAM SDRAM
Memoria (4)
Oraganizare fizica
Permanente: ROM/PROM/EPROM/EEPROM/FLASH
Volatile: RAM/SRAM (statice)/ DRAM (dinamice)
Organizare logica
Ierarhica pe 3 nivele
Rapida dar cu capacitate limitata = Cache
De lucru, mai lenta, cu capacitate mai mare = RAM
Memorii virtuale lente dar cu capacitate foarte mare
Functionala:
RAM LIFO
RAM FIFO
Memoria intern
cuprinde spaiul de memorare la care are acces
procesorul, fr s includ utilizarea canalelor
de intrare-ieire ale calculatorului.
Programele mpreun cu datele i rezultatele
prelucrrilor sunt nregistrate n memoria
intern sub form de iruri de cifre binare.
Parametrii memoriei interne sunt: capacitatea
memoriei i timpul de acces.
Memoria:
interna (principala, operativa):
memorie semiconductoare (EPROM/Flash, SRAM,
DRAM)
permite acces aleator (citire/scriere) la nivel de locatie
(cuvant de date);
timp de acces mediu (15ns-70ns), relativ constant
capacitate medie (64ko-2Go)
UCP are acces direct la memoria interna prin
intermediul magistralei sistem
spatiu liniar de adresare locatiile sunt ordonate pe
baza de adresa
spatiul de memorie poate fi structurat pe segmente
la arhitecturile Harvard (ex: microcontroloare,
procesoare de semnal) memorie separata pentru
program si pentru date (2 spatii de adresare separate)
Memoria intern
Conine cuvintele organizate n octei,
fiecare avnd asociat o adres prin care
locul su este determinat n mod unic
x x x x x x x x
Bitul cel mai semnificativ
Bitul cel mai puin
semnificativ
Tipuri de memorie intern
RandomAccess Memory (RAM)
n aceast memorie se ncarc temporar
programele i datele curente care se
prelucreaz pe calculator.
Ea poate fi scris sau citit. Coninutul su
este volatil. (Se poate pierde n urma
deconectrii calculatorului de la reea).
Tipuri de memorie intern
Random Access Memory (RAM)
Majoritatea adaptoarelor de tip VGA sau SVGA
au ncorporat o memorie RAM suplimentar
necesar manipulrii informaiei afiate curent
pe ecran i creterii vitezei de remprosptare a
ecranului.
Tipuri de memorie intern
Random Access Memory (RAM)
Modulele SIMM sunt plci cu circuite imprimate
avnd lipite pe ele cipuri de memorie.
Pe un SIMM poate fi montat un numr variabil de
cipuri, pe o singur fa a plcii sau pe amndou.
Pe una din laturile sale, modulul SIMM are un
rnd de contacte cositorite sau aurite.
Modulele SIMM sunt montate n socluri speciale,
prevzute cu mecanisme de blocare care fixeaz
modulul n soclu.
Tipuri de memorie intern
CMOS este o memorie de tip RAM.
Spre deosebire de memoria RAM ea are avantajul
unui consum mai mic i ca urmare la deconectarea
calculatorului ea rmne alimentat printr-un
acumulator din calculator i pstreaz informaia
nregistrat n ea.
Conine informaii pentru BIOS i partea care se
modific.
Tipuri de memorie intern
Read Only Memory (ROM)
Programele i datele din acest tip de memorie sunt
scrise de productor prin tehnici speciale i nu pot fi
modificate de utilizator.
Poate fi doar citit.
O parte din acest tip de memorie se declaneaz la
pornirea calculatorului i gestioneaz iniializarea i
ncrcarea sistemului de operare.
La calculatoarele IBM-PC acestea conin programele
prin care se realizeaz comunicarea cu perifericele:
BASIC INPUT OUPUT SYSTEM, BIOS.
Tipuri de memorie intern
CACHE este o memorie special ataat
microprocesorului care contribuie la mrirea vitezei
calculatorului prin dou proprieti:
are timp de acces mic (similar registrelor
microprocesorului)
evit o serie de operaii intermediare care apar n
cadrul memoriei RAM n ceea ce privete accesul
la microprocesor.
Memoria externa:
memorie pe suport magnetic (flopy-disck, hard-disck,
banda magnetica), suport optic (CD, DVD) sau
semiconductor (memorii nevolatile, Flash, smart-card,
etc.)
accesul UCP la memoria externa se face prin intermediul
unei interfete specializate, conectata pe magistrala
timp de acces relativ mare (10ms-10s), variabil
capacitate f. mare (1Go-1To), teoretic infinita
acces aleatoriu la nivel de bloc (ex: sector) si secvential
in interiorul blocului; la banda magnetica accesul este
doar secvential
memorie structurata pe unitati fizice (ex: sectoare) si
logice (fisiere, directoare, clustere)
nu exista suport la nivelul L.A. pentru accesul la locatiile
memoriei externe; accesul se face prin rutine (drivere)
prefabricate din SO
Execuia unei instruciuni presupune mai multe etape, iar fiecare etap este compus
la rndul ei din mai multe aciuni elementare:
Fetch localizarea i aducerea din memorie a codului instruciunii curente;
ncrcarea n RA a adresei furnizate de PC; adr. disponibil pe magistrala de adrese.
incrementarea PC.
semnal de citire din memorie (READ) pe magistrala de control.
de pe magistrala extern de date se nscrie valoarea n RD.
valoarea codului din RD este nscris n registrul de instruciuni RI.
Decodificare coninutul RI individualizeaz instruciunea i declaneaz o secven de
aciuni elementare pentru execuie.
Execuie activarea diverselor blocuri din UCP ntr-o ordine prestabilit i/sau schimburi de
informaii cu memoria/porturile.
UCP trebuie s decid n funcie de codul primit care este formatul instruciunii
curente (desfurarea pe locaii de memorie succesive, imediat dup cod, a ntregii
informaii aferente execuiei corecte a instruciunii).
Unitatea de comanda-control a P
Executia instructiunilor
Faze de executie:
citire cod instructiune (instruction fetch IF)
decodificare instructiune (instruction decoding Dec)
citire operand (operanzi) (data fetch DF)
executie operatie (execution Ex)
scriere rezultat (write back WB)
Cicluri de transfer:
ciclu de citire instructiune
ciclu de citire operand (optional)
ciclu de scriere rezultat (optional)
=>durata unei instructiuni este determinata (in majoritatea cazurilor)
de numarul de cicluri care trebuie sa se execute
un ciclu = unu sau mai multe perioade de ceas
durata unei perioade de ceas = durata celei mai lungi cai in UCP
(suma intarzierilor produse in circ. combinationale care alcatuiesc
calea unui semnal)
Instruciune
Fiecare instruciune este asociat n mod biunivoc cu un ir de cifre
binare; deoarece acestea "codific" instruciunile, denumite coduri.
O instruciune reprezint cea mai simpl aciune, cu rezultat bine
precizat, din activitatea unui microcalculator a crui unitate central de
prelucrare a informaiei este un microprocesor anume.
Un microprocesor poate "recunoate" i executa numai codurile
corespunztoare instruciunilor pentru care a fost construit.
Totalitatea instruciunilor pe care un microprocesor le poate recunoate i
executa alctuiete setul de instruciuni al microprocesorului respectiv.
niruirea instruciunilor n memoria de program nu este haotic ci sub
form de programe, noiune definit ca fiind o secven de coduri de
instruciuni organizate n mod logic i coerent dup un anumit algoritm,
astfel nct ntregul microcalculator s execute o sarcin prestabilit.
Noiunea de "sarcin" (task) nu trebuie confundat cu cea de program:
sarcina unui microcalculator corespunde unei alocri dinamice a
resurselor hardware i software; exist sarcini pentru a cror ndeplinire
sunt necesare mai multe programe.
Instructiuni in cod masina
formatul instructiunilor (lungime+continut):
varianta 1: fara operanzi in codul instructiunii
operatia nu necesita operanzi sau operanzii sunt specificati implicit prin codul
de operatie
varianta 2: un singur camp de operand in codul instructiunii
operatia este unara (un operand) sau al doilea operand este implicit
varianta 3: doua campuri de operanzi (sursa, destinatie)
varianta4: trei campuri de operand (operand 1, operand 2, rezultat)
Cod operatie
Cod operatie
Adresa/Data imed.
Cod operatie
Adresa operand 1 Adresa op.2/Data imed.
Cod operatie
Adresa operand 1 Adresa op.2/Data imed. Adresa rezultat
Metode generice de acces la date
Metoda de acces: modalitatea de specificare (exprimare) a locatiei
instructiunii sau a operandului care urmeaza sa se acceseze
Metode de acces pentru instructiuni:
secventiala: se citeste instructiunea de la adresa urmatoare
PC=PC+lungimea_instructiunii_curente
ex: instructiuni aritmetice si logice
directa: se citeste instructiunea de la adresa specificata in
instructiunea curenta
PC= adresa_directa
ex: instructiuni de salt, apel de rutine
relativa: se citeste instructiunea de la o adresa relativa fata de
adresa curenta (deplasamentul poate fi pozitiv sau negativ)
PC= PC+deplasament
ex: instructiuni de salt, apel de rutine
indirecta: instructiunea curenta specifica adresa adresei
instructiunii urmatoare
Exemple de metode de acces la date
Metode de acces la date:
imediata: valoarea operandului este prezenta in codul instructiunii
ex: MOV AX, 1234H
directa: adresa operandului este specificata in codul instructiunii
ex: MOV AX, [1234H]
registru: operandul se afla intr-un registru intern al UCP
ex: MOV AX,BX
indirecta: instructiunea contine adresa adresei operandului
ex: MOV AX, [SI+1234H]
implicita: codul instructiunii implica utilizarea unui anumit
registru, adresa de memorie sau adresa de adresa de memorie
ex: PUSH AX ; implicit se foloseste SP ca registru de adresare
indexata: se acceseaza succesiv elementele unei structuri de
date de tip tablou
ex: MOV AX, [SI]
altele: bazata, relativa, stiva
Executia instructiunilor
Executie secventiala CPI=5
Executie pipeline - CPI=5..1
Instr. 1 Instr.2
Timp: T 2T 3T 4T 5T 6T 7T 8T 9T 10T
IF Dec DF Ex WB IF Dec DF Ex WB
Instr.1
Instr.2
Instr.3
Instr.4
Timp: T 2T 3T 4T 5T 6T 7T 8T
IF Dec DF Ex WB
IF Dec DF Ex WB
IF Dec DF Ex WB
IF Dec DF Ex WB
Modelul ISA x86 Moduri de lucru
Modul real modul de lucru 8086:
organizare pe 16 biti
spatiu maxim de memorie 1 Mo
resursele hardware sunt direct accesibile programului utilizator
Modul protejat: - mecanisme complexe de protectie a
memoriei
registre pe 8, 16 si 32 biti
spatiu de adresare: 4Gocteti adrese pe 32 biti
asigura un management mai bun al memoriei
Modul Virtual 8086 simularea executiei modului real in
modul protejat
Modul long pe 64 biti : modul natural de lucru al
procesoarelor pe 64 biti
organizare pe 64 biti (registre, memorie)
spatiu fizic de adresare: 1Toctet) adresa pe 40 biti
spatiu virtual de adresare 256 Tocteti adresa pe 48 biti
Modelul ISA x86-64 - Adresarea memoriei
Modul long
mod de lucru posibil doar pe procesoarele pe
64 biti; se lucreaza cu registre pe 64 biti
in acest mod nu se poate emula modul real
(16 biti) sau virtual 8086
se pot executa programe pe 32 biti si 16 biti
protejat
adresarea memorie fizice pe 40 biti
(1Toctet)
adresarea memoriei virtuale pe 48 biti
(256Tocteti)
Modelul ISA x86 - Adresarea memoriei
modul real:
0
*16
+
Adr. segment
Adr. offset
Adr. fizica
15 0 15 0
Memoria
1M
Adr. offset
Adr. segment
Adr. fizica
1 2 3 4 0
5 6 7 8
1 7 9 B 8
Consecinte:
-lung. segment = 64Ko
-spatiu de memorie = 1Mo
-nu exista mec. de protectie
Adresarea memoriei
calculul adresei fizice
: [ + + ]
Registru
segment
Registru
de baza
Registru
index
Deplasament
Adresa de offset
Adresa de segment
Exemple
Figura Adresa fizica i adrese logice
Fie baza de segment = 6020H i offset-ul = 4267H
Spaiul dispozitivelor de intrare/ieire I/O
Legtura microcalculatorului cu lumea exterioar se face prin
porturi. Exist dou moduri eseniale de a concepe aceste
legturi cu perifericele: ca locaii de memorie, ca porturi
propriu-zise. Att identificarea locaiilor de memorie ct i a
porturilor se face folosind aceeai magistral de adrese.
Distincia major ntre cele dou modaliti de acces se
regsete la nivelul semnalelor specifice de pe magistrala de
control.
O unitate elementar de conversaie cu exteriorul poart
numele de "port de intrare/ieire".
ntre porturi i locaiile din Memorie exist nite similitudini:
Porturile sunt n esen tot locaii de memorare a informaiei,
adresabile; informaia care se folosete uzual aici este alctuit din
operanzi/rezultate (date).
Exist o "hart a porturilor" care poate sau nu s fac parte din harta
memoriei.
Porturi de intrare/iesire
Porturi de intrare/iesire:
registre continute in interfetele de intrare/iesire, prin care UCP
controleaza transferul de date
tipuri de porturi:
porturi de date: pentru transferul de date; pot fi de intrare,
de iesire sau bidirectionale
porturi de control: registre de iesire prin care se
controleaza functionarea interfetei si a dispozitivului legat la
interfata
porturi de stare: registre de intrare prin care se poate testa
starea interfetei si a dispozitivului legat la interfata
accesul la porturi:
prin adresa si prin instructiuni dedicate (ex: IN, OUT); putine
instructiuni au acces direct la porturi de I/E
spatiu separat de adrese pentru memorie si pentru porturi de
I/E (exceptie: microcontroloarele)
Spaiul dispozitivelor de intrare/ieire
Accesarea porturilor ca porturi propriu-zise
Accesarea porturilor ca locaii de memorie
Tehnici de intrare/ieire uzuale
Interogarea continu (tehnica polling)
ntreruperi
ntreruperi caracteristice PUG
Accesul direct la memorie (controler DMA)
ntreruperi nemascabile
ntreruperi mascabile
ntreruperi vectorizate
Tipuri de ntreruperi pentru P Intel n modul real
Spaiul dispozitivelor de intrare/ieire
Accesarea porturilor ca locaii de memorie
Caracteristici:
Cicluri main de acces n memorie;
Semnale pe magistrala de control folosite
pentru accesul n memorie: MEMR i
MEMW;
Avantaje - Dezavantaje:
Extind toate caracteristicile transferurilor de
date asupra instruciunilor I/O;
Extind utilizarea porturilor i n cadrul
instruciunilor de prelucrri de date;
Consum spaiu din harta memoriei;
Timp mare de acces (formatul instruciunilor,
modurile de adresare).
Accesarea porturilor ca porturi propriu-zise
Caracteristici:
Cicluri main specifice;
Semnale distincte pe magistrala de control:
IOR i IOW;
Instruciuni specializate pentru transfer
IN d, port
OUT port, d
unde d este acumulatorul implicit sau dedicat;
Moduri de adresare foarte restrictive pentru
porturi:
direct
indirect prin registru.
Harta porturilor este mult mai mic dect
harta memoriei;
Avantaje - Dezavantaje:
Acces rapid la porturi;
Necesit coduri de instruciuni;
Necesit terminale de pe magistrala de
control.
Sunt tehnici de sincronizare a microcalculatorului cu echipamentele periferice conectate prin intermediul
porturilor. n principal exist dou mari categorii de tehnici de intrare / ieire:
A. Sincrone cu programul curent;
B. Asincrone cu programul n curs de desfurare.
Tehnici de intrare/ieire uzuale
(1/2)
A. Interogarea continu (tehnica polling)
Caracteristici:
Este o tehnic sincron cu programul; ea presupune
c porturile i pot manifesta disponibilitatea de
conversaie printr-un cuvnt de stare.
Microprocesorul citete periodic starea porturilor
pentru a surprinde momentul n care porturile sunt
disponibile transferurilor de date.
Singura cale fizic de comunicaie este magistrala de
date.
Avantaje:
Nu implic hardware suplimentar;
Comunicarea cu perifericele se face sincron cu
programul curent.
Dezavantaje:
Interogarea consum timp;
Se pierd posibile cereri de comunicare cu perifericele.
Spre exemplu, s presupunem c msb semnific:
1 port gata pentru conversaie
0 port ocupat
Tehnici de intrare/ieire uzuale
B. ntreruperi
Caracteristici:
Presupune c oriice eveniment
extern este n esen asincron cu
activitatea curent a
calculatorului.
Exist o cale fizic de
comunicare a porturilor cu P pe
care acestea pot trimite semnale
unei intrri specializate (notat n
figur cu INT).
Definiii:
Cerere de ntrerupere: semnal trimis unui terminal dedicat al microprocesorului prin care un periferic
(prin intermediul unui port) cere acces la resursele sistemului.
Rspuns la o (accepatare) cerere de ntrerupere: o secven de aciuni pe care microprocesorul o
declanseaz prsind programul normal de funcionare.
Rutina de deservire a unei ntreruperi: un program prestabilit, aflat la o adres prestabilit, prin care
microprocesorul rspunde la o anumit cerere de ntrerupere formulat de un anumit periferic.
ntreruperi caracteristice P
A. Cererea de acces direct la
memorie
(DMA Direct Memory Acces)
Se constituie ntr-un tip aparte de
ntrerupere care nu se
conformeaz procedurii generale
de rspuns. Este o tehnic pur
hardware care nu presupune nici
un fel de pregtiri n programele
microcalculatorului.
Cererea este formulat pe un
terminal specializat (denumit de
regul BUSRQ), are prioritate
maxim i rspunsul ateapt doar
terminarea ciclului main curent.
.
Microprocesorul nghe ntreaga activitate intern; magistralele sale trec n stare highZ iar controlul
ntregului microcalculator este preluat de un circuit specializat controler DMA; acesta faciliteaz
transferul informaiei direct ntre memorie i porturi.
ntreruperi caracteristice P
B. ntreruperi nemascabile
Cererea de ntrerupere nemascabil este formulat pe un terminal dedicat numit n general NMI.
Rspunsul ateapt terminarea instruciunii n curs de desfurare i se conformeaz procedurii
generale de rspuns.
Are prioritatea imediat urmtoare cererii DMA.
Caracteristici:
Nu poate fi invalidat de ctre utilizator;
Rutina de deservire are o localizare prestabilit, definit de fabricant, deci rspunsul rspunsul
este unic indiferent de perifericul care solicit aceast ntrerupere.
C. ntreruperi mascabile
Cererea de ntrerupere mascabil este formulat pe un terminal dedicat INT
Rspunsul ateapt terminarea instruciunii curente i se conformeaz procedurii generale de
rspuns.
Ca prioritate, urmeaz dup ntreruperile nemascabile.
Caracteristici:
Poate fi invalidat de ctre utilizator (fanion / fanioane de validare a ntreruperilor);
Rutina de deservire a ntreruperii are o adres care depinde de modul de rspuns prestabilit:
modul 0 perifericul stabilete adresa dar i instruciunea de apel a rutinei de deservire a ntreruperii;
modul 1 adresa rutinei de deservire a ntreruperii este prestabilit;
modul 2 ntreruperi vectorizate.
ntreruperi caracteristice P
ntreruperi vectorizate
Definiie:
Se numete vector de ntrerupere o
adres furnizat indirect de ctre
perifericul care cere ntreruperea,
adres unde se afl rutina de
deservire a cererii de ntrerupere.
Un periferic trimite, indirect, un vector
de ntrerupere dintr-o mulime de
vectori posibili, alegnd astfel o rutin
de deservire din mai multe rutine
poteniale.
Se utilizeaz adresarea indirect cu
memoria folosind o tabela cu vectori de
ntrerupere.
Probleme generale pe care le pune
mecanismul ntreruperilor vectorizate:
1. Mrimea vectorului de ntrerupere;
2. Dimensiunea informaiei furnizat de
periferic (tip);
3. Mrimea tabelei cu vectori de
ntrerupere;
4. Localizarea tabelei cu vectori de
ntrerupere n harta memoriei.
B. Componenta software
Componenta software: o serie de programe organizate n moduri
specifice.
Dou categorii de software:
1. Sistemul de operare: totalitatea programelor care permit
utilizatorului accesul complet la resursele sistemului (exemple:
UNIX, MS-DOS, etc.). Poate fi: rezident (permanent n memoria
intern) sau ncrcabil dintr-o memorie extern (operaie denumit
"bootstrap").
2. Software-ul utilizatorului, alctuit din totalitatea programelor folosite
pentru ndeplinirea unor sarcini specifice.
Componenta software
Clasificare:
Sisteme de operare
Linux, DOS, Windows 9x / NT
sever workstation
/ 2000 / XP
Aplicaii
Limbaje de programare: ASM, Cobol, Delphi, Fortran, Java, Pascal, Basic, C, C++;
Limbaje script: Tcl/Tk, Matlab, Perl;
Programare web HTML, Java, PHP, Perl;
Baze de date: FoxPro, ODBC, ORACLE;
Grafic: Adobe PhotoShop, AutoCAD, CorelDraw, FrontPage, Macromedia;
Procesoare de text: Microsoft Office, Microsoft Publisher;
Def.
Instruciunea este informaia codificat (binar) prin care se impune microprocesorului
desfurarea unei aciuni specifice.
Setul de instruciuni este totalitatea instruciunilor pe care un microprocesor le poate
recunoate i executa.
Program o secven de coduri de instruciuni organizate n mod logic i coerent dup un
anumit algoritm, astfel nct ntregul microcalculator s execute o sarcin prestabilit.
Nivele de abstractizare
Limbaje de programare
de nivel nalt (ex. C )
Limbaj de asamblare
Cod main
Desfurarea unor
aciuni specifice
Compilare
Asamblare
Interpretarea codurilor
Aspecte
studiate
preponderent
la laborator
Limbaje de programare
procedurale - atunci cnd rezolvarea problemei
urmeaz anumite etape i utilizeaz nite structuri
fundamentale (cum sunt: C, Pascal, etc.)
neprocedurale - ele se bazeaz pe reguli i sunt mai
apropiate de limbajul i modul de raionare natural (cum
sunt limbajele pentru inteligen artificial: Prolog, Lisp).
Algoritm
Set de pai prin care se definete modul n care poate fi
dus la ndeplinire o anumit sarcin
Un set ordonat de pai executabili, descrii fr echivoc,
care definesc un proces finit
Rezolv o problem
Sunt n form conceptual - trebuie s fie reprezentate
ntr-o form n care pot s fie comunicate unui calculator
prin setul de instruciuni (gramatic i limbaj) limbaj
de programare
Reprezentarea algoritmilor n calculator -> program ->
software
Etape de baz care trebuie urmate pentru
rezolvarea unei probleme pe calculator
analiza problemei - se stabilete exact ce
subprobleme trebuie s rezolve programul
programarea - reprezentarea problemelor
ntr-un mod adecvat pentru rezolvarea cu
calculator
implementarea - scrierea programului care
rezolv problema ntr-un anumit limbaj de
programare
ARHITECTURA
SISTEMELOR DEDICATE
ARHITECTURA SISTEMELOR DEDICATE
execut instruciunile din memorie;
efecuteaz calcule sau procesare asupra datelor, corespunztor
instruciunilor,
iniializeaz schimbul de date cu perifericele.
Unitatea central (UC),
microprocesorul
Ceasul
asigur efectuarea secvenial a operaiilor i este de
obicei implementat printr-un oscilator cu quar.
stocheaz instrucinile din program;
stocheaz datele (constante sau
variabile) utilizate de program;
schimb date cu microprocesorul.
Memoria
Periferice
Magistrale
asigur anumite servicii microprocesorului i permite
conexiunea cu exteriorul.
reea de conexiuni ntre microprocesor i celelelalte
elemente componente.
De date
De adrese
De control
PROGRAMAREA SISTEMELOR DEDICATE
Program n
limbaj de nivel
superior
Program n
limbaj de
asamblare
Cod
obiect
Compilator Asamblor
Linker
Program n
limbaj de
asamblare
Cod
obiect
Asamblor
Program
executabil
Loader
Sistem
target
Emulator
Debugger
instrument de tip cross-development
Program
surs
Sistem host
Microcontrollere
procesoare specializate pentru aplicatii de control
circuite VLSI care incorporeaza aproape toate componentele unui
micro-sistem de calcul:
UCP
memorie de program
memorie de date
sistem de intreruperi
porturi de intrare/iesire digitale
convertoare analog-numerice si numeric analogice
interfete de comunicatie si de retea
Unitati de comanda cu microcontroller
Structuri hardware
Microcontrolere (C) - caracteristici:
dimensiuni reduse (numr redus de pini)
consum mic
timp predefinit de execuie a instruciunilor
arhitectur tip Harvard: separarea memoriei de program de
memoria de date
sistem de ntreruperi simplu, adaptat componentelor periferice
(contoare, interfee, etc.) coninute n circuit
cost redus
frecvene de lucru relativ mici (10-30 MHz)
performane de calcul modeste
set limitat de instruciuni n limbaj main
limitri n ceea ce privete capacitatea de memorare
restricii privind posibilitile de extindere a sistemului
Familii de C
Exemple:
PIC
ARM
AVR
O familie este caracterizata prin:
aceeasi arhitectura de baza
acelasi set de instructiuni
aceleasi instrumente de dezvoltare a programelor
Diferente intre variante ale aceleiasi familii:
capacitate de memorie (pentru date si pentru program)
tipuri de interfete incluse
numar de porturi, contoare,
Schema bloc a familiei de microcontrolere I 80C31
Intreruperi
Timer 2
Sistem de
ntreruperi
ROM RAM Timer 1
4k-32 ko 128-512 o
Timer 0
UCP
Canal serial
CNA CAN
Generator de
ceas Port I/E *4
32 linii de I/E RS 232 Ieire analogic
Intrri
analogice
WD
PWM
Reset
Ieire PWM
Componente principale ale microcontrolerului
UCP unitatea central de prelucrare
asigur execuia instruciunilor unui program
ROM memoria nevolatil
conine programul de aplicaie i eventualele constante de program;
memoria poate fi de tip:
PROM (se nscrie o singur dat),
EPROM (cu posibilitate de nscriere multipl, off-line)
EEPROM (cu posibilitate de scriere n timpul funcionrii programului);
dimensiunea memoriei variaz funcie de varianta constructiv de la 0 la 32ko; ea se poate extinde
prin adugarea unei memorii externe
RAM memoria de date
pstreaz variabilele programului i stiva;
n prima parte a memoriei locaiile pot fi adresate ca registre interne (4 seturi a cte 8 registre); o
anumit zon de memorie poate fi adresat la nivel de bit;
capacitatea memoriei depinde de varianta constructiv;
memoria RAM intern poate fi extins cu o memorie RAM extern
sistemul de ntreruperi
gestioneaz cererile interne i externe de ntrerupere;
sursele de ntrerupere sunt: 2 linii externe de ntrerupere, canal serial (recepie sau transmisie de
caractere) i contoare (timer 0,1,2)
generatorul de ceas
genereaz semnalul de ceas necesar pentru funcionarea UCP i furnizeaz o frecven de referin
pentru contoarele interne i canalul serial
porturile de intrare/ieire
permit achiziia sau generarea de semnale digitale; pot fi 4 sau 6 porturi a cte 8 semnale;
un semnal poate fi configurat ca intrare, ieire sau semnal bidirecional
Componente principale ale microcontrolerului
canalul serial
implementeaz protocolul de comunicaie RS 232 (canal serial asincron, bidirecional pe
caracter); la unele variante exist un canal serial suplimentar care implementeaz protocolul I2C;
acest protocol permite construirea unei magistrale seriale n locul celei paralele clasice
timer 0, 1, 2
set de 2 sau 3 contoare utilizabile pentru generarea periodic a unor ntreruperi (ex.: pentru ceas
de timp-real), pentru numrarea unor evenimente externe sau pentru generarea frecvenei de
transmisie serial
CNA convertor numeric/analogic
folosit pentru generarea unui semnal analogic; aceast component este prezent numai la
variantele mai complexe
CAN convertor analog/numeric
folosit pentru achiziia unor semnale analogice; pot fi citite prin multiplexare si 8 intrri analogice
WD contor Watch-Dog
utilizat pentru detectarea funcionrii anormale a UCP;
dac contorul nu este reiniializat periodic, se consider o anomalie i ieirea contorului va
provoca o reiniializare a procesorului
PWM ieire cu modulaie n lime de impuls (Puls Width Modulation)
permite generarea unei comenzi asemntoare unui semnal analogic, folosindu-se o ieire
digital;
prin aplicarea unui filtru trece jos se obine un semnal analogic proporional cu factorul de umplere
al impulsului generat
Accesarea memoriei si a porturilor
Registrele interne fac parte din spatiul de memorie destinat datelor
Porturile de intrare/iesire, inclusiv cele de control si stare ocupa un loc
predefinit din spatiul de memorie (SFR Special Function Register)
SFR
FFh
7Fh
0 128o
128o
Blocul 3
Blocul 2
Blocul 1
Blocul 0
R0 R1 ... R7
Memoria date (RAM)
0
FFFFh
64ko
Harta memoriei interne i externe
Memoria de program PROM, EPROM, EEPROM
FFFFh
0
intern
(0-8ko)
extern
(max 64ko)
intern
extern
Exemple:
Microcontrolere Microchip
PIC12xx, PIC16xx, PIC18xx, PIC32Fxx
www.microchip.com
Alegerea unei variante de microcontroler
http://www.microchip.com/ParamChartSearch/chart.aspx?bran
chID=1002&mid=10&lang=en&pageId=74
Exemplu: PIC16F87x (876, 877, 873)
Caracteristici:
Structura pe 8 biti (date de 8 biti)
Instructiuni de 14 biti
Arhitectura Harvard, de tip RISC
Are numai 35 de instructiuni
Capacitate de stocare:
8k x 14 Flash EPROM (memorie de program)
256x8 EEPROM
368x8 SRAM (memorie de date)
Interfata seriala UART si SPI
Convertor analog-digital de 10 biti cu 8 canale multiplexate
3 timere din care 2 de 8 biti si unul de 16 biti
PSP parallel Slave Port
WDT watch-dog Timer
CCM (Capture Compare Module) si PWM
Programabil si depanabil prin doua fire (serial); ICD in circuit debuger
Incapsulare: 28,40 sau 44 pini

S-ar putea să vă placă și