Documente Academic
Documente Profesional
Documente Cultură
Terminarea execuţiei unui program .EXE se realizează cu INT 21H, iar registrul AX încărcat
cu funcţia 4C00H.
Numele_programului_listing.lst= <enter> sau alt nume ; acest fişier este destinat listării
- Editarea de legături (link editare) permite efectuarea de legături între mai multe
module obiect. Are ca rezultat un fişier cu extensia .exe. Se realizează cu programul
LINK.EXE, asftel:
LINK <enter>
Numele_fişierului_obiect= numefis.obiect
Numele_fişierului_executabil=<enter> sau se introduce un nume nou.
Pentru a vizualiza zona de memorie în care se află rezultatele se foloseşte comanda din SO
Windows 9x/2000/NT, numită DEBUG:
debug numefis.exe
-? (permite aflarea tuturor subcomenzilor din mediul debug)
- t (rulare Trace)
- d DS:0000 (Dump de memorie pentru segmentul de date DS; adresa lui DS se vede la
comanda t; DATELE IN MEMORIE SUNT REPREZENTATE INVERS DECAT IN REGISTRII
MICROPROCESORULUI !!!)
- q (quit)
- 4 reg. de segment
CS Code Segment destinat adresării segm.de instrucţiuni curente
DS – Data Segment - destinat adresării segm. de date
ES – Extended Segment - destinat adresării segm. extins de date
SS – Stack Segment - destinat adresării stivei curente a programului
Indicatorii de condiţie:
- indicatori de stare – de tip Read-Only; sunt poziţionaţi de instrucţiunile aritmetico-logice
şi nu pot fi decât citiţi de programatori:
AF (Auxilliary Flag) are valoarea 1 dacă apare transport între rangurile 3 şi 4;
CF (Carry Flag) – are valoarea 1 dacă apare transport pe poziţia cea mai
semnificativă;
OF (Overflow Flag) are valoarea 1 dacă apare depăşire;
SF (Signe Flag) are valoarea 1 dacă bitul de pe poziţia cea mai semnificativă este 1;
PF (Parity Flag) – are valoarea 1 dacă numărul biţilor din byte-ul cel mai puţin
semnificativ este par;
ZF (Zero Flag) – are valoarea 1 dacă rezultatul operaţiei anterioare a fost 0.
Reprezintă maniera în care datele sunt memorare şi accesate din memoria interna a
microprocesorului.
1- adresare imediată – operandul se găseşte într-un un cuvânt (word) imediat după codul
instrucţiunii
ex: MOV AX, 15
muta valoarea 15 in registrul acumulator AX;
6- adresare cu registre de index - adresa relativă= valoarea din registrul de index + val;
ex: MOV AX, [SI] val (pt. <DS:SI>)
MOV AX, [DI] val (pt. <DS:DI>)
se utilizează pentru tratare şiruri de date;
OPERATORI
1. Aritmetici :
- unari: - (negare)
- binari: *, /, MOD, +, -, SHL (shift left), SHR (shift right)
Exp.: MOV AX, 100H/7 (operanzii trebuie să fie valori absolute)
MOV AX, 1010000B SHR 3 (mută în AX 1010B)
Exp: MOV AX, SEG var1 - mută în reg. AX, conţinutul registrului de segment
din care face parte var1
TYPE -
Sintaxă: TYPE var returnează lungimea în bytes a tipului de dată corespunzător
variabilei specificate; dacă este de tip byte, returnează 1, Word, 2 etc.
Exp: var1 DW 100
..................
MOV AX, TYPE var1 - mută în AX valoarea 2
Sintaxă: TYPE etichetă – returnează distanţa asociată etichetei specificate; poate
lua valorile NEAR sau FAR.
HIGH var / LOW var – extrag dintr-un cuvânt, byte-ul cel mai semnificativ,
respectiv cel mai puţin semnificativ
Exp: var1 DW 100
..................
MOV AH, HIGH var1 - mută în AH p.c.m.s. din var1
MOV AL, LOW var1 - mută în AL p.c.m.p.s. din var1
DIRECTIVE
1. Directive condiţionale
2. Directive pentru erorile condiţionale
3. Directive pentru declararea şi alocarea datelor: ASSUME, GROUP, INCLUDE,
EQU, ORG, =, EVEN, DB, DW, DD, DQ, DT, DUP, RADIX, RECORD,
STRUC, PROC, LABEL
4. Directive pentru controlul listării şi a fişierelor de listare: PAGE, .TITLE, .LIST,
.CREF, XCREF
5. Directive pentru declararea macroinstrucţiunilor sau macrodefiniţilor
6. Directive pentru controlul modului de lucru
7. Directive pentru încarcarea segmentului
EVEN nu are parametrii şi are ca efect forţarea unei adrese pare pentru
instrucţiunea următoare.
DIV sursă
Execută împărţirea dintre:
Deîmpărţit : Împărţitor = Cât Rest
Pe byte AL : Sursă = AL AH
Pe word AX : Sursa = AX DX
MUL destin
Execută înmulţirea dintre:
p.c.m.s. p.c.m.p.s.
Pe byte AH * Sursă = AH AL
Pe word AX * Sursa = DX AX
INSTRUCŢIUNI DE SALT
JE etichetă - (Jump =) salt la etichetă dacă cei 2 operanzi implicaţi în
operaţia de comparare anterioară sunt egali)
JL etichetă - Jump Less
JG etichetă - Jump Great
JMP etichetă
INC destinaţie
DEC destinaţie
INSTRUCŢIUNI DE CICLARE
LOOP etichetă - decrementează cu 1 registrul CX; dacă valoarea lui CX<>0, atunci
se execută salt la eticheta specificată
Să se calculeze expresia E= a+b-c, unde a,b,c sunt numere generate în memorie la nivel de
byte.
Vom folosi SI pe a fi contor de adrese, offset – pentru deplasare în cadrul şirului de
date.
segm_stiva SEGMENT
stiva DB 128 DUP (?)
segm_stiva ENDS
segm_date SEGMENT
sir_date DB 7,23,13, ?
segm_date ENDS
segm_cod SEGMENT
ASSUME CS:segm_cod, DS:segm_date, SS:segm_stiva
et: MOV AX, segm_date
MOV DS, AX
Exemple de programe
7. Bibliografie
Un număr reprezintă informaţia a cărei semnificaţie este universal stabilită şi ale cărei
prelucrări au la bază aritmetica. Numerele sunt incluse într-o clasă de codificare particulară, în
care proprietăţile abstracte ale aritmeticii sunt translatate în mecanismele concrete de calcul
asupra codurilor.
Sistemul de numeraţie este format din totalitatea regulilor de reprezentare a numerelor cu
ajutorul unor simboluri numite cifre. Numărul de simboluri permise pentru reprezentarea cifrei
este numit baza sau rădăcina sistemului de numeraţie.
Sistemele de numeraţie pot fi:
- poziţionale (sistemele: zecimal, binar, octal);
- nepoziţional (sistemul roman).
Simbolurile folosite în cadrul sistemului de numeraţie roman şi valorile zecimale
corespunzătoare acestor simboluri:
IXCMVLD
1 10 100 1000 5 50 500
În studiul arhitecturii calculatoarelor ne interesează în mod deosebit
- reprezentarea binară (baza=2);
- reprezentarea octală (baza=8);
- reprezentarea zecimală (baza=10);
- reprezentarea hexazecimală (b=16).
Fiind dat un număr întreg N, se numeşte reprezentare în baza b, orice succesiune de cifre
an,an-1,...,a0 care satisface următoarele proprietăţi:
- cifrele lui sunt numere naturale cu proprietatea : 0 ≤ ai ≤ b-1 (i=0÷n)
- există egalitatea: N = anbn + an-1bn-1 + ….+ a0b0
Când succesiunea de cifre are proprietăţile enumerate, prin definiţie, se poate scrie:
N = anan-1 ….a0 sau (N)b = anan-1 ….a0
Un număr întreg admite o reprezentare unică în baza b. Fiind dat un număr real R, se
numeşte reprezentare în baza b, orice succesiune de cifre an,an-1,...,a0,a-1, a-2,...,a-m ce îndeplineşte
proprietăţile:
- cifrele ai sunt numere naturale cu proprietatea : 0 ≤ ai ≤ b-1 (i = −m,n)
- nu există un rang k astfel încât să avem: ak = ak-1 = ak-2 = … = b-1
- există egalitatea: R = anbn + an-1bn-1 + ….+ a0b0 + a-1b-1 +….+ a-mb-m
În situaţia în care succesiunea de cifre are proprietăţile enumerate prin definiţie se scrie:
R = anan-1...a0a-1a-2...a-m, an este cifra cea mai semnificativă (CCMS) a numărului R, iar a-m este
cifra cea mai puţin semnificativă (CCMPS).
1. Reprezentarea prin mărime şi semn (Cod direct - CD): Un număr reprezentat prin
mărime şi semn se poate scrie conform relaţiei: N = an*2n + Σ ai*2i (i=-m,n-1)
an = 0, daca N≥0
1, daca N<0
an este bit de semn, iar ai ∈ {0,1} pentru i =−m,n − 1 şi au fost obţinute în urma
conversiei numărului (N) în sistemul de numeraţie binar. Macheta de reprezentare a numărului N
este:
Observaţie. S-a considerat că partea întreagă se reprezintă prin n cifre binare, iar partea
fracţionară prin m cifre binare:
- dacă n = 0 → se obţine reprezentarea numerelor subunitare;
- dacă m = 0 → se obţine reprezentarea numerelor întregi.
2. Reprezentarea prin complement faţă de 1 ( cod invers - CI): Un număr reprezentat
în cod invers se poate scrie:
N = 0*2n+ Σ ai*2i (i=-m,n-1), daca N≥0
1*2n + Σ (1-aai)*2i (i=-m,n-1), daca N<0
unde ai reprezintă cifrele binare ale numărului |N|.
Observaţie: Reprezentarea prin complement faţă de 1 se obţine astfel:
1. Fie calculând: N = 2n+1-| N |CD - 2-m
2. Fie prin inversarea cifrelor binare (inclusiv cifra de semn) din reprezentarea în cod
direct a numărului în valoare absolută.
3. Reprezentarea prin complement faţă de 2 (cod complementar - CC): Forma de
scriere în cod complementar este:
N = 0*2n+ Σ aaiii*2i, pentru N≥0
1*2n + Σ aaiii*2i, pentru N<0, (i=-m,n-1), unde: Σ aaiii*2i = Σ (1-ai)*2i+2-m, iar ai reprezintă
cifrele binare ale numărulu |N|. Codul complementar al unui număr se poate obţine astfel:
1. Fie calculând: N = 2n+1-|N|CD
2. Fie adunând un 1 la CCMPS a reprezentării numărului în CI
3. Dacă se consideră reprezentarea în CD a numărului în valoare absolută, pentru
obţinerea codului complementar, începând de la CCMPS - se lasă neschimbate toate cifrele de
zero, inclusiv prima cifră binară a cărei valoare este 1; apoi toate celelalte cifre binare se vor
inversa, inclusiv cifra de semn.
1. Adunarea în 8421
Adunarea numerelor în zecimal codificat binar (8421) se face binar, rang cu rang pe
fiecare grup de patru cifre binare, cu adăugarea, eventual, a unor corecţii.
Fie a şi b două cifre zecimale codificate binar (în 8421) care se adună; rezultatul c = a + b
poate fi:
- corect, şi nu este necesar să se aplice nici o corecţie dacă: 0000< c< 1001;
- incorect şi se impune corecţia, adunând 0110 în situaţiile: a). 1010<c<1111 - această
reprezentare nu corespunde unei cifre în zecimal. Adunând 0110 va determina în transport la
rangul următor; b). 0000<c<1001, dar a rezultat a cincea cifră binară, aceasta fiind 1 şi reprezintă
transportul pentru tetrada binară superioară.
ccorectat = c + 0110
2. Scăderea în 8421
Fie a şi b două cifre zecimale codificate binar, în codul 8421 ce se scad astfel:
- dacă c = a-b este un număr pozitiv, acest rezultat este corect;
- dacă rezultatul este negativ, se realizează un împrumut de la tetrada binară superioară
(-0001)2, care va reprezenta pentru tetrada unde este necesar împrumutul valoarea (10000)2=16.
Această configuraţie de cifre [(10000)2] se adună la tetrada a şi din aceasta se scade tetrada b,
obţinându-se un număr pozitiv. Noului rezultat i se aplică o corecţie prin scăderea cifrei 6, adică
(0110)2. Scăderea este necesară deoarece în zecimal valoarea împrumutului este 10, iar prin
reprezentarea într-un cod cu 4 cifre binare împrumutul este 16.
Codurile în care sunt reprezentate numai numere se numesc coduri numerice, iar cele
care cuprind numerele, literele şi semnele speciale se numesc coduri alfanumerice. Dintre
codurile alfanumerice amintim:
- Codul BCD (Binary Coded Decimal), reprezintă unul din primele coduri utilizate în
tehnica de calcul. O secvenţă de cod are lungimea de şase biţi/caracter.
- Codul EBCDIC (Extended Binary Coded Decimal Information Interchange Code),
secvenţele de cod au o lungime de opt biţi/caracter.
- Standardul ASCII (American Standard Code for Information Interchange) secvenţele de
cod au o lungime de opt biţi/caracter.
- Standardul Unicode utilizează secvenţe de cod cu lungimea de 16 biţi/caracter. Acest
cod a fost conceput să înlocuiască standardul ASCII, prin intermediul căruia se pot reprezenta
maximum 256 (28) caractere. Codul ASCII este un subset al standardului Unicode. Caracterele
de bază din toate limbile scrise existente pot fi reprezentate prin standardul Unicode.
Codurile normalizate au fost realizate în aşa fel încât să uşureze modul de prelucrare a
informaţiei. Astfel, partea stângă a codului permite identificarea imediată a naturii informaţiei
codificate (litere, cifre, funcţii), următoarele poziţii ale codului sunt organizate într-un mod care
să uşureze conversia în vederea calculelor (în cazul cifrelor) sau ordonarea alfabetică (în cazul
literelor).
Codurile numerice au fost introduse pentru a se opera mai uşor cu informaţia numerică.
Codurile numerice pot fi: ponderate sau neponderate.
Un cod numeric este ponderat dacă unei cifre zecimale îi corespunde o succesiune de
cifre binare, în care fiecare cifră de rang j are asociată o anumită pondere Pj. Fie N un număr
zecimal:
N = zkzk-1zk-2...z0, zi ∈ {0, 1, ....9}, i=0,k
Oricare ar fi cifra zecimală zi, aceasta se va reprezenta printr-o secvenţă binară ce
satisface relaţia: zi = Σ aj*Pj, j∈{0,1}, Pj ∈ {0, ±1, ±2, ....±9} constituie ponderea corespunzătoare
rangului j, iar n numărul de simboluri din secvenţa binară asociată cifrei zecimale. Dintre
codurile ponderate amintim:
- Codul 8421, codul binar-zecimal natural, având ca ponderi puterile lui 2 (23,22,21,20).
- Codul 2421 (Aiken), la care codificarea primelor cinci cifre zecimale (0÷4) este identică
secvenţelor din codul 8421. Codificarea cifrei zecimale 5 se obţine din secvenţa corespunzătoare
cifrei zecimale 4 prin schimbarea simbolurilor binare 0 în 1 şi 1 în 0. Astfel, fiecare complement
faţă de 9 al unei cifre zecimale se reprezintă printr-o secvenţă ce rezultă complementând faţă de
1 simbolurile binare din secvenţa cifrei zecimale respective. Codurile ce au această proprietate se
numesc autocomplementare, prezentând avantaje în efectuarea operaţiilor aritmetice.
- Pentru codul 8421 ponderile sunt puteri ale lui 2, însă două sunt negative. Este un cod
auto-complementar.
- Codul bichinar (50 43210) conţine secvenţe de câte şapte simboluri binare împărţite în
două grupe. Acest cod a fost folosit la primele calculatoare electronice. Alte coduri numerice
ponderate sunt: 4221, 5421, 7421, 6421.
Din categoria codurilor neponderate, amintim:
- Codul EXCES 3 a fost realizat de G. Stibitz şi se remarcă prin aceea că: este un cod
autocomplementar si cifrei zecimale zero îi corespunde o secvenţă binară ce conţine cifre binare
de 1.
- Codul Gray se caracterizează prin aceea că două secvenţe de cod consecutive diferă
printr-o singură poziţie binară. Dacă notăm cu: a8, a4, a2, a1 cifrele binare ale secvenţelor codului
8421, în ordinea ponderilor şi cu b4, b3, b2 şi b1 cifrele binare ale secvenţelor Gray, în ordinea de
la stânga la dreapta, acestea din urmă pot fi calculate folosind relaţiile: b8 = a8; b3 = a8⊕a4; b2 =
a4⊕a2; b1 = a2⊕a1.
- Codul „2 din 5” este un cod pseudo-ponderat. Secvenţele de cod pentru cifrele zecimale
1 ÷ 9 au asociate ponderile 74210, numai codificarea cifrei zecimale 0 face excepţie de la această
regulă. Caracteristica secvenţelor de cod este aceea că din cele cinci cifre binare două sunt
semnificative (au valoarea 1).
Dacă în cazul codului 2 din 5 spaţiile nu conţin informaţie, există şi un cod asemănător în
care densitatea informaţiei reprezentate este mai mare; acest cod se numeşte „codul 2 din 5
intercalat” iar în acest caz spaţiile conţin informaţii în acelaşi mod ca şi liniile. Codificarea
informaţiei permite rezolvarea unor probleme ce pot apare în transmisia, stocarea sau prelucrarea
acesteia, cum ar fi:
- detectarea şi corectarea erorilor pentru a se asigura integritatea informaţiei;
- compresia pentru minimizarea cantităţii de informaţie;
- criptarea pentru a se garanta securitatea informaţiei.
x y=y x
x (y z)=(x y) z
x (y z)=(x y) (x z)
Forma canonică disjunctivă, respectiv conjunctivă a unei funcţii logice este unică. Forma
canonică disjunctivă (respectiv conjunctivă) a unei funcţii logice se numeşte şi forma normală
disjunctivă (respectiv conjunctivă) perfectă.
Forma normală disjunctivă a unei expresii logice este o sumă de produse elementare
egală cu expresia dată. Forma normală conjunctivă a unei expresii logice este un produs de sume
elementare egal cu expresia dată. Forma normală disjunctivă (respectiv conjunctivă) a unei
funcţii nu este unică.
Vom considera în continuare cele două forme canonice atât pentru funcţia de o singură
variabilă cât şi pentru funcţia de două variabile.
Funcţia booleană de o singură variabilă: fie f : B2→B2 o funcţie booleană de o singură
variabilă iar a şi b două constante booleene. Forma canonică disjunctivă este: f (x) = ax∪bx. Am
obţinut a = f(1) şi b = f(0), valori unic determinate. Înlocuim x=1, x=0 în relatia lui f(x):
f(1) = a • 1 ∪ b • 1 = a • 1 ∪ b • 0 = a ∪ 0 = a
f(0) = a • 0 ∪ b • 0 = a • 0 ∪ b • 1 = 0 ∪ b = b
FCD: f(x) = f(1) • x ∪ f(x) • x
Pentru demonstrarea existentiei (in forma canonica disjunctive), vom inlocui pe x pe rand
cu valorile 0 si 1 in relatia anterioara:
f(1) = f(1) • 1 ∪ f(0) • 1 = f(1) • 1 ∪ f(0) • 0 = f(1)
f(0) = f(1) • 0 ∪ f(0) • 0 = f(1) • 0 ∪ f(0) • 1 = f(0)
Pentru forma canonica conjunctiva avem: f (x) = (a ∪ x)(b ∪ x). Înlocuim x = 1, x = 0 în
relatia lui f(x):
f (1) = (a ∪ 1) • (b ∪ 1) = (a ∪ 1) • (b ∪ 0) = 1 • b = b
f(0) = (a ∪ 0) • (b ∪ 0) = (a ∪ 0) • (b ∪ 1) = a • 1 = a
FCC: f(x) = (f(0) ∪ x) • (f(1) ∪ x)
Am obţinut în acest caz: a = f(0) şi b = f(1), valori unic determinate. Pentru demonstrarea
existenţei (în forma canonică conjunctivă), vom înlocui x pe rând cu valorile 0 şi 1 în relaţia
anterioară:
f(1) = (f(0) ∪ 1) • (f(1) ∪ 1) = (f(0) ∪ 1)(f(1) ∪ 0)= 1 • f(1) = f(1)
f(0) = (f(0) ∪ 0) • (f(1) ∪ 0) = (f(0) ∪ 0)(f(1) ∪ 1)= f(0) • 1 = f(0)
f(x,y) = axy ∪ bxy ∪ cxy ∪ dxy - forma canonică disjunctivă
Considerăm forma FCD şi înlocuim x =1, x = 0, y =1, y = 0 în relaţia lui f(x,y). Vom
avea : a = f(1,1), b = f(1,0), c = f(0,1), d = f(0,0).
FCD: f(x,y) = f(1,1)xy ∪ f(1,0)xy ∪ f(0,1)xy ∪ f(0,0)xy
Funcţia booleană de două variabile: Fie f : B2 × B2→ B2 o funcţie booleană de două
variabile iar a, b, c şi d patru constante booleene. În cazul formei canonice conjunctive avem:
f(x,y) =(a∪x∪y)(b∪x∪y)(c∪x∪y)(d∪x∪y)
Inlocuim în această relaţie x=0, x=1, y=0, y=1 şi obţinem: a=f(0,0), b=f(0,1), c=f(1,0),
d=f(1,1).
FCC : f (x,y) = (f(0,0)∪x∪y)(f(0,1)∪x∪y)(f(1,0)∪x∪y)( f (1,1)∪x∪y)
Demonstrarea existenţei în cazul formei canonice disjunctive: f(x,y) =f(1,1)xy ∪
f(1,0)xy ∪ f(0,1)xy ∪ f(0,0)xy - forma canonică disjunctivă. Considerăm aceasta expresie şi
înlocuim x =1, x = 0, y =1, y = 0 şi obţinem:
Funcţiile booleene se pot reprezenta fie sub forma unor tabele de adevăr, fie sub forma
expresiilor booleene. Cele două forme de reprezentare sunt echivalente. Oricărei funcţii logice i
se poate asocia un tabel de adevăr sau expresia logică corespunzătoare. Consideram cateva
exemple:
Reprezentarea sub formă de tabel de adevăr a funcţiilor : NU, SAU, ŞI, SAU-NU, ŞI-NU.
Fie funcţia logică următoare: f (x, y) = xy∪xy. Tabelul de adevăr asociat este:
Reciproc, dacă avem tabelul de adevăr al funcţiei, putem determina expresia funcţiei.
Considerăm valorile lui x şi y pentru care funcţia f este zero:
x=0, y=1 sau x=0, y=0
x=1,y=0 x=0, y=0
f2(x,y) = (x∪y)(x∪y)
Verificăm faptul că cele două funcţii sunt egale:
f2(x,y) = (x ∪ y)(x ∪ y) = x · x ∪ x · x ∪ y · x ∪ y · y = x · y ∪ x · y = f1(x,y)
x=y=0 sau x=1, y=1
x=y=1 x=y=1
f1(x,y)=x·y ∪ x·y
1) Funcţia NU:
f10(x1, x2,..., xn)=xi, ∀i=1,n
2) Funcţia IDENTITATE :
f3(x1, x2,..., xn) = xi, ∀i =1,n
3) Funcţia ŞI: f1(x1, x2,..., xn) = x1 · x2 ·... ·xn, această funcţie are valoarea logica 1 daca
toate variabilele au valoarea logica 1.
4) Funcţia SAU: f7(x1, x2, ...,xn) = x1 + x2 +...+ xn , ce are valoarea logică 1 daca cel putin
o variabila are valorea logica 1.
5) Funcţia ŞI-NU, are valoarea logică 1 dacă cel puţin o variabilă are valoarea logică 0:
f14 (x1, x2 , .. , xn) = x1 · x2 · ... · xn = x1 + x2 + .. + xn
6) Funcţia SAU-NU, are valoarea logică 0 dacă cel puţin o variabilă are valoarea logică
1: f8(x1, x2, ..,xn) = x1 + x2 + .. + xn = x1 · x2 · ... ·xn
7) Funcţia INHIBARE:
f 4 (x1, x2 , ..., xn) = x1 · x2 · ... · xk-1 · xk · xk+1· ... · xn, k ∈ {1, 2, ..., n}.
8) Funcţia IMPLICARE:
f11 (x1, x2, .. , xn) = x1 + x2 + xk-1 + xk + xk+1 + .. + xn, k ∈ {1, 2, ..., n}.
Diagramele Karnaugh sunt reprezentări grafice ale funcţiilor booleene. O celulă din
diagramă corespunde unei linii din tabela de adevăr. De asemenea, o celulă din diagramă
corespunde unui mintermen sau maxtermen al expresiei booleene. Zone ce conţin mai multe
celule adiacente corespund termenilor standard.
Datorită faptului că memoria RAM este foarte scumpă şi este o memorie volatilă, pentru
stocarea pentru mai mult timp (nu numai pe parcursul funcţionării calculatorului) a datelor s-a
căutat utilizarea unui alt tip de memorie. Acest tip de memorie este memoria externă (sau
memoria secundară), care este o memorie relativ rapidă, fiabilă, ieftină, de mare capacitate şi, pe
deasupra, ne-volatilă.
Un calculator nu poate executa un program decât dacă acesta este încărcat în memoria
principală, din acest punct de vedere, memoria principală reprezintă memoria utilizată pentru
stocarea programului ce se execută şi a datelor ce sunt prelucrate iar memoria secundară
reprezintă memoria folosită pentru stocarea pe termen lung a datelor.
CAPITOLUL 2
2
ELEMENTE DE TEORIA
TRANSMISIEI INFORMAŢIEI
n
H(p1 , p2 ... pn ) = pi log2 pi
i =1
P5. Entropia produsului mai multor surse independente de informaţie este egală
cu suma entropiilor fiecărei surse luate separat:
n
H(Y/ X) = p( xk )H(Y/ xk )
k=1
unde:
p(xk), probabilitatea realizării evenimentului xk X ;
H(Y/xk), entropia experimentului Y, condiţionată de evenimentul xk X.
m
H(Y/ x k ) = p( yi / xk ) log2 p( yi / xk )
i =1
iar p(yi/xk) este probabilitatea realizării evenimentului elementar yi Y (
i = 1 , m ) când s-a realizat evenimentul xk X ( k = 1, n ).
Dacă X şi Y sunt experimente oarecare sunt respectate proprietăţile:
P7. H(Y/X) H(Y)
P8. H(X x Y) H(X) + H(Y)
P9. H(X/Y) = H(Y/X) + H(X) - H(Y)
Fie:
X mulţimea mesajelor emise de o sursă de informaţie (intrarea sistemului);
Y mulţimea mesajelor care se recepţionează (ieşirea sistemului);
p(y/x) probabilitatea de a recepţiona mesajul y Y când s-a emis x X.
Sistemul de transmisia informaţiei este format din două mulţimi finite X
şi Y şi o probabilitate condiţionată p(y/x), definită pe Y pentru orice x X
şi se notează cu [X, p(y/x), Y].
Sursa sistemului de transmisie a informaţiei este reprezentată prin
câmpul de probabilitate {X, x, p(x)}, fiind dată probabilitatea de emisie p(x)
pentru x X, astfel încât p( x ) 1 .
x X
Recepţia sistemului de transmisie a informaţiei este reprezentată prin
câmpul de probabilitate {Y, y, p(y)}, fiind dată probabilitatea de emisie p(x)
pentru x X, iar probabilitatea de recepţie se calculează prin relaţia:
p( y) p( x ) p ( y / x ) .
x X
Mediul prin care se propagă semnalele purtătoare de informaţie, de la
sursă la recepţie, se numeşte canalul sistemului de transmisia informaţiei. A
cunoaşte canalul de comunicaţie al unui sistem, revine la a cunoaşte
probabilităţile p(y/x) pentru toate mesajele x X şi y Y. Dacă p(y/x) ia
numai valorile 0 sau 1 pentru
orice x X şi y Y, asupra canalului nu acţionază perturbaţiile. În caz
contrar, canalul prezintă perturbaţii.
Într-un sistem de transmisia informaţiei [X, p(y/x), Y], având sursa {X, x,
p(x)} şi recepţia {Y, y, p(y)}, expresiile:
H( X ) p(x) log
x X
2 p( x )
H( Y ) p( y) log
y Y
2 p( y)
H( X / y) p( x / y) log 2 p( x / y)
x X
reprezintă cantitatea de informaţie care trebuie emisă de către sursă pentru a
recepţiona mesajul y Y. Cantitatea medie de informaţie emisă ce este necesară
pentru a recepţiona întreaga mulţime a mesajelor y Y va fi:
H( X / Y ) p( y) H( X / y) .
y Y
Fie: c1: a1 a2 a3 → x1
c2: a2 a1 a3 → x2
c3: …
Totalitatea cuvintelor ci (i = 1M) formează un cod.
Cu ajutorul simbolurile mulţimii A se pot forma cuvinte cărora să nu le
corespundă elemente din mulţimea X. Acestea sunt cuvinte fără sens. Cuvintele
cărora le corespund simboluri din alfabetul sursei se numesc cuvinte cu sens sau
cuvinte de cod.
Practic, codificarea reprezintă o schimbare în forma de prezentare a
informaţiei, necesară în procesul prelucrării sau transmisiei. În momentul realizării
codificării apare şi problema transformării inverse, ce permite revenirea la forma
iniţială. Aşadar, dacă există funcţia cod:
f:XC
f-1: C X.
Codul 2421 (Aiken), la care codificarea primelor cinci cifre zecimale (04)
este identică secvenţelor din codul 8421. Codificarea cifrei zecimale 5 se
obţine din secvenţa corespunzătoare cifrei zecimale 4 prin schimbarea
simbolurilor binare 0 în 1 şi 1 în 0. Astfel, fiecare complement faţă de 9 al
Figura 2.5 Reprezentarea numărului 19 prin codul de bare 2/5 intercalat (genarator cod de
bare: http://online-barcode-generator.com/)
Figura 2.6 Codul de bare EAN-13 pentru numărul “110022442345” (generator cod de
bare: http://www.barcode-generator.org/)
EAN-8: este un cod de bare derivat din EAN-13, se pot reprezenta maximum 7
cifre zecimala, la care se adauga o cifra de control.
1
GS1 este o asociație internațională non-profit cu organizații în peste 100 de țări.
Figura 2.7 Codul de bare EAN-8 pentru numărul “7755331” (generator cod de bare:
http://online-barcode-generator.com/)
Figura 2.8 Codul de bare UPC-A pentru mesajul “9876543210” (generator cod de bare:
http://www.barcode-generator.org/)
Code 128: utilizat pe scară larga pentru codificarea tuturor caracterelor ASCII.
Lungimea mesajului poate varia.
Figura 2.9 Codul de bare 128 pentru numărul “110022442345” (generator cod de bare:
http://www.barcode-generator.org/)
Figura 2.10 Codul de bare 128 pentru mesajul “Informatica si Cibernetica Economica”
( generator cod de bare: http://www.barcode-generator.org/)
Codul 39: asigură codificarea unor mesaje de lungime variabilă care conțin:
cifre 0-9, caractere mari A-Z si simboluri speciale: spatiu, minus (-), plus (+),
punct (.), dolar ($), slash (/) și procent (%).
Codul 16K – derivă din codul de bare 128, care este divizat și organizat pe mai
multe niveluri.
Figura 2.12 Codul de bare 16k pentru mesajul “Informatica si Cibernetica Economica”
(generator cod de bare: http://www.barcode-generator.org/)
a) b) c)
Figura 2.14 a) Simbolul Maxicode, b) simbolul Data Matrix și c) simbolul QR pentru
mesajul “Bucharest University of Economic Studies, Piata Romana 6”
2.4.4. Codul QR
2
Un URL (Uniform Resource Locator) reprezintă o adresă a unei pagini web, fiind
un șir de caractere care constituie o referință la o resursă web; de exemplu:
http://www.ase.ro
Exemplul 1.
Să se calculeze distanţa de cod între secvenţele de cod reprezentate în figura
2.6.
D(v0,v1)=(0 0) + (0 0) + (0 1) = 1
D(v0,v2)=(0 0) + (0 1) + (0 0) = 1
D(v0,v3)=(0 0) + (0 1) + (0 1) = 2
D(v0,v4)=(0 1) + (0 0) + (0 0) = 1
.
D(v0,v7)=(0 1) + (0 1) + (0 1) = 3
D(v1,v2)=(0 0) + (0 1) + (1 0) = 2
.
D(v1,v7)=(0 1) + (0 1) + (1 1) = 2
.
D(v6,v7)=(0 1) + (1 1) + (1 1) = 1
Dacă vi= vi, atunci Hvi = 0. Structura cea mai simplă pentru operatorul H
se obţine dacă se va considera o transformare liniară, definită prin ecuaţiile:
unde:
hij - parametrii care determină transformarea H;
ai - simbolurile cuvântului recepţionat;
ei - elementele corectorului z.
Folosind aceste notaţii putem scrie: H vT = z, iar în cazul când v = v vom
avea:
H vT = 0
c1 0 0 . . . . 1 c1
c 0 . . . . . 1 c
2 2
a3 ........ .
[h1 h 2 .... h n ] = 0 sau = 0
. ........ .
. 0 1 . . . . . .
a n 1 0 . . . . 1 a n
c1 a3 a5 ..... a n = 0
c2 a3 a6 ..... a n = 0
.
.
cm a m+1 ....... a n = 0
c1'
e m '
. c2
z = H v = = [h1...... h n ] .
,T
e2
.
e1 a '
n
c4 a5 a 6 a 7 = 0 c4 = a5 a 6 a 7
c2 a3 a 6 a 7 = 0 c2 = a3 a 6 a 7
c a a a = 0 c = a a a
1 3 5 7 1 3 5 7
a3 a5 a6 a7 c1 c2 a3 c4 a5 a6 a7
7 0 1 1 1 0 0 0 1 1 1 1
8 1 0 0 0 1 1 1 0 0 0 0
9 1 0 0 1 0 0 1 1 0 0 1
Rezolvarea.
Apelând la relaţiile:
e4 = 1 0 0 0 = 1
e2 = 1 1 0 0 = 0
e = 1 1 0 0 = 0
1
Deoarece (e4,e2,e1) (0,0,0) - mesajul recepţionat este eronat. Se poate face
corecţia dacă se presupune că o singură cifră binară a mesajului a fost modificată.
Poziţia cifrei eronate se obţine prin decodificarea secvenţei (e4,e2,e1)=(100)2
(4)10 cifra c'4 devine 0.
Mesajul corect este 1110000 acesta corespunde cifrei zecimale 8.
Valoarea cifrei transmise s-a obţinut prin decodificarea cifrelor binare: a'3 a'5 a'6 a'7.
n
a ik realizează paritatea pară
k =1
li = n
a ik 1 realizează paritatea impară
(i =1, m )
k =1
k =1
cu erori dacă i{1, 2,…, m} astfel încât l'i lic sau j{1, 2,…, n}
astfel încât c'j cjc.
Rezolvarea
Informaţia transmisă
4 S1 0 1 1 1 1
5 S2 1 0 0 0 1
6 S3 1 0 0 1 0
7 S4 1 0 1 0 0
8 S5 1 0 1 1 1
9 S6 1 1 0 0 0
Control coloană 1 0 1 1 1
Rezolvarea.
Informaţia recepţionată li calculat
x'1 x'2 x'3 x'4 l'i 0
S1 1
S2 0 1 1 0 1 0
S3 1 0 0 0 1 0
S4 1 0 0 1 1 1
S5 1 0 1 0 0 0
S6 1 0 1 1 1
1 1 0 0 0
C'j 1 0 1 1 1 1
Cj calculat 1 0 1 0 0
Codurile ciclice sunt coduri bloc în care cele n+1 simboluri ce formează o
secvenţă de cod sunt considerate ca fiind coeficienţii unui polinom de grad n şi
anume:
M(x) = anxn +an-1xn-1 +……+a0
unde ai {0, 1} , i 1, n .
Codurile polinomiale ciclice au proprietatea: dacă M = (an,an-1,....a0) este un
cuvânt cu sens, atunci orice permutare ciclică a simbolurilor sale este un cuvânt cu
sens M1 = (ai,ai-1,....,a0anan-1,....,ai+1). Mulţimea tuturor cuvintelor formează o
algebră, iar mulţimea cuvintelor cu sens formează un ideal.
În cazul utilizării codurilor polinomiale ciclice, mesajului M ce se va
transmite i se asociază polinomul M(x) şi apoi printr-un algoritm de codificare se
transformă într-un polinom T(x), astfel încât T(x) să fie multiplul al polinomului
G(x), numit polinomul de generare.
Pentru realizarea codificării se pot utiliza algoritmul de înmulţire sau
algoritmul de împărţire.
Folosind algoritmul de înmulţire: T(x) = M(x)G(x) (operaţiile de înmulţire
şi adunare ale coeficienţilor polinoamelor se fac în modulo 2) nu se obţine o
separare a simbolurilor redundante de cele informaţionale, acesta fiind principalul
motiv pentru care se preferă algoritmul de împărţire, deşi este ceva mai complicat.
Algoritmul de codificare prin împărţire este:
Fie mesajul M: (an,an-1,.....,a0), care cuprinde n+1 cifre binare
informaţionale. Acestuia i se asociază un polinom în nedeterminata x:
Cu alte cuvinte, polinomul T(x) este divizibil prin G(x). Această proprietate
este folosită drept criteriu pentru detecţia erorilor.
La recepţie se verifică divizibilitatea polinomului ataşat mesajului
recepţionat prin polinomul de generare. Dacă T' este mesajul recepţionat,
polinomul asociat acestuia va fi T'(x). Putem scrie că T'(x)=T(x) E(x), unde
E(x) este polinomul erorilor. Aplicând criteriul de detecţie a erorilor, obţinem:
T (x) T(x) E(x) T(x) E(x) E(x)
= = = C(x)
G(x) G(X) G(x) G(x) G(x)
Se observă că dacă E(x) este multiplu al lui G(x) mesajul recepţionat este
validat, deşi conţine erori. Dacă E(x) nu este multiplu al lui G(x), atunci eroarea
este sesizată.
Prin această metodă sunt determinate toate pachetele de erori de lungime mai
mică decît gradul lui G(x)+1. Se numeşte pachet de erori o succesiune de
simboluri, corecte sau eronate, în care primul şi ultimul simbol sunt eronate.
M (x) R(x)
= C(x)
G(x) G(x)
x9 + x8 + x7 + x5 + x3 |x3 + x + 1
|---------
x9 + x7 + x6 |x6 + x5 + 1
-----------------------
/ x8 + x 6 + x 5 + x 3
x8 + x6 + x5
------------------------
/ / / x3
x3 + x + 1
-----------
/ x+1
(Adunarea şi scăderea în modulo 2 sunt echivalente)
R(x) = x + 1
T(x) = x9 + x8 + x7 + x5 + x3 + x + 1
Coeficienţii acestui polinom reprezintă mesajul ce se va transmite:
x9 + x7 + x5 + x3 + x + 1 | x3 + x + 1
|--------------------
x9 + x7 + x6 | x6 + x3 + x2 + x + 1
----------------------------------------
/ / x 6 + x5 + x3 + x + 1
x6 + x 4 + x 3
------------------------------
/ x5 + x 4 + x + 1
x5 + x 3 + x 2
--------------------------
/ x 4 + x3 + x 2 + x + 1
x4 + x2 + x
---------------------
/ x3 + 1
x3 + x + 1
-----------------
/ / x /
Aşadar, mesajul recepţionat este eronat deoarece E(x) 0.
y y1 y2 y3 y 4 y5 y6 y7
b) Y 0
1 / 4 1 / 4 1 / 8 1 / 8 1 / 8 1 / 16 1 / 32 1 / 32
Prin xi, respectiv yi , (i = 0,7 ) s-au notat evenimentele emiterii unei cifre
octale.
pi 0 i = 1, n
În contextul unui sistem complet de evenimente n
i =1
pi = 1
1 1 1 1 1 1 1 1
= 2 log 2 3 log 2 log 2 2 log 2 =
4 4 8 8 16 16 32 32
9 4 10 43
= 1+ + + = bi ţ i = 2,625 biţi
8 16 32 16
Comparând rezultatele obţinute în situaţiile a) şi b) se constată că proprietatea
P3 este verificată.
Problema 2.
Să se determine valorile parametrilor x, y şi z astfel încât entropia
experimentului A, având repartiţia probabilităţilor:
a1 a2 a3
A =
x+ y y+ z z+ x
să fie: a) maximă; b) minimă.
Rezolvarea.
a) Entropia informaţională este maximă când evenimentele sunt echiprobabile
(P3). Prin urmare se poate scrie:
x+ y = y+ z
y+ z = z+ x
3
2 x+ 2 y+ 2 z = 1 sa considerat pi = 1
i =1
i =1
pi = 1
x+ y = 0
b2. 1 1
y+ z = 1 x = - y = z =
1
z+ x = 0 2 2 2
x+ y = 0
1 1 1
b3. y+ z = 0 x = y=- z=
z+ x = 1 2 2 2
Problema 3.
Fie numărul 2007 codificat primar la sursă prin BCD împachetat. Să se
determine blocul de date ce va fi transmis, ştiind că fiecare cifră a numărului
reprezintă o secvenţă implicată în codificarea prin coduri liniare cu control
încrucişat, paritate impară.
Rezolvarea.
Reprezentarea numărului 2007 în BCD este:
Cifrele numărului 2 0 0 7
Reprezentarea cifrelor în BCD 0010 0000 0000 0111
0000 1 00001
0111 0 01110
BCC 1010 1
10101
Problema 4.
A fost recepţionată secvenţa de biţi (010111101011111101000101)2. Ştiind că
la emisie s-a utilizat codificarea prin paritate încrucişată pară, iar fiecare al 6-lea bit
este bit de control, să se determine corectitudinea mesajului recepţionat şi biţii de
informaţie.
Rezolvarea.
Vom scrie mesajul binar sub forma unei matrice de biţi cu 6 elemente pe linie,
al şaselea element fiind obligatoriu bit de control:
BIrecepţionat BCLrecepţionat
01011 1
10101 1
11110 1
00010 1
Prin urmare, avem ca biţi de control b6, b12, b18, b24 şi implicit b19, b20, b21,
b22, b23. Vom recalcula biţii de control la recepţie, aşa cum reiese din tabelul
următor:
Problema 5.
Fie numărul 128 codificat primar la sursă prin BCD împachetat. Să se determine
secvenţa codului Hamming asociată acestui număr.
Rezolvarea.
În primă instanţă vom reprezenta numărul 128 în BCD împachetat:
128 = (0001 0010 1000)2
Avem un număr k=12 de biţi de informaţie. Fie m numărul de biţi de control şi
n numărul total de biţi ai unei secvenţe a codului Hamming. Din relaţia:
2mn+1 2mm+k+1 2mm+13 m=5
Prin aplicarea relaţiei de codificare HvT=0 vom avea:
c1
c2
a3
c4
a5
a6
00000000000000011 a7
00000001111111100
c8
00011110000111100 =0
a9
01100110011001100 a10
10101010101010101
a11
a12
a13
a14
a15
c16
a17
c1 c2 a3 c4 a5 a6 a7 c8 a9 a10 a11 a12 a13 a14 a15 c16 a17 este secvenţa codului
Hamming, unde:
a3 a5 a6 a7 a9 a10 a11 a12 a13 a14 a15 a17
0 0 0 1 0 0 1 0 1 0 0 0
4
c a 5 a6 a7 a12 a13 a14 a15 0 De unde rezultă că:
c a a a a a a a 0
8 9 10 11 12 13 14 15
c16 a17 0
c1 1
c 0
2
c4 0
c 0
8
c16 0
Problema 6.
Rezolvarea.
Mesajul recepţionat (B2C)H are următoarea formă în binar: 1011 0010 1100.
Vom descrie acest şir de biţi conform notaţiilor dintr-o secvenţă a codului
Hamming (cifrele de control corespund ca poziţie coloanelor din matricea de
control cu o singură componentă diferită de zero):
c1' c '2 a 3' c '4 a 5' a '6 a '7 c 8' a 9' '
a10 '
a11 '
a12
1 0 1 1 0 0 1 0 1 1 0 0
Problema 7.
Un receptor primeşte mesajul (AABB)H. Să se verifice corectitudinea mesajului,
ştiind că pentru codificarea datelor s-a folosit polinomul de generare G(X) =
X4X2X1.
Rezolvarea.
Mesajul (AABB)H are ca reprezentare binară secvenţa: (1010101010111011) 2
Polinomul asociat mesajului recepţionat este:
T’(x)= x15x13x11x9x7x5x4x3x1
Vom verifica corectitudinea mesajului recepţionat împărţind polinomul T’(x) la
polinomul de generare; dacă T’(x) este divizibil prin G(x) se poate afirma că
mesajul recepţionat este corect.
x12x10 x9 x8
x10x8 x7 x5
x10x8 x7 x6
x5 x2 x 1
x5 x3 x2 x
x31
Problema 8.
Să se determine mesajul binar transmis după codificarea numărului (A02F)H
prin polinomul de generare G(x) = x4x1
Rezolvarea.
Mesajul iniţial reprezentat în binar este: (1010 0000 0010 1111) 2.
Polinomul asociat mesajului va fi:
M(x)=x15x13x5x3x2x1, iar gradul polinomului de generare G(x) este
4.
M(x)= M(x) x4 M(x)= x19x17x9x7x6x5x4
Efectuăm împărţirea lui M(x) la G(x) şi vom determina polinomul cât C(x) şi
polinomul rest R(x).
x19x17x9x7x6x5x4 x4x1
x19x16 x15
x15x13x12x11x10x6x5x21
x x x
17 16 15
x17x14 x13
x15x14 x12
x15x12 x11
x14x11
x14x11 x10
x10x9 x7 x6
x10x7 x6
x9x5 x4
X9x6 x5
x6x4
X6x3 x2
x4x3 x2
x4x 1
x3x2 x 1
e1 e2 e3
E =
x y z y z z
să fie: a) maximă; b) minimă.
2. Care este cantitatea medie de informaţie obţinută prin emisia unei cifre a
sistemului octal dacă cifrele impare au probabilitatea de apariţie de două ori mai
mare decât cele pare?
3. O sursă primară de informaţie emite 157 de simboluri. Ştiind că se realizează
o codificare binară uniformă, să se determine lungimea minimă a unei secvenţe de
cod (în biţi).
4. a) Determinaţi secvenţele codului Hamming corespunzătoare cifrelor
zecimale 0, 1, 2, 3 şi 4 ştiind că în codificarea primară s-a utilizat:
a1) codul 8421;
a2) codul EXCES 3;
a3) codul 2421;
a4) codul Gray;
a5) codul 4221.
b) Cunoscând că prin codul Hamming se asigură detecţia şi corecţia unei
singure erori, să se verifice dacă secvenţele de cod obţinute la punctul a) respectă
condiţia distanţei minime.
5. Ştiind că mesajele recepţionate:
a) (1001111)2
b) (1101111)2
c) (0011111)2
d) (0011011)2
e) (1110000 )2
reprezintă secvenţe ale codului Hamming, să se verifice corectitudinea lor. Dacă
este posibil să se asigure corecţia. Căror cifre zecimale corespund mesajele
corectate, dacă într-o primă codificare s-a folosit codul 8421?
BTI final
6. Care sunt componentele de bază ale unui sistem de operare (rolul fiecărei componente)?
Componentele de bază ale unui sistem de operare:
• kernel: include funcţiile de nivel jos care vor fi încărcate după procesul de boot (de exemplu,
modulul care realizează controlul fluxului de date între memorieşiunităţile de I (input)/E
(output)).
7. Care sunt unitățile hardware de bază ale unui sistem de calcul (rolul fiecărei unități)?
Din punct de vedere fizic (hardware), orice calculator
deţineceletreiunităţi de bază:
• procesorul sau unitatea centrală de prelucrare (UCP): controlează activităţile
calculatorului şi execută operaţiile de prelucrare a datelor;
• memoria principală: stochează instrucţiunileşi datele programelor;
• unitatea de intrare /ieşire: asigură comunicarea între utilizator şi sistemul de calcul.
12. Care sunt categoriile de baza pentru sistemele de calcul? Prin ce se caracterizeaza
fiecare categorie?
Categoriile de bază pentru sistemele de calcul:
– microcalculatoare sau PC (Personal Computers), staţii de lucru (workstations)
– minicalculatoare;
– mainframe;
– supercalculatoare;
– calculatoare încorporate (embedded).
4.Supercalculatoarele sunt cele mai puternice calculatoare; sunt utilizate în rezolvarea unor
probleme care necesită calcule complexe
5.Calculatorul încorporat reprezintă un sistem informatic realizat dintr-o combinaţie
hardware şi software, având capabilitatea să realizeze funcţii specifice (dedicate unor aplicaţii)
13.Ce intelegeti prin date/informatii/cunostinte?
Datele se referă la evenimente, procese, obiecte ale realității înconjuratoare, având diferite
forme de reprezentare - simboluri, numere, cuvinte, imagini, sunete.
Informațiile reprezintă mesajele obținute prin prelucrarea datelor şi identificarea de relaţii între
acestea, fiind integrate într-un context.
Cunoștințele reprezintă abilitățile de înțelegere a informaţiilor despre un anumit subiect și care
pot fi folosite în luarea de decizii, formarea de judecăţişi opinii.
14.Ce reprezinta o sursa de informatie discreta fara memorie?
Sursă de informație discretă fără memorie este sursa care furnizează un număr finit de
evenimente/mesaje, iar probabilitatea de apariție a unui eveniment/mesaj la un moment dat nu
depinde de evenimentele/ mesajele generate anterior.
15. Când o sursă de informaţie este completă?
O sursă de informaţie se numeşte completă, dacă sunt îndeplinite relaţiile:
18. Care este unitatea de bază pentru a măsura cantitatea de informaţie? Dar multiplii ?
Unitatea de măsură a informaţiei se numeşte bit.
Multipli:
1 octet (byte) = 8 biţi
1 Kilo octet = 2^10 B
1 Mega octet = 2^10 KB = 2^20 B
19. Dacă probabilitatea de realizare a unui eveniment (xi) al unui experiment X este pi =1,
care va fi entropia informațională a experimentului?
H(p1 , p2 , .…, pn ) = 0 - dacă pentru un indice i {1, 2, .., n} avem pi =1
21. Care este schema generală a unui sistem de transmisie a informației în varianta cea
mai simplă/dacă include codificarea primară/ dacă include codificarea redundantă?
(Fie: • X={x1 , x2 , x3 ,..., xM} - mulţimea simbolurilor primare emise de o sursă de informaţie
• A={a1 , a2 ,..., aD } - mulţimea simbolurilor codului folosit.
4
• Unicode
29. Câte caractere se pot codifica prin codul alfanumeric EBCDIC (ASCII sau UNICODE
în format implicit)? Care este semnificaţia acronimului EBCDIC /ASCII?
Prin codul alphanumeric EBCDIC se pot codifica maximum 256 de caractere.
EBCDIC semnifica Extended Binary Coded Decimal Information Interchange Code iar ASCII
semnifica American Standard Code for Information Interchange.
30. Ce reprezintă un cod numeric? Ce înțelegeți prin cod numeric ponderat? Dați
exemple de coduri numerice ponderate/neponderate.
Codurile numerice au fost introduce pentru a se opera mai usor informatia
numerica. Un cod numeric este ponderat daca unei cifre zecimale ii corespunde o succesiune
de cifre binare in care fiecare cifra de rang j are asociata o anumita pondere Pj. Coduri ponderate
sunt codurile 2421, 8421 iar neponderate sunt codurile EXCES 3 si Gray.
32. Care este importanța parametrului distanţă Hamming? Ce valoare ar trebui sa aibă
distanţa Hamming minimă ca un cod să poată detecta un numar k de erori existente în
una din secvenţele sale? (Ce valoare ar trebui sa aibă distanţa Hamming minimă ca un
cod sa poată detecta un numar k de erori și să corecteze r erori?)
Importanta parametrului distanta Hamming este aceea ca prin intermediul sau se realizeaza
codificarea. Valoarea pe care ar trebui sa o aiba distanta Hamming minima pentru ca un cod sa
poata detecta un numar k de erori existente este k+1 iar pentru a corecta r erori, distanta
Hamming minima trebuie sa aiba valoarea k+r+1.
33. Care sunt elementele de care se va ține cont la realizarea unei structuri de cod?
Elementele de care se va tine cont la realizarea unui structure de cod sunt:
-numarul secventelor ce apartin codului
-lungimea secventelor de cod
-distanta minima de cod
34. Ce operație se realizează prin codificare redundantă?
Prin codificarea redundanta se realizeaza operatia de determinare a simbolurilor
de control in functie de simbolurile de informatie.
35. Ce este specific codului Hamming (câte erori se pot detecta și corecta)?
Specific codului Hamming este faptul ca poate detecta e erori existente daca
Dmin >= e+1 si poate corecta c erori daca Dmin>= e+c+1.
36. Care este relația prin care se determină numărul corectorilor în cazul codificării
Hamming? (Exemplu: știind că în codificarea primară s-au utilizat 8 cifre binare, care
este valoarea minimă a numărului cifrelor de control pentru o secvenţă codului
Hamming? Câte cifre binare va avea o secvenţă a codului Hamming?)
Se consideră un spaţiu m-dimensional - spaţiu de corecţie: 2m corectori
Pentru a indica poziţia erorii - unul din cele n simboluri ale cuvântului de cod, sau pentru
a indica absenţa erorilor este necesar ca numărul corectorilor 2 m ≥ n + 1.
Cum n = k + m, o să avem că: 2m≥ m + k + 1
– m numărul simbolurilor de control;
– k numărul simbolurilor folosite pentru codificarea primară a informaţiei.
In exemplu, pt k=8 => 2m ≥m+8+1 => 2m ≥m+9 => m=4 (16>13)
=> 4 cifre de control, 4+8=12 cifre binare pentru secventa codului Hamming
37. Care este relația utilizată pentru calcularea cifrelor de control în codificarea
Hamming?
H vT = 0 , unde H este matricea de control si v este cuvantul receptionat in binar
38. Care este relația pentru determinarea corectorului la receptionarea unei secvențe
Hamming?
39. În ce constă un cod liniar cu control încrucișat? Cum se realizează controlul în cazul
codurilor liniare cu control încrucişat? Exemplificaţi.
Codul liniar cu control incrucisat consta in structurarea informatiei pe blocuri de
secvente de cod si atasarea unui bit de control, o data fiecarei secvente (control linie) si alta
data la fiecare coloana ce contine bitii de acelasi rang din toate secventele (control coloana).
??? Controlul se realizeaza fie prin paritate para, fie prin paritate impara. ???
41. Cum se verifică dacă un bloc de informație a fost recepționat cu erori sau fără erori
(în cazul codurilor liniare cu control încrucișat)?
42. Care este criteriul pentru detecţia erorilor în cazul codurilor polinomiale ciclice?
Criteriul pentru detectia erorilor este divizibilitatea polinomului T(x) (asociat mesajului
transmis) prin G(x) (polinomul de generare).
50. Care este algoritmul pentru conversia numerelor întregi? Dați un exemplu.
(NI)b - reprezintă partea întreagă a numărului (N)b;
51. Care este algoritmul pentru conversia numerelor fracționare? Dați un exemplu.
10
11
56. Care este forma de scriere a unui număr pentru reprezentarea în virgulă mobilă? Dați
un exemplu.
12
57. Care sunt zonele pentru reprezentare a unui număr în virgulă mobilă? Exemplu
Reprezentarea în calculator, implică existenţaa trei câmpuri, acestea fiind:
• bitul de semn:
S = 0, daca N >=0
S= 1, daca N<0
• zona exponentuluisaucaracteristica; valoarea este determinatăprinrelaţia:
EXP=exponent real + constantăexces
58. Cum trebuie să fie valoarea fracției (din reprezentarea unui număr în virgulă mobilă)?
valoarea fracţiei trebuie să fie normalizată, de obicei respectă relaţia:
1/b <= (f)b <1
59. Care sunt formatele utilizate pentru reprezentarea unui număr în virgulă mobilă?
13
14
15
Forma canonică conjunctivă (FCC) pentru funcţiile booleene de n variabile se poate scrie:
16
17
77. Prin ce se caracterizează circuitele logice secvențiale? Dați exemplu de circuit logice
secvențial.
Circuitele logice secvențiale se caracterizează prin aceea ca valoarea funcției de la ieșire , la un
moment dat t, depinde atât de valorile variabilelor de intrare la momentul t , cât si de valoarea
pe care a avut-o anterior funcția .
Exemple de circuite logice secvențiale : circuite ce conțin o structura logica combinationala ,
poarta (SI,SAU,etc ) si o structura de memorare .
18
Matricea de comutaţie este un circuit logic cu ieşiri multiple - ieşirile sunt dependente
de intrări print-o relaţie matricială.
86. Având în vedere modul de utilizare, care sunt tipurile de matrice de comutație?
Matricea pentru codificare - codifică datele care se prelucrează prin sistemul de calcul;
19
Matricea pentru distribuţie are rolul de a selecta o ieşire,din cele 2n,spre care se transferă
informaţia de pe intrare.
20
88. Care este unitatea funcțională cea mai importantă a unui sistem de calcul?
89. Care sunt componentele de bază ale unui microprocesor UCP? Care este rolul UCP-
ului? NU ȘTIU DACĂ E CORECT RĂSPUNSUL, ASTA E TOT CE AM GĂSIT ÎN
PREZENTĂRILE EI ÎN LEGĂTURĂ CU ÎNTREBAREA
21
Unitatea aritmetico-logică(UAL);
Unitatea de control
Un ansamblu de registre.
b) UCP coordoneaza activitatea din calculator in vederea procesării datelor. Pentru
aceasta, ea primeste si transmite date in mod continuu. Unitatea centrala procesare
opereaza cu doua tipuri de date.
91. Cum pot fi clasificate sistemele de calcul în funcţie de numărul unităţilor de procesare?
22
100. Care sunt unităţilefuncţionale de bază ale microprocesorului Intel 80386? Menționați
rolul fiecărei unități funcționale.
Unitatea de interfaţă cu magistrala externă asigură legătura între processor şi celelalte blocuri
funcţionale ale sistemului (memorie şi unităţile periferice).
Unitatea de pregătire anticipată a instrucţiunii gestionează fluxul instrucţiunilor pentru a
menţine plină coada instrucţiunilor.
Unitatea de decodificare a instrucţiuniipreiaocteţii din coada instrucţiunilor şi asigură
translatarea lor în microcod. Rezultatul este transferat într-un nou şir de aşteptare.
Unitatea de execuţie este componentunităţii central unde se realizează calculi aritmetice şi
logice: adunare, scădere, înmulţire, împărţire, deplasări. Unitatea conţine un set de registre
pentru operare.
Unitatea de adresare a memoriei prin:
23
101. Care sunt categoriile de registre ale arhitecturii de bază pentru un microprocesor
Intel 80386 [Pentium]?
[în cazul in care nu înțelegeți scrisul din poze -> Capitolul 6: Memoria sistemelor de calcul,
slide-urile 4 si 5]
• Ce este memoria principală (capacitatea de stocare primară)?
RAM (Random Access Memory) este principala zonă de stocare la care UCP are acces.
24
25
26
27
129. Cum se pot transmite datele în sistemele de calcul? (Ce înțelegeți prin transmisie
serială/paralelă?)
– transmisia serială
Transmisia de date serială în tehnologia informației, este o tehnologie de comunicație între
calculator și dispozitivele periferice, în care biții de date sunt transferați succesiv de-a lungul
unui canal de comunicare sau magistrală.
De exemplu, PC-urile deţin porturi seriale de tip RS-232. Dispozitivele care se conectează
printr-o interfaţă RS-232 sunt denumite:
– DTE (Data Terminal Equipment) - în mod obişnuit este un calculator;
– DCE (Data Communication Equipment) - în mod obişnuit este un modem.
Porturile seriale (COM) se utilizează pentru a conecta: mouse, modem, adaptoare ISDN
(Integrated Services Digital Network), imprimantă cu interfaţă serială, camera digitală.
– transmisia paralelă
Transmisia de date paralelă constă în transmiterea simultană a doi sau mai mulți biți pe mai
multe canale paralele. Comparativ cu transmisia serială, transmisia paralelă are performanțe
mai ridicate în ceea ce privește viteza de transfer la aceeași frecvență.
Porturile paralele (LPT – Line Print Terminal) sunt utilizate pentru a conecta: imprimanta, disc
Zip, disc portabil de CD-ROM, adaptoare SCSI (Small Computer System Interface), camera
digitală, scanner.
130. Ce reprezintă întreruperea intr-un sistem de calcul?
În sistemele de calcul, o întrerupere determină oprirea temporară a executării normale a unui
program pentru a se executa un alt program specializat (denumit rutină de întrerupere), ulterior
se poate relua execuţiei programului suspendat (depinde de tipul întreruperii).
131. Care sunt tipurile de întreruperi hardware? În ce condiții apar?
Întreruperi hardware (sunt tratate în mod asincron în raport cu programul în execuție):
− interne - apar ca urmare a unor condiții speciale de funcționare a microprocesorului, cum ar
fi execuția pas cu pas a unui program;
− externe – când cererile de întrerupere provin de la echipament periferice care solicită transfer
de date sau de la circuite specializate care urmăresc funcționarea normală a componentelor
fizice.
28
29
148. Tipuri de servere care pot exista intr-o rețea? Ce este un server?
Serverele din reţea pot fi specializate, fiind adaptate necesităţilor utilizatorilor:
– File Servers - serverele de fişiere sunt folosite în general pentru stocarea datelor şi fişierelor.
Fişierele se păstrează pe un calculator gazdă (file server), iar aplicaţia (programul) se execută
pe calculator client. În timpul execuţiei programelor, datele sau fişierele sunt descărcate pe
calculatorul client
– Web servers - servere pentru partajarea de conținut prin Internet;
– Database servers - pentru stocarea bazelor de date și accesarea lor;
– Print server - pentru partajarea imprimantei în rețea;
– Alte tipuri de servere de: fax, mail, aplicaţii, de comunicaţii etc.
149. Care este modelul după care funcționează majoritatea sistemelor de
operare/aplicațiilor în rețea?
Majoritatea sistemelor de operare funcționează după modelul client/server
150. Ce este Internet-ul?
Internetul a devenit un fenomen global care a schimbat profund natura comunicării dintre
oameni şi afaceri.
Infrastructura Internet este o reţea de rețele care conectează calculatoare şi alte dispozitive
electronice prin intermediul reţelelor de telecomunicaţii.
INTERNET = ansamblu de infrastructuri + servicii + utilizatori + resurse
151. Care sunt serviciile accesibile prin Internet?
Internet reprezintă un mediu de comunicare interactiv care oferă accesul la o serie de servicii,
cum ar fi : − poşta electronică;
− transferul de fişiere;
− chat;
− web;
− telefonie prin Internet (VoIP- Voice over Internet Protocol);
− distribuirea ştirilor prin RSS (Really Simple Syndication)/Atom;
− video la comandă;
− radio şi televiziune prin Internet ;
152. Ce înțelegeți prin arhitectura TCP/IP?
TCP (Transmission Control Protocol) asigură un serviciu orientat pe conexiune pentru
transmisia fiabilă a datelor. Protocolul TCP realizează: transferul fluxului de date, asigură
fiabilitatea, controlul fluxului, multiplexarea şi conexiunea logică.
Funcţiile de bază ale protocoluluiIP (Internet Protocol) sunt:
• Definirea unităţilor de bază pentru transmisiile pe Internet (datagrama);
• Definirea planului de adresare Internet;
• Circulaţia datelor între nivelul acces reţea şi nivelul transport pentru fiecare staţie ;
• Direcţionarea unităţilor de date către calculatoarele de la distanţă;
• Fragmentarea şi reasamblarea unităţilor de date.
153. Care este sintaxa pentru numele simbolic al unui host (conform DNS - Domain Name
Service) ?
Numele simbolic al unui host, conform DNS, are următoarea sintaxă:
nume_host.nume_subdomeniu.nume_domeniu
154. Care este structura unei adrese IPv4? Care este formatul pentru reprezentarea unei
adrese IPv4? Care sunt clasele adreselor IPv4?
Adresa IPv4 =<numar_retea> < număr_host>
• număr_reţea este componenta adresei IP unică în Internet.
• număr_host în cadrul reţelei este stabilit de administratorul de reţea, fiind unic la nivel local.
Adresa IPv4 se reprezintă printr-un format zecimal cu punct: n1 .n2 .n3 .n4
30
-capacitatea de stocare
-capacitatea de prelucrare
-capacitatea de comutare
Avantaje:
- partajarea resurselor logice și fizice
-mediu de comunicare rapida
-mediu de lucru colaborativ
-acces la internet
-îmbunătățirea performanțelor
-posibilitatea de petrecere a timpului liber
-securitatea și managementul datelor
Dezavantaje:
-costurile pt hardware și software
-costurile de administrare
-partajări nedorite
-preocuparea pentru securitatea rețelelor și datelor
31
-magistrală
-stea
-inel
-arbore
-plasa total conectată
-calculatoare
-echipamente periferice
-plăcile cu interfață de rețea
-alte echipamente necesare procesării datelor și comunicației în rețea: transceiver, receptor, hub,
bridge, comutator etc.
32