CATEGORII DOCUMENTE |
Astronomie | Biofizica | Biologie | Botanica | Carti | Chimie | Copii |
Educatie civica | Fabule ghicitori | Fizica | Gramatica | Joc | Literatura romana | Logica |
Matematica | Poezii | Psihologie psihiatrie | Sociologie |
INTRODUCERE
IN SISTEMELE DE PRELUCRARE NUMERICA
Obiectivele acestui capitol sunt
un scurt istoric al evolutiei sistemelor de calcul numerice;
studiul sistemelor de numeratii, al codurilor numerice si alfanumerice;
o prezentarea generala a suportului binar al electronicii numerice;
organizarea interna si functionarea unui microcalculator;
asemanarea si diferenta dintre microprocesor si microcontroler;
schema bloc a unui microcontroler
domeniile de utilizare ale microcontrolerelor;
evolutia pietei de microcontrolere
Scurt istoric
In acest paragraf sunt punctate succint principalele evenimente care au marcat aparitia si evolutia calculatorului (sau computer - in limba engleza desemnand calcule sau lucru cu numere), in general si a microcontrolerelor in particular.
1.1.1 Care a fost preistoria calculatorului ?
Istoria timpurie a calculatoarelor poate fi considerata incepand cu Charles Babbage, un inventator britanic, autorul masinii analitice in anul 1830. Ideea teoretica descria principii asemanatoare cu ceea ce fac si calculatoarele din ziua de astazi dar, dezvoltarea tehnologica din secolul trecut nu a permis realizarea practica a masinii.
O idee mai practica a avut-o americanul Hermann Hollerith care a patentat o masina de calculat in anul 1889. Masina lui Hollerith lucra cu cartele perforate si a fost utilizata ani de zile in scopuri statistice. Compania lui Hollerith, denumita Tabulating Machine Company a fost absorbita in anul 1924 de alta firma, formand impreuna vestita International Business Machines Corporation
Un pas esential in progresul calculatoarelor l-a constituit introducerea algebrei booleene, o algebra care lucreaza numai cu doua cifre 0 si 1. Algebra dezvoltata de Boole a permis implementarea ulterioara a calculatoarelor electronice, sisteme uriase care contineau milioane de mici comutatoare care nu puteau avea decat doua stari: deschis (asociat de regula cifrei 0) si inchis (1). Comutatoarele sunt cunoscute astazi sub denumirea de biti. In calculatoarele moderne, grupul de 8 biti este un bloc fundamental si are numele de octet (in limba engleza byte si prescurtat B).
In Marea Britanie Alan Turing a pus bazele logicii simbolice in anul 1937 (articolul On Computable Number), printr-o analiza comparata cu activitatea mentala umana. De asemenea, el a fost primul care a introdus conceptul algoritm, o metoda de prelucrare a datelor stabilita de un operator uman, precum si automatul capabil sa execute instructiunile algoritmului.
Al doilea razboi mondial a constituit un stimul puternic pentru dezvoltarea tehnicii de calcul. In Statele Unite, Mark Aiken a realizat MARK 1, un calculator format din 3304 comutatoare. Destinatia sa era, din pacate, strict militara: tabele de tragere pentru artilerie. Dezvoltarea teoretica adusa de Turing, a permis unei echipe britanice realizarea unei masini automate bazate pe comutatoare cu tuburi electronice, masina folosita pentru descifrarea mesajelor Enigma ale marinei militare germane.
1.1.2 Care a fost primul calculator electronic ?
Din punct de vedere istoric, primul calculator electronic universal din lume poate fi considerat ENIAC. Acesta a fost realizat de Statele Unite, continea 17 468 tuburi electronice ocupand o suprafata de 450 m Din punct de vedere al puterii de calcul al calculatoarelor actuale, ENIAC era mai putin performant decat un calculator de buzunar [1].
1.1.3 Care a fost salturile tehnologice majore in domeniul calculatorului electronic
Un prim salt tehnologic extraordinar a fost realizat de Bell Laboratories prin inventia tranzistorului, dispozitivul minune: mai rapid, mai mic si mai ieftin decat tubul electronic.
Progresele microelectronicii au permis realizarea, in anul 1958, de catre firma Texas Instruments, a primului circuit integrat, o reuniune de tranzistoare, diode, rezistente si condensatoare. Avantul tehnologic al microelectronicii, a facut posibila realizarea primelor calculatoare universale initial cu tranzistoare (generatia a II-a), ulterior cu circuite integrate (generatia a III-a).
Este anul 1969, si o echipa de ingineri japonezi de la compania BUSICOM sosesc in Statele Unite cu cererea ca unele circuite integrate pentru calculatoare sa fie facute folosind proiectele lor. Propunerea a fost facuta catre INTEL, iar Marcian Hoff a fost desemnat responsabil cu acest proiect. Pentru ca el era cel ce avea experienta in lucrul cu un calculator (PC) PDP8, i-a venit ideia sa sugereze o solutie diferita fundamental in locul constructiei propuse. Aceasta solutie presupunea ca functionarea circuitului integrat este determinata de un program memorat in el. Aceasta a insemnat ca configuratia ar fi fost mult mai simpla, dar aceasta ar fi cerut mult mai multa memorie decat ar fi cerut proiectul propus de inginerii japonezi. Dupa un timp, cu toate ca inginerii japonezi au incercat sa caute o solutie mai simpla, ideea lui Marcian a castigat, si a luat nastere primul microprocesor.
1.1.4 Care a fost evolutia microprocesorului
In transformarea unei idei intr-un produs finit, Frederico Faggin a fost de un ajutor major pentru INTEL. El s-a transferat la INTEL, si doar in 9 luni a reusit sa scoata un produs din prima sa conceptie. INTEL a obtinut drepturile de a vinde acest bloc integral in 1971. In primul rand ei au cumparat licenta de la compania BUSICOM care nu au avut idee de ce comoara avusesera. In timpul acelui an a aparut pe piata un microprocesor numit 4004. Acela a fost primul microprocesor de 4 biti cu viteza 6000 operatii pe secunda. Nu mult dupa aceea, compania americana CTC a cerut de la INTEL si de la Texas Instruments sa faca un microprocesor pe 8 biti pentru folosinta in terminale. Cu toate ca CTC a renuntat la aceasta idee pana la sfarsit, INTEL si Texas Instruments au continuat sa lucreze la microprocesor si in aprilie 1972 a aparut pe piata primul microprocesor de 8 biti sub numele de 8008. Putea sa adreseze 16Kb de memorie si avea 45 de instructiuni si viteza de 300.000 de operatii pe secunda. Acel microprocesor a fost predecesorul tuturor microprocesoarelor de astazi. INTEL au continuat dezvoltarile lor pana in aprilie 1974 si au lansat pe piata microprocesorul de 8 biti sub numele de 8080 ce putea adresa 64Kb de memorie si avea 75 de instructiuni, iar pretul incepuse de la 360$.
Intr-o alta
companie
Pana la sfarsitul anului 1976, pe piata se gaseau deja 40 de tipuri diferite de microprocesoare pe 8 biti. Situatia a dus la dezvoltarea unor circuite periferice si de suport specifice pentru fiecare firma, multe dintre ele fiind gandite chiar inainte de lansarea microprocesorului .
In anul 1974 aparea primul procesor de 16 biti PACE (Processing and Control Circuit), urmat imediat de mai cunoscutele Intel 8086, Motorola 68000 sau Zilog Z8000. Utilizarea acestor procesoare in microcalculatoarele dezvoltate de Apple sau IBM au obligat la trecerea in faza urmatoare: microprocesoarele de 32 de biti (familia Intel iAPX432 - I 80x86 sau Motorola M 680x0). Limitarile tehnologice au impus o limita in dezvoltarea unor alte procesoare, preferandu-se o reorganizare a logicii procesului: in loc de a dezvolta procesoare complexe, cu mii de instructiuni s-a simplificat la maxim structura interna a circuitului, reducand drastic setul de instructiuni. Avantajul este evident: in locul unui procesor cu multe instructiuni (CISC - Complex Instruction Set Computing) la care se consuma mult timp pentru fiecare instructiune, un procesor cu putine instructiuni (RISC - Reduced Instruction Set Computing) va executa extrem de rapid orice instructiune. Simplificarea structurii interne prin micsorarea decodificatorului de instructiuni, a permis integrarea unor module noi, cum ar fi procesoarele de virgula mobila, cresterea vitezei de executie si, nu in ultimul rand, marirea magistralelor interne sau externe pana la 128 de biti. Realizari deosebite in domeniul procesoarelor RISC constituie familiile SPARC (Sun Microsystems), PowerPC (Motorola), MIPS (Silicon Graphics), Alpha (fost Digital Equipment Corporation, actualmente proprietatea Compaq) etc.
Dominarea procesoarelor RISC este contrazisa de o singura exceptie CISC notabila: familia Intel Pentium. Procesoarele RISC au permis realizarea unui mainframe impresionant: calculatorul Cray 3D, realizat de firma Cray Research in anul 1991 are in compunere 256 procesoare RISC de 64 biti, o frecventa a ceasului de 300 MHz si un hard-disk de 430 TB (430 000 000 MB).
Evolutia a continuat rapid, si la ora actuala vorbim de microprocesoare.. o fraza, doua.
1.1.5 Cand s-a realizat primul microcontrler si care a fost evolutia sa
Integrarea in acelasi chip a circuitelor periferice a condus la realizarea microcalculatorului pe o singura structura - microcontrolerul.
Primul microcontroler, Intel 8048, (realizat in ) avea urmatoarea structura: unitate centrala, memorii RAM si ROM, circuite de intrare-iesire. Nici acest circuit nu a avut un mare succes. Abia in anul 1981, o data cu noul model IBM PC, microcontrolerul 8048 si-a dovedit versatilitatea, fiind folosit pentru controlul tastaturii acestor tipuri de calculatoare. Succesul deosebit al acestui microcontroler a condus la dezvoltarea continua a acestor dispozitive: au inceput sa fie integrate periferice pentru comanda unor dispozitive de afisare, convertoare analog/numerice (ADC) si numeric/analogice (DAC), numaratoare etc.
Unul din cele mai utilizate microcontrolere de 8 biti a fost Intel 8051, bazat pe o structura de 8048 la care se adaugau si o interfata seriala asincrona, doua numaratoare de 16 biti, avand de asemenea, capabilitati sporite pentru memorii. Avand exemplul firmei Intel, majoritatea celorlalti producatori au inceput sa produca circuite asemanatoare, unele dintre ele fiind nevoite sa cumpere licenta de productie.
In anul 1991 Philips a achizitionat licenta, deja anticului 8051, producand seria de microcontrolere 8xC552. Acestea aveau un nucleu 8051, la care se mai adauga un convertor analog/numeric cu 16 intrari, un numarator suplimentar cu registre de captura si comparare, un numarator pentru initializare (watchdog), doua iesiri de impulsuri modulate in durata, o interfata seriala sincrona pentru standardul I2 C.
Controlerele au urmat indeaproape evolutia procesoarelor: concomitent cu circuitele pe 16 biti au aparut controlere similare (de exemplu Intel 80186); filozofia RISC a fost implementata si in universul controlerelor prin circuitele Siemens 80C16x sau Motorola 68332.
In incheiere, trebuie amintit de circuitele DSP (Digital Signal Processor sunt o sinteza a procesoarelor standard si a controlerelor. Aceste circuite, special proiectate pentru prelucrarea semnalelor in timp real, beneficiaza de o unitate de calcul in virgula fixa si flotanta extrem de performanta, au integrate circuitele principale de interfata (memorii, convertoare analog/numerice si numeric/analogice ultrarapide, comunicatii seriale sincrone si asincrone, numaratoare etc.), fiind capabile, de exemplu, sa efectueze calculul pentru o transformata Fourier rapida in 1024 de puncte in mai puti de 1 s. Astfel, ultima creatie a firmei Advanced Micro Device, procesorul Athlon, are un nucleu DSP care executa instructiuni specifice pentru: modem, Dolby stereo, fisiere MP3 si software ADSL [2].
1.2 Sisteme de numeratie
A fost dificil pentru oameni sa accepte faptul ca unele lucruri difera de ei si de modul lor de gandire. Acesta este probabil unul din motivele pentru care sistemele numerice care difera de cele zecimale sunt inca greu de inteles. Totusi, fie ca le vrem ori nu, realitatea este diferita. Sistemul numeric zecimal pe care oamenii il folosesc in viata de fiecare zi este de departe in urma sistemului binar folosit de milioane de calculatoare in lumea intreaga.
Prin sistem de numeratie se intelege totalitatea regulilor de reprezentare cu ajutorul simbolurilor denumite cifre. Sistemele de numeratie pot fi pozitionale si nepozitionale. Un exemplu de sistem pozitional este sistemul zecimal (ex. 125), iar de sistem de numeratie nepozitional sistemul roman (ex. XXL).
Intr-un sisem pozitional de baza B un numar N cu parte intreaga si parte fractionara, separate prin punct (virgula) se scrie sub urmatoarea forma:
N = bn-1 bn-2. bi ..b1b0 , b-1 b-2.. b-i . b-(m-1) b-m , (1.1)
Simbolurile bi sunt coeficienti cu care se inmultesc puterile Bi ale bazei in dezvoltarea polinomiala a numarului pentru obtinerea valorii sale (exprimate in zecimal).
N = bn-1Bn-1 + bn-2Bn-2 .+ biBi +..+b0B0 + b-1B-1 +b-2B-2. + b-mB-m (1.2 )
Fiecare sistem numeric se bazeaza pe o fundatie. La un sistem numeric zecimal, baza este 10, la binar 2, si la sistemul hexazecimal 16. Valoarea fiecarui zecimal este determinata de pozitia lui in relatie cu intreg numarul reprezentat in sistemul numeric dat. Suma valorilor fiecarui zecimal da valoarea intregului numar.
OBS: Pentru microcontrolere si microprocesoare sunt interesante, in special, sistemele de numeratie binar si hexazecimal. Chiar daca un sistem numeric zecimal este un subiect cu care suntem bine familiarizati, il vom discuta aici din cauza legaturii sale cu alte sisteme numerice.
Sistemul zecimal
Sistemul de numeratie zecimal este definit de baza lui 10 si de spatiul zecimal care este numarat de la dreapta la stanga, si consta din numerele 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Aceasta inseamna ca numarul din capatul din stanga a sumei totale este multiplicat cu 1, urmatorul cu 10, urmatorul cu 100, etc. (vezi figura 1.5)
OBS: Se pare ca intre sistemul zecimal si numarul degetelor de la cele doua maini ar putea fi o legatura !
Sistemul binar
Sistemele numerice binare difera in multe aspecte de sistemul zecimal pe care il folosim in viata de zi cu zi. Baza lui numerica este 2, si fiecare numar poate avea doar doua valori, '1' sau '0'. Sistemul numeric binar este folosit in calculatoare si microcon-trolere pentru ca este de departe mai potrivit pentru procesare decat un sistem zecimal. Uzual, numarul binar consta din 8, 16, sau 32, de unu-uri si zero-uri, ca de exemplu
un numar binar cu 8 digiti, denumit byte sau octet.
Conversia binar-zecimal
Ceea ce ne ramane este sa ne acomodam cu logica care este folosita la sistemul numeric binar, sau cu cum sa obtinem o valoare numerica dintr-o serie de zero-uri si unu-uri intr-un fel in care sa-l intelegem, bineinteles. Aceasta procedura se numeste conversia dintr-un numar binar intr-unul zecimal.
Dupa cum puteti vedea, convertirea unui numar binar intr-unul zecimal se face prin calcularea expresiei din partea stanga (figura 1.6). Depinzand de pozitie intr-un numar binar, cifrele poarta diferite valori care sunt multiplicate cu ele insele, si prin adunarea lor obtinem un numar zecimal pe care il putem intelege.
Conversia zecimal - binar
A. Conversie zecimal-binara a unui numar intreg
Algoritmul de conversie zecimal-binara, N10 -> N2 sau D(decimal) -> B(binar) pentru un numar intreg se deduce pornind de la expresia (1.2 ) scrisa sub forma :
N = bn-1 .2n-1 + bn-2.2n-2 + b3 .23 + b2 .22 + b1 .21 + b0 .20 (1.3)
Prin impartiri succesive cu 2 se obtine:
N = 2.( bn-1 .2n-2 + bn-2.2n-3 + b3 .22 + b2 .21 + b1 ) + b0 (rest)
_________________ N1 _____ _______ ______ _______
N1 = 2. (bn-1 .2n-3 + bn-2.2n-4 + b3 .21 + b2 ) + b1 (rest)
_______________ N2__________________
Nk = 2(bn-1 .2n-k-2 + bn-k-1. ) + bk (rest)
S-au obtinut astfel resturile care sunt tocmai bitii numarului N exprimat in binar.
Exemplul 1.1 : 93D = ? B pe 8 biti;
---------- 0 ( 21 )
---------- 1 ( 23 )
2 = 2. 1 + 0 ----------- 0 ( 25 )
1 = 2. 0 + 1 ----------- 1 ( 26 )
0 = 2. 0 +0 --------- 0 ( 27 )
deci: 93D = 01011101B ; N = 0.27 + 1.26 +0.25 +1.24 +1.23 +1.22 +0.21 + 1.
B. Conversia zecimal - binara a unui numar fractionar (subunitar)
Algoritmul de conversie zecimal-binara pentru un numar fractional se deduce pornind de la relatia (1.2) scrisa sub forma:
N = b-1.2-1 + b-2.2-2 + b-3.2-3 + .+b-(m-1).2-(m-1) + b-m.2-m (1.4)
Prin inmultiri succesive cu 2 se obtine:
N x 2 = b-1 + b-2.2-1 + b-3.2-2 + .+b-(m-1).2-(m-2) + b-m.2-m+1
___________ N2 _____ _______ ______ ______
N2 x 2 = b-2 + b-3.2-1 + .+b-(m-1).2-(m-3) + b-m.2-m+2
____________ N3 _____________
.
Nk x 2 = b -k + b-k-1 + b-m.2-(m+k)
____ Nk __
Se obtin parti intregi (zero sau unu) care sunt tocmai biti numarului N exprimat in binar (inmultirea se opreste cand partea fractionala devine zero sau cand se considera satisfacator un numar de cifre binare pentru precizia stabilita).
Exemplul 1.2: 0, 625 D = ? B
0,625 x 2 = 1 + 0,250 ------ b-1 = 1
0,250 x 2 = 0 + 0,500 ------- b-2 = 0
0,500 x 2 = 1 + 0,0 --------- b-3 = 1
0,000 x 2 = 0 + 0,0 --------- b-4 = 0
deci: 0,625 D = 0.1010 B
Pentru conversia zecimal-binara a unui numar ce prezinta atat parte intreaga cat si parte fractionala se combina cei doi algoritmi. Astfel : N = 93,625D = 01011101.1010 B
N= 0.27 + 1.26 +0.25 +1.24 +1.23 +1.22 +0.21 + 1.20 +1.2-1 + 0.2-2 +1.2-3
Sistemul de numeratie hexazecimal
Sistemul numeratie hexazecimal are numarul 16 ca baza a sa. Pentu ca baza unui sistem numeric este 16, sunt 16 cifre care se pot gasi intr-un numar hexazecimal. Aceste cifre sunt '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F'. Literele A, B, C, D, E si F nu sunt altceva decat valorile 10, 11, 12, 13, 14 si 15. Ele s-au introdus ca un inlocuitor pentru a face scrierea mai usoara. Ca si la sistemul binar, aici de asemenea, putem determina cu aceeasi formula care este cel mai mare numar zecimal pe care il putem reprezenta cu un numar specific de cifre hexazecimale. Exemplu: 162 - 1 = 256 -1 = 255 este cel mai mare numar cu doua cifre in hexazecimal (FF).
Uzual, numarul hexazecimal este scris cu un semn 'h' dupa sau '0x' inanitea lui, pentru a evidentia sistemul numeric. Astfel, numarul A37E ar fi scris mult mai corect ca A37Eh sau 0xA37E
Conversia hexazecimal-binar
Pentru a transla un numar hexazecimal intr-un sistem numeric binar nu este necesar de a face nici un calcul ci simpla schimbare de cifre hexazecimale cu cifre binare. Pentru ca valoarea maxima a numarului hexazecimal este 15, aceasta inseamna ca este suficient sa se foloseasca 4 cifre binare pentru o cifra hexazecimala (vezi tabelul 1.1).
Tabelul 1.1
Baza 10 (zecimal) |
Baza 2 (binar) |
Baza 16 (hexazecimal) |
0 | ||
A |
||
B |
||
C |
||
D |
||
E |
||
F |
Exemplul 1.3 : 0xE41 = 111001000001
Conversia binar- hexazecimal
Pentru obtine reprezentarea hexazecimala a unui numar binar se p0rneste de la dreapta la stanga numarului binar, se grupeaza cate 4 biti si se inlocuesc cu echivalentul lor hexazecimal.
Exemplul 1.4:
1010001101111110= 10100011011111102 = A37E16
Conversia hexazecimal-zecimal
Pentru acest tip de conversie exista doua metode. Prima este ilustrata in figura 1.8 si este bazata pe relatia (1.2) in care fiecare cifra a numarului se inmulteste cu numarul 16 la puterea data de pozitia sa in sirul numarului in hexazecimal. A doua metoda consta in conversia hexa-binar urmata de conversia binar-zecimal bazata tot pe relatia (1.2).
Conversia zecimal-hexazecimal
Se pot utiliza doua metodea:
se converteste din zecimal in binar si apoi in hexazecimal
Exemplul: 1.5
8910 = 10110012 si apoi 01011001= 5916.
se realizeaza conversia directa din zecimal in hexazecimal utilizand impartirea repetatala 16 si apoi se iau resturile in ordine inversa.
Exemplul 1.6: Sa se converteasca in hexazecimal numarul 4185410
2325 = 16 x 145 + 5 rest = LSB
145 = 16 x 9 + 1 rest
9 = 16 x 0 + 9 rest = MSB
deci: 232510 =91516
Adunarea si scaderea in hexazecimal se face intr-o maniera similara ca in zecimal.
Exemplul 1.7: 3A2B + primul numar
A9C1 al doilea numar
----- ----- ----------
E3EC rezultat
Se aduna cifrele de la stanga la dreapta. Daca suma dintre doua este peste 16, se retine valoarea care depaseste si se aduna 1 la suma cifrelor din pozitia urmatoare. Verificand, algoritmi prezentati obtinem in zecimal, 14891 ca prim numar, si al doilea este 43457. Suma lor este 58348, care este numarul E3ECh cand este transferat in sistemul numeric zecimal.
La scadere daca numarul pe care il scadem este mai mare, imprumutam din urmatorul loc al valorii mai mari.
Exemplu 1.8: 2D46 - primul numar
1752 al doilea numar
----- ----- --------- ----- ------
15F4 rezultat
Verificand rezultatul, obtinem valorile 11590 pentru prmul numar si 5970 pentru al doilea, cand diferenta lor este 5620, ceea ce coresponde numarului 15F4h dupa transferul intr-un sistem numeric zecimal
1.3 Coduri numerice
Prin codificare se realizeza o schimbare aformei de exprimare a informatiei, altfel spus o translatare de limbaj. Exista doua tipuri de coduri: numerice si alfanumerice.
Prin intermediul cuvintelor binare se pot codifica numere din sistemul de numeratie binar, octal, zecimal, hexazecimal etc., rezultand respectiv coduri binare, octal-binare, zecimal-binare, hexazecimal binare etc.
Coduri numerice binare - NB
NB.1- Reprezentarea numerelor intregi fara semn.
Corespondenta intre un numar in sistemul binar si un cuvant (de cod) in binar poate fi chiar identitatea, adica cuvantul de cod este chiar numarul respectiv asa cum se prezinta in figura 1.9a.
a)
Un cuvant de un octet poate reprezenta numere intre 0 si 255, deci o marime fizica exprimata printr-un cuvant de 8 biti poate fi masurata cu o rezolutie de 1/256. In cazul cand aceasta rezolutie nu este satisfacatoare pentru marimea respectiva (se exprima printr-un numar mai mare de 256) cuvantul care reprezinta in microcontroler va fi format din doi, trei sau mai multi octeti alaturati. Un numar zecimal N poate fi exprimat in binar printr-un numar de biti egal cu din log2 N .
NB.2 - Reprezentarea numerelor fractionare fara semn
La fel ca si numerele intregi, numerele fractionare binare pot fi reprezentate printr-un cuvant binar ( figura 1.9b). Punctul (virgula) nu se reprezinta fizic (in registru sau locatie de memorie), dar programatorul trebuie sa stie intre care biti ai cuvantuluieste localizat.Uneori, fiecare numar binar de n biti ,avand valoarea zecimala 2n-1 (exemplu, n = 8; N=255) este inmultit (scalat) cu 2-n , deci se reduce la un numar subunitar, punctul (virgula) se considera ca fiind localizat in fata bitului cel mai semnificativ.Valoarea maxima se reduce prin urmare la 1-2-n, intervalul maxim de reprezentare in microcontroler fiind intre 0 si 1-2-n.
NB.3 Reprezentarea numerelor cu semn
Pentru reprezentarea unui numar binar N intreg, cu semn, de n-1 biti,
N= bn-2 bn-3 bn-4 b2 b1 b0 (1.5)
cu valoare absoluta N= in tehica microprocesoarelor si microcontrolerelor este necesar un registru sau o locatie de memorie cu capacitatea de n biti. Bitul bn-1 cel mai semnificativ (MSB) al registrului adaugat la cei n-1 biti va reprezenta semnul numarului : bn-1=1 pentru minus, bn-1=0 pentru plus. Exista trei forme (mai uzuale) de reprezentare anumerelor binare cu semn:
in marime si semn;
in complement fata de 1;
in complement fata de 2.
a) Reprezentarea numerelor binare (cu semn) in marime si semn.
In aceasta reprezentare bitul bn-1=1 pentru minus, bn-1=0 pentru plus, restul bitilor bn-2 bn-3 bn-4 b2 b1 b0 reprezentand numarul in valoare absoluta. Valoarea in zecimal a numarului se poate situa in intervalul:
-(2n-1-1) < N < (2n-1-1) (1.6)
Din relatia (1.6 ) se deduce ca un cuvant standard de un byte poate exprima numere in domeniu -127 +127.
Exemplul 1.9 :
N1 = 01111101B = +125D
N2 = 11111101 B = -125D
Un numar N cu semn, de lungime n-1 biti, poate fi reprezentat si scalat, adica impirtit cu 2n-1 obtinandu-se conform relatiei (1.4 ) domeniul de existenta al numarului:
(1.7)
Pentru numarul scalat se considera ca punctul (virgula) este situat totdeauna dupa bitul de semn, MSB.
b) Reprezentarea numerelor binare (cu semn) in complement fata de 1
Fie numarul N cu lungimea de n-1 biti :
N= bn-2 bn-3 bn-4 b2 b1 b0 (1.8 )
Negatul acestui numar N (sau complement fata de 1) se obtine prin complementarea fiecarui bit.
Exemplul 1.10 N = 01111101 B = +125D
= 10000010 B = -125D
a)
Adunand cele doua numere se
obtine:
N + = 11111111 B ( 1.9 )
Codurile de n biti pentru numerele intregi pozitive N ≤ 2n-1 - 1 se obtin, la fel ca la reprezentarea prin marime si semn, adica este chiar numarul de n-1 biti la care se adauga in pozitia cea mai semnificativa bn-1 = 0. Codurile pentru numerele negative de n-1 biti N ≥-(2n-1-1) se obtine prin complementarea fiecarui bit bi = , iar in pozitia cea mai semnificativa se adauga bitul bn-1 = 1.
Obs Zero are doua reprezentari : 00000000 si 11111111
c) Reprezentarea numerelor binare (cu semn) in complement fata de doi.
Codificarea numerelor binare cu semn in complement fata de doi este foarte utilizata, in tehnica microprocesoarelor si microcontrolerelor deoarece simplifica efectuarea operatiilor armetice.
Din relatia ( 1.9 ) se obtine:
N + +1 =10000000 = 2n (1.10)
sau :
2n - N = +1, (1.11)
in care 2n - N este complementul lui N fata de doi.
Se convine a se exprima numarul negativ -N nu prin valoarea sa reala ci prin complementul lui fata de 2n si se scrie sub forma (-N):
(-N) = 2n - N = +1 (1.12)
Un numar pozitiv N de n-1 biti se codifica in complement fata de doi identic ca in complement fata de unu sau ca in marime si semn, adica sub forma unui cuvant de n biti cu cel mi semnificativ bn-1= 0, iar numarul n-1 sunt exact bitii numarului, N.
Un numar negatv -N de n-1 biti se codifica in complement fata de doi astfel : se codifica in complement fata de 1 si se adauga 1 la bitul cel mai putin semnificativ (vezi relatia 1.10 ). Bitul de semn este bn-1 =1, deci cu bitul de semn, cuvantul de cod complement fata de doi are n biti..
Nota: Practic complementul fata de doi al numarului zecimal N (negativ)se obtine in felul urmator:
Se face conversia din zecimal in binar;
Se face complementul fata de unu;
Se aduna 1 la bitul LSB;
Se adauga bitul de semn
Exemplul 1.12: Se considera numarul N= -125 in sistemul zecimal. Sa se reprezinte acest numar in codul complement fata de doi !
In tabelul 1.2 se prezinta axa numerelor intregi pe intervalul [-128, +127] in cele trei reprezentari.
Toate consideratiile privind codificarea numerelor cu semn s-au facut pentru un numar intreg de n biti. Acestea se pot extinde si asupra numerelor fractionare, dar in acest caz este necesar pentru codificare un cuvant pe n + m biti plus bitul de semn. Numerele fractionare pot fi apoi scalate prin impartire cu 2n-1, deci punctul (virgula) va fi situat dupa bitul de semn. Toate aceste codificari scalate cu punctul (virgula) dupa bitul de semn se numesc reprezentare in virgula fixa. Exista si reprezentarea in virgula flotanta dar nu face obiectul acestei lucrari.
Tabelul 1.2.
Numarul |
Reprezentare in marime si semn |
Reprezentare in coplement fata de 1 |
Reprezentare in complement fata de 2 |
Obs: |
nu exista |
nu se poate |
reprezenta |
pe 8 biti |
|
identice |
||||
identice |
||||
identice |
||||
identice |
||||
|
identice |
|||
identice |
||||
identice |
||||
0 000 0000 zero |
identice |
|||
diferite |
||||
nu exista |
nu exista |
Coduri zecimal-binare -BCD
In aceasta clasa de coduri zecimal-binare, BCD (Binary Coded Decimal ) multimea X a sursei primare de informatie care trebuie codificata este formata din simbolurile cifrelor 0,1,28,9, iar multimea cuvintelor de cod trebuie sa contina cel putin zece cuvite distincte. Cuvintele de cod trebuie sa aiba cel putin patru bitit deoarece 23 < 10 < 24 =16. Stabilind corespondente intre mulimea cifrelor zecimale si multimea celor 16 cuvinte binare de patru biti se obtin in total posibilitatii de codificare. Din acest mare numar de coduri posibile exista anumite variante mai uzuale care pot fi divizate in coduri ponderate si coduri neponderate.
Un cod ponderat asociaza fiecarei cifre zecimale o tetrada binara, iar ponderea fiecarui bit din tetrada este egala cu valoarea cifrei din denumirea codului. Cifra zecimala codificata se obtine prin suma bitilor din cuvantul de cod, ponderati cu valoarea corespunzatoare din denumirea codului.
Pentru codul ponderat simbolizat prin 8421, in cuvantul din cod, bitul zero are ponderea 1(=20), bitul unu ponderea 2 (= 21), bitul doi ponderea 4 (=22) si bitul trei ponderea 8 (=23). Deoarece fiecare bit are ponderea numararii in binar si cuvintele de cod chiar numerele succesivein sistemul binar natural, acest cod se mai numeste codul zecimal-binar natural NBCD (Natural-Binary-Coded-Decimal ); in terminologia curenta este denumit (impropiu) doar codul BCD.
Exemplul 1.13: Reprezentarea numarului zecimal 86 in codul NBCD (8421).
Daca numarul zecimal este mai mare de 99, atunci cuvantul de cod necesita mai mult de un bait.
Exemplul 1.14: Numarul 9438 D va avea corespondentul 1001 0100 0011 1000 in codul NBCD
Alte coduri ponderate mai cunoscute sunt: codul 2412 (sau codul Aiken), codul 4221 si codul 7421.
Dintre codurile neponderate cele mai cunoscute sunt:
Codul EXCES 3, care se obtine din cuvantul de cod 8421 al cifrei zecimale respective, la care se adauga 0011, adica 3 in binar.
Codul Gray, care are proprietatea de adiacenta, in sensul ca trecerea de la o cifra zecimala la urmatoarea se face prin modificarea unui singur bit al cuvantului de cod. Acest cod este util pentru marimile care cresc succesiv cum este cazul, spre exemplu, la traductoarele unghiulare de pozitie.
Codul 8421 cu bit de paritate, este un cod detector de erori folosit la transmiterea informatiei in medii puternic influentate de zgomot. In codurile detectoare de erori fiecare cuvant are un numar par sau impar, de exemplu, de biti 1. La emisie se adauga sau nu fiecarui cuvant un bit unu, astfel incat numarul de biti sa fie par sau impar (dupa conventia codului ). La receptie se numara in fiecare cuvant numarul de biti 1 si se determina daca este par sau impar, stiind in felul acesta daca pe calea transmisiei , informatia a fost eronata.
1.4 Coduri alfanumerice
Codurile alfanumerice sunt utilizate pentru introducerea si memorarea unor mesaje, comenzi, texte si elemente cu caracter grafic. In mod uzual se codifica 52 de simboluri pentru literele alfabetului (mari si mici), 10 simboluri pentru cifrele zecimale si circa 28 simboluri pentru caractere speciale si semne de punctuatie. Cu 8 biti se pot codifica un numar de 255 de caractere si simboluri, alegerea se face pe baza unor considerente ce asigura portabilitatea minima de eroare in prelucrarea si transmiterea datelor codificate. Cel mai raspandit cod alfanumeric este ASCII (American Standard Code for Information Interchange). In tabelul 1.3 se prezinta conversia ASCII pentru caracterele utilizate in Europa (Code table 437), in doua variante: pentru afisaje florescente si pentru afisaje de tip LCD (Liquid Cristal Display). Conversia se face pe baza valorii in hexazecimal a simbolului (valoare stabilite in ordinea coloana, linie). De exemplu caracterul A corespunde la 41 hex. sau 65 zecimal. Caracterele speciale sunt codificate cu valori mai mari de cat 7FH . Caracterele codificate cu valori mai mici de 20H (32 zecimal) nu se afiseaza si sunt in general destinate unor comenzi (LF-sfarsit de linie, CR- linie noua, etc.) [ ]
Tabel 1.3
A |
|||||||||
SP |
P |
p |
C |
E | |||||
A |
Q |
a |
q |
i |
|||||
B |
R |
b |
r | ||||||
C |
S |
c |
s | ||||||
D |
T |
d |
t | ||||||
E |
U |
e |
u | ||||||
& |
F |
V |
f |
v | |||||
G |
W |
g |
w | ||||||
H |
X |
h |
x | ||||||
I |
Y |
i |
y | ||||||
A |
J |
Z |
j |
z | |||||
B |
K |
k | |||||||
C |
< |
L |
l | ||||||
D |
M |
m | |||||||
E |
> |
N |
n | ||||||
F |
O |
o |
Cifrele 0..9 au codurile ASCI corespunzatoare 30H,..39H. Prin urmare, pentru aconverti o cifra ASCI in cod zecimal este necesara mascarea semioctetului superior al codului ASCI. In mod similar, pentru ausura conversia din caractere mici in caractere mari, acestea difera doar prin bitul 5 (vezi exemplul anterior pentru caracterele `a` si `A` adica 61H si 41H).
1.5 Notiuni de aitmetica binara
Dupa cum s-a aratat la codificarea informatiei, microprocesorul sau microcontrolerul opereaza (proceseaza) asupra cuvintelor indiferen de sensul semantic al informatiei ce se atribuie aceluiasi cuvant. Sarcina ca intr-o procesare sa participe cuvantul care contine informatia utila revine programatorului deoarece microcontrolerul sau microprocesorul proceseaza cuvantul, indiferent de semantica lui.
a) ADUNAREA numerelor binare intregi fara semn.
Se considera doua numere fara semn A si B reprezentate pe 8 biti, deci in zecimal 0 ≤ A ≤255 si 0 ≤ B ≤255. Prin insumarea acestor numere se poate depasi capacitatea de 8 biti. In aceasta situatie bitul de transfer de la b7 la b8 (pentru care nu exista loc in acumulator sau in registrul de lucru al UAL ) se inscrie intr-un bistabil exterior ( care ar putea fi considerat bitul al 9-lea al cuvantului) denumit bit de transport, fanion de transport, simbolizat prin abreviatia CY (CARRY).
Exemplul 1.15: sa se adune numerele A= 45D si B = 57D
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 |
zecimal |
|||
operand A | ||||||||||||
operand B | ||||||||||||
E |
transport | |||||||||||
rezultat A+B |
Exemplul 1.16: sa se adune numerele A= 173D si B = 185D
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 |
zecimal |
|||
operand A | ||||||||||||
operand B | ||||||||||||
E |
transport | |||||||||||
rezultat A+B |
Cand se aduna doua numere binare de 8 biti si rezulta bitul de transport CY=1 acesta indica faptul ca rezultatul depaseste capacitatea modulo 256=28 (ex. 358=256 +102). Deci depasirea capacitatii de adunare a numerelor fara semn poate fi determinata prin testarea bitului CY. Evident ca bitul de transport poate fi adunat la urmatorul octet al numarului ce trebuie insumat daca numarul ce trebuie insumat are mai mult de un octet.
b) ADUNAREA numerelor binare intregi cu semn.
Pentru numerele cu semn testarea fanionului de transport CY nu mai da o indicatie asupra depasirii capacitatii. Depasirea capacitatii adica transfer la bitul b7 (de semn) se face prin testarea bitului de semn si nu CY. Totusi si la aceste numere cu semn sesizarea depasirii se face prin testarea bitului CY, doar pentru octetii mai piutin semnificativi ai sumei in cazul cand cele doua cuvinte care se aduna reprezinta numere mai lungi de un octet, iar corectitudinea adunarii se face prin testarea bitului de semn.
Pentru adunarea a doua numere codificate in complement fata de doi care pot exista in intervalul -128 (cel mai mic numar negativ) si +127 (cel mai mare numar pozitiv) exista urmatorii algoritmi pentru verificarea corectitudinii operatiei de adunare:
b1) Adunarea a doua numere de semne opuse nu va genera niciodata depasirea capacitatii de reprezentare a numerelor in complement fata de doi pe un cuvant de 8 biti.
Exemplul 1.17 : Sa se adune cel mai mare numar pozitiv cu cel mai mare numar negativ (reprezentate in cod complement fata de doi) !
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 | |||
A= 127, cel mai mare nr. poz. |
|||||||||||
B= -1, cel mai mare nr. neg |
|||||||||||
E |
transfer (transport) |
||||||||||
A+B =+126, rezultat corect |
Exemplul 1.18: Sa se adune cel mai mic numar negativ cu cel mai mic numar pozitiv (reprezentate in cod complement fata de doi) !
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 | |||
A= -128, cel mai mic nr. neg. |
|||||||||||
B= 0, cel mai mic nr. poz. |
|||||||||||
E |
transfer (transport) |
||||||||||
A+B =-128, rezultat corect |
b2) Adunarea numerelor de acelasi semn poate genera o depasire a capacitatii [-128, +127]. Depasirea capacitatii va duce implicit la schimbarea bitului de semn (b7).
Deoarece adunarea a doua numere de acelasi semn trebuie sa genereze o suma cu acelasi semn, un test asupra bitului b7 va indica un rezultat gresit (depasire) daca acest bit este diferit fata de bitii celor doi operanzi.
Exemplul 1.19: Sa se adune cl mai mic numar negativ cu cel mai mare (pe 8biti)
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 | |||
A= -128 |
|||||||||||
B= -1 |
|||||||||||
E |
transfer (transport) |
||||||||||
A+B =+127, rezultat incorect |
Exemplul 1.20: Sa se adune cel mai mare numar pozitiv cu cel mai mic (pe 8 biti)
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 | |||
A= +127 |
|||||||||||
B= +1 |
|||||||||||
E |
transfer (transport) |
||||||||||
A+B =-128, rezultat incorect |
c) ADUNAREA a doua numere in cod 8421 (BCD).
Exemplul 1.21: Fie, de exemplu, adunarea urmatoarelor numere; A= 179D si B= 278D.
Convertim cele doua numere din zecimal in cod BCD , fiecare operand ocupand doi baiti;
A= 0000 0001 0011 1001
B =0000 0010 0111 1000
se incepe adunarea cifrelor mai putin semnificative
----------
1 ← 0001 (rezultat gresit)
AC
Deoarece microcontrolerul aduna in binar, adunarea a doua tetrade implica o capacitate pana la modulo 16=24, rezultatul poate fi gresit pentru ca in codul BCD capacitatea unei tetrade este doar 10 (modulo 10). Deci este necesara o ajustare a rezultatului prin adaugarea unei constante egala cu diferenta dintre cele doua baze (modulo), adica 16-10 = 6 sau 0110, valoare denumita ajustare zecimala.
8 1000
---------- ----------
1← 7 1 ← 0001 +
0110 (ajustare zecimala)
-----------
1 ← 0111 (7)
AC
Ajustarea zecimala 0110 trebuie adaugata numai cand suma celor doua numere depaseste valoarea 9, adica un transfer in baza 10. Pentru o adunare corecta a doi operanzi in BCD, rezulta urmatorul algoritm:
se efectuiaza suma A+B+6 si se testeaza rezultatul;
daca A+B+6 ≤15 sau A+B≤9 se ia ca rezultat corect suma A+B;
daca A+B+6≥15 se ia ca rezultat corect suma A+B+6.
In cadrul microprocesoarelor si microcontrolerelor adunarea a doi operanzi in cod BCD se face, in general, cu o instructiune de adunare obisnuita care trebuie urmata, obligatoriu de o instructiune de ajustare zecimala a acumulatorului DAA (Decimal Adjust Accumulator). Daca aceasta nu exista in setul de instructiuni al unui microcontroler, spre exemplu, ea poate fi implementata, insa, prin soft.
SCADEREA cuvintelor binare
Operatia de scadere a doi biti se face in felul urmator: cand se scade 1 din 0 se face un imprumut la bitul de rang superior; cand se scad doua numere cu lungimea de un bait se considera, la fel ca si la adunare, ca exista al 9-lea bit, bitul de transport CY.
Imprumut |
||||
Descazut |
||||
Scazator |
||||
----------- | ||||
Diferenta |
a) scaderea numerelor fara semn:
Exemplul 1.22
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 | |||
descazut A= |
|||||||||||
scazator B= |
|||||||||||
F |
transfer (imprumut) |
||||||||||
diferenta A-B = |
Exemplul 1.23
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 | |||
descazut A= |
|||||||||||
scazator B= |
|||||||||||
F |
transfer (imprumut) |
||||||||||
diferenta A-B= bitul b6 la bitul b7 |
In prima scadere scazatorul este mai mic decat descazutul, deci nu avem imprumut citre bitul b7 (MSB) de la CY, deci bitul de transport este pus pe 0, iar daca descazutul este mai mic decat scazatorul exista imprumut catre bitul b7 de la CY, deci bitul de transport este pus pe 1.Cand CY=1 diferenta rezulta negativa, dar care nu poate fi reprezentata ca un numar negativ. Deci CY =1 indica o depasire a capacitatii pentru scaderea numerelor fara semn. Desi CY=1 atat la transport (adunare)cat si la imprumut (scadere) aceasta nu inseamna ca imprumutul este identic cu transportul ci dimpotriva ele au semnificatii contrare. Aceasta se poate observa daca se inlocueste scaderea prin adunarea complementului, adica:
A-B = A+ (-B) ; (2.13)
In care (-B) este complementul fata de 2. Operatia de scadere din exemplul 1.22 va fi:
0 1 1 0 1 0 1 0 Scazator
----- ----- ----------
1 0 0 1 0 1 0 1 Complement fata de 1
----- ----- -----------
1 0 0 1 0 1 1 0 + Complement fata de 2
1 1 0 1 0 1 1 0 Descazut
----- ----- ------------
CY 0 1 1 0 1 1 0 0 Diferenta
1 ← 0 0 1 0 1 1 0 Transport
Aici, spre deosebire de scadere (1) in care CY=0, apare un transport CY=1, dar scaderea a fost inlocuita prin adunarea complementului fata de doi.
In cazul scaderii numerelor cu semn reprezentate in complement fata de doi depasirea capacitatii -128, +127 se face prin testarea bitului de semn b7.
b) Scaderea numerelor cu acelasi semn: Nu va genera niciodata depasire de capacitate, deci rezultatul va fi permanent corect ( bitul de semn al diferentei va fi identic cu bitii de semn ai celor doi operanzi).
Exemplul 1.24:
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 | |||
A= 127, cel mai mare nr. poz. |
|||||||||||
B= 0, cel mai mic nr. poz. |
|||||||||||
F |
transfer (imprumut) |
||||||||||
A-B =+127, rezultat corect |
Exemplul 1.25
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 | |||
A= -128, cel mai mic nr. neg. |
|||||||||||
B= - 1, cel mai mare nr. neg. |
|||||||||||
F |
transfer (imprumut) |
||||||||||
A-B =-127, rezultat corect |
c) Scaderea numerelor de semne diferit: Poate genera depasirea capacitatii -128, +127. Se poate determina corectitudinea rezultatului prin testarea bitului de semn rezultat, care trebuie sa fie identic cu al descazutului.
Exemplul 1.2.6
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 | |||
A= 127, cel mai mare nr. poz. |
|||||||||||
B= - 1, cel mai mare nr. neg. |
|||||||||||
F |
transfer (imprumut) |
||||||||||
A-B =-128, rezultat incorect |
Rezultatul corect este +128 dar apare negativ pentru ca nu poate fi reprezentat pe 8 biti.
Exemplul 1.27
CY |
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 | |||
A= -128, cel mai mic nr. neg. |
|||||||||||
B= +1, |
|||||||||||
F |
transfer (imprumut) |
||||||||||
A-B =-127, rezultat incorect |
Rezultatul corect este -129, dar apare pozitiv deoarece -129 nu poate fi reprezentat pe 8 biti, deci s-a generat o depasire de capacitate.
In ultimele doua exemple bitul b7 al diferentei este diferit de bitul b7 al descazutului ceea ce indica rezultatul incorect.
OBS: Situatia de "depasire" apare atunci cand rezultatul operatiei cu numere cu semn nu poate fi reprezentat pe 8 biti. Aceasta situatie este semnalizata de bitul OV (overflow) care este setat in urmatoarele situatii:
este un transfer de la bitul b6 la bitul b7 dar nu este transfer de la bitul b7 la CY;
este un transfer de la bitul b7 la CY dar nu este transport de la bitul b6 la bitul b7.
Notiuni de logica binara si circuite logice
Toate formele de existenta ale materiei sunt, intrisec, si un suport de reflectare a informatiei. Semnalul electric (tensiune, curent sarcina), optic sau magnetic sunt suporturile cele mai potrivite pentru reprezentarea si procesarea informatiei in cadrul sistemelor tehnice in general si in cazul sistemelor mecatronice in particular. La aceste semnale parametrii amplitudine, faza, frecventa sunt cei care pot aproxima cantitativ informatia. Domeniul de definitie al acestor parametrii, in electronica analogica, este (cel putin teoretic) continuul aritmetic. In electronica digitala (digit - cifra in engleza), acesti parametrii au o determinare aritmomorfica, adica pot lua numai valori discrete. Aceste valori discrete se reduc, pentru majoritatea circuitelor uzuale, la doua nivele considerate prin conventie "1" (unu logic) si "0" (zero logic). In exprimarea curenta referirea la unu logic sau zero logic se face prin cuvantul bit, abreviatie din limba engleza BInary digiT (= cifra binara).
In practica electronica, dintre toate posibilitatile de reprezentare a cifrelor binare cea mai uzuala este prin doua niveluri distincte ale tensiunii, aceasta fiind o consecinta a faptului ca circuitele electronice care au in structura elemente ce prezinta doua stari ( tranzistoare unipolare sau biplare in regim de comutatie) sunt cele mai folosite. Deci, in astfel de circuite, diferentei de potential (fata de masa) intr-un anumit punct S, intr-un anumit moment de timp t, i se poate fixa, prin conventie valoarea binara "0" logic sau "1" logic.
In figura 1.1 se prezinta un montaj cu un trazistor
bipolar , cu emitorul la masa. Daca intreupatorul K este deschis
tensiunea UBE este nula iar tranzistorul este blocat. Tensiunea
in colectorul tranzistorului VS este egala cu tensiunea de
alimentare E. Nivelul logic in punctul S este 1-logic. Daca se
inchide intrerupatorul K, tensiunea UBE nu mai este nula. Ea
depaseste valoarea UBE0, iar tranzistorul intra
in conductia maxima , adica saturatie. Tensiunea VS
este egala cu tensiunea de saturatie, care este foarte mica
(poate fi considerata aproximativ egala cu zero ). Nivelul logic in
punctul S este 0-logic.
b) a)
Observatie: De fapt, pentru cele doua niveluri discrete de tensiune (nivel ridicat VH si nivel coborat VL ) in practica sunt considerate doua intervale ∆ VH si ∆ VL separate printr-o zona de incertitudine sau nedeterminare unde nu se stie daca este 0 sau 1.
Exemplul 1: Pentru familia de circuite integrate TTL (Tranzistor Tranzistor-Logic ) exista urmatoarele valori. Vcc = +5V, ∆ VH =5V - 2,4V = 2,6V ; ∆ VL = 0,4V - 0,0V
= 0,4V. Se spune ca semnalele de tensiune sunt valide (date valide) cand au valori situate in intervalele permise ∆ VH , ∆ VL .
Exemplul 2: Pentru familia de circuite integrate CMOS (Tranzistor Tranzistor-Logic ) exista urmatoarele valori. Vcc = +5V, ∆ VH =5V - 2,4V = 2,6V ; ∆ VL = 0,4V - 0,0V
= 0,4V. Se spune ca semnalele de tensiune sunt valide (date valide) cand au valori situate in intervalele permise ∆ VH , ∆ VL .
Algebra booleeana
Vine de la numele matematecianului englez George Boole . Ea este denumita si logica binara pentru ca opereaza pe o multime binara B al carei element generic poate lua doar doua valori (1 si 0):
B =
0 = element nul
1 = element unitate (universal )
pe aceasta multime binara B se definesc trei legi de compozitie (operatori) de baza:
1. complementare logica sau negatia ( se citeste non A, sau A negat );
2. disjunctia logica (suma logica, SAU, OR)
conjunctia logica (produs logic, SI, AND ).
Pe baza logicii binare s-au creat circuitele logice realizate, la inceput, pe cale electrica (prin combinatii de comutatoare cu doua starin inchis sau deshis), pe cale electronica Complementarea logica sau negatia este definita de tabelul de adevar din figura 1.3a (cu simbolul grafic corespunzator), adica marimea de iesire este totdeauna valoarea negata a marimii de intrare. Fizic, acest operator de negatie poate fi realizat de catre un releu, cu contact normal inchis (se reprezinta simbolic doar contactul normal inchis), sau de catre un tranzistor in regim de comutatie (intr-un montaj de amplificator cu saturatie in conexiunea emitor comun, ca in figura 1.1
Tabelele de adevar , simbolurile grafice, cat si implementarea prin contacte pentru disjunctia logica (suma logica, SAU, OR) si conjunctia logica (produs logic, SI, AND) sunt reprezentate in figurile 1.3b si respectiv 1.3c. In figura 1.3d este prezentat simbolul si tabelul de adevar ale functiei SAU-EXCLUSIV, XOR.
a
Y b) A B
A Y c) B
Y d) A B
Functii logice: a) NU (NOT)- negatie, b) SI (AND) -produs , c) SAU(OR) inclusiv-suma, d) SAU (XOR) exclusiv - coincidenta
Portile logice SI-NU (NAND) si
SAU-NU (NOR)
Aceste porti logice functioneaza ca si portile SI, SAU dar au un inversor la iesire. Functia lor la iesire se poate obtine simplu prin inversarea nivelului logic de iesire in tabele din figurile 1.x c respectiv 1x d. Orice circuit logic ce este implementat cu porti SI, SAU, SAU exclusiv poate fi implementat utilizand doar portile logice NAND si NOR. Din acest motiv aceste porti sunt mult utilizate in proiectarea circuitelor logice.
1.2.2 Notiuni de logica cablata si logica programata
Sumator
decodificator
Bistabile
Numiratoare
electronica programata
Prin notiunea de cuvant se intelege o succesiune de biti, de exemplu bn-1 bn-2. bi ..b1b0 , ; lungimea cuvantului fiind de n biti. Pentru cuvintele cu lungimea de 4 biti ( de exemplu: 1001,1010 ) exista de tetrada sau nibble, iar pentru cuvinte de opt biti (de exemplu: 10010001, 01000110 ) exista denumirea consacrata de byte (se citeste bait) sau octet. Bitul bn-1, cel mai semnificativ, al cuvantului se exprima uzual abreviat prin MSB (Most Significant Bit), iar bitul b0 , cel mai putin semnificativ, se exprima abreviat prin LSB (Last Significant Bit), asa cum se observa in figura 1.4.
Cuvant pe 8 biti (byte)
un cuvant (word) este format din doi octeti (16 biti);
un kilobyte este format din 210 octeti adica 1024 bytes ;
un megabyte este format din 220 octeti adica1048576 bytes ;
un gigabyte este format din 230 octeti ;
un terabyte este format din 240 octeti;
OBS: In cadrul circuitelor electronice analogice informatia este reprezentata la nivel de semnal electric. Pentru circuitele implementate cu porti logice (electronica cablata) informatia este reprezentata si procesata la nivel de bit. Saltul calitativ este realizat cand electronica cablata se inlocueste cu electronica programata (denumita si electronica functionala, [ ] ), adica prin structuri formate dintr-un microprocesor sau microcontroler si o memorie de programe cand procesarea si reprezentarea informatiei se face la nivel de cuvant. In electronica programata cuvantul este necesar sa fie si transmis intre circuitele de procesare sau intre sisteme, ceea ce se poate realiza sub forma paralela sau serie
Microcalculatorul si organizarea sa interna
In figura 1.10 se prezinta shema structurala a unui microcalculator. In acesta schema sunt prezente mai multe blocuri care din punct de vedere functional pot fi grupate in patru zone:
Structura unui microcalculator
Zona de memorie, care este formata din memoria de program si de date.
Zona de procesare, care este compusa din:
- Unitatea de procesare centrala (CPU- Central Processing Unit ),
Unitatea aritmetica si logica (ALU- Aritmetic Logic Unit ),
Generatorul de tact (clock-ul) intern sau extern,
Controlerul de intreruperi,
Unitatea de numaratoare/temporizatoare (timer),
Zona de comunicatie interna, care se copune din:
Magistrala de adrese
Magistrala de date
Magistrala de control
Zona de comunicatie cu exteriorul, care poate sa fie compusa din:
Porturi paralele de intrare/iesire,
Porturile seriale de intrare/iesire,
Porturi de intrare analogice, etc.
Principalele functii indeplinite de modulele unui microcalculator sunt:
. Extragerea codului instructiunilor si a datelor din memoria program si respectiv meoria de date.
In aceasta functie este implicata unitatea de procesare centrala (CPU) prin doi registrii :
Registru numarator de program (PC - Program Counter) are rolul de a indica adresa de la care urmeaza a se citi urmatoarea instructiune . Acest registru functioneaza , de regula , in regim de numarare ( incrementare ) si doar in cazul instructiilor de salt , apel de subrutina si revenire din subrutina in regim de incarcare paralela.
Registrul de instructiuni ( IR - Instruction Register ) pastreaza codul operatiei care face obiectul instructiunii . Are extensii in care se pastreaza informatii conexe codului operatiei cum ar fi informatiile privind locul in care se afla operanzii sau unde trebuie depus rezultatul.
Decodificarea codului instructiunilor si sincronizarea.
In cadrul CPU exista circuite combinationale care realizeaza decoificarea codului operatiei memorate in IR .
Unitatea de control si sincronizare din CPU are rolul de a genera ansamblul semnalelor necesar pentru executia completa a instructiunii decodificate.
Generatorul de tact are rolul de a furniza un semnal de pilotare temporala cu care se sincronizeaza intreaga activitate a unitatii de control si in consecinta a intregului sistem de prelucrare numerica .
3. Functia de prelucrare numerica
Este realizata, de catre sistem, prin executia secventiala a unor instructiuni care implementeaza operatii aritmetice , logice si de transfer . O instructiune este definita prin 14 cuvinte de 8 pana la 16 biti care contin codul operatiei de executat , operanzii sau adresele operanzilor si adresa destinatiei .
Rularea unei instructii are 2 etape :
I. Extragerea sau aducerea ( fetch ) codului operatiei si informatiilor privind locul operanzilor si / sau rezultatului;
II. Executia propriuzisa a instructiunii .
Unitatea aritmetica si logica (ALU) este un ansamblu de circuite logice combinationale, care au rolul efectuarii operatiilor aritmetice (adunare, scadere, inmultire, impartire, incrementare, decrementare) si logice (SI, SAU, SAU-exclusiv etc.). ALU fiind un circuit combinational, rezulta necesitatea unui registru special pentru memorare temporara a operanzilor si a rezultatului unei operatii. Acesta se numeste "registru de lucru" sau "acumulator". UAL afecteaza un alt registru denumit: "flag register" sau registrul indicatorilor de conditie.
OBS: Prin registru se intelege un dispozitiv capabil sa memoreze o informatie, de obicei de 8 sau 16 biti. Registrul este elementul de baza al unui microcalculator.
4. Capabilitatea de intreruperi
Conlucrarea dintre microcalculator si echipamentele periferice ar fi mai eficienta daca acesta ar avea capabilitatea de a executa , in momente de timp necunoscute aprioric , cand anumite evenimente exterioare o cer , secvente de instructii adecvate acestora , neincluse in programul in rulare ci stocate in zone de memorie prestabilite . Din punct de vedere logic aceste secvente de instructii apar ca si cum ar fi inserate in programul in rulare .
Aceasta capabilitate a fost denumita conceptual intrerupere, bazat pe faptul ca ea conduce la intreruperea temporara a rularii programului care detine controlul asupra microcalculatorului . Astfel , executia programului de baza , numit program principal poate fi intrerupta de o cerere de intrerupere efectuata de un port asociat unui echipament periferic de I/E. Acceptarea cererii , determina, dupa terminarea instructiunii in curs de executie, apelul unei subrutine de tratare a intreruperii specifica sursei a carei cerere de intrerupere a fost acceptata . Dupa executia acesteia, microcalculatorul revine la executia programului principal incepind cu instructiunea urmatoare celei dupa care s-a acceptat intreruperea . Pentru executia corecta a programului principal, se impune ca la inceputul si la sfirsitul subrutinei de intrerupere sa se salveze, respectiv sa se restabileasca starea programului intrerupt. De exemplu, operatiile de salvare si restaurare vizeaza continuturile registrelor interne cu care opereaza si programul principal si subrutina de intrerupere. Salvarea se poate face, de exemplu, in memoria stiva cu instructiunea PUSH, iar restaurarea din stiva cu instructiunea POP.
Functia de comunicatie interna
Magistrale ...
Functia de comunicatie cu exteriorul
Legatura dintre microcalculator si exterior se realizeaza prin porturile de intrare-iesire ( In / Out) numerice sau analogice. I/O numerice pot fi porturi paralele si porturi seriale.
1.3.1 Microprocesoare si microcontrolere
Microprocesoarele si microcontrolerele sunt considerate elemente inteligente si sunt module de baza in structura unui sistem de prelucrare numerica. In cazul acestor sisteme elementele mentionate fac parte din sistemele de comanda dedicate, adica sunt incluse (embedded) ca parti componente ale echipamentului. Sistemele de comanda dedicate reprezinta cel mai larg sector de aplicatii al microprocesoarelor si microcontrolerelor, in general cuprinzand domenii foarte diferite cum sunt autovehiculele, bunurile electrocasnice, telecomunicatii, actionari electrice specializate si servosisteme, convertoare statice, tehnica medicala etc.
In general, in conceptia unui produs ce include un sistem de comanda dedicat se urmaresc trei aspecte : functional (mecanic), - electronic (hard), - inteligent (soft) , cu mentiunea ca ponderea primelor doua aspecte devine mai redusa pe baza sporului adus de partea de soft ce inglobeaza inteligenta.
Microcontrolerul difera de un microprocesor in multe feluri. In primul rand si cel mai important este functionalitatea, care este ilustrata chiar de acronimele desemnate acestora.
Un microprocesor este desemnat prin MPU (Micro Processor Unit) si este in esenta o unitate centrala pe un singur chip. Memoria si sistemul de intrare-iesire sunt, in cea mai mare parte, externe microprocesorului. Impreuna formeaza un microcalculator acarui structura a fost reprezentata in figura 1.10. Dintre modulele unui microcalculator reprezentat in figura, doar unuitatea centrala (CPU) impreuna cu o parte a sistemului de intreruperi si asistemului de timere se regasesc in arhitectura unui microprocesor (blocurile marcate in figura 1.10).
Microprocesoarele sunt folosite in special in aplicatii de procesare de date ce necesita o mare putere de calcul; PC-uri, statii grafice, etc. In aceste aplicatii, de procesare a datelor, microprocesorul este capabil sa incarce in memorie o varietate de programe stocate pe hard disc, floppy disck, compact disc, etc.
Datorita faptului ca, in buna masura sistemul de intrare-iesire trebuie implementat extern numarul de componente creste. Acest lucru nu convine in aplicatii ce trebuie sa fie de un volum redus, compacte si cu un consum redus de energie. Ca urmare s-au dezvoltat familii de microcontrolere ce contin module de intrare - iesire specifice aplicatiilor in timp real.
Un microcontroler este, de regula, desemnat ca MCU, acronim care are semnificatia de Micro Computer Unit, care poate fi interpretata prin 'calculator pe un chip'. Cuvantul 'micro' sugereaza marimea redusa a dispozitivului iar 'controler' ne spune ca dispozitivul poate fi folosit pentru a controla obicte, procese sau evenimente.
La modul general un controler ('controller' - un termen de origine anglo-saxona, cu un domeniu de cuprindere foarte larga) este, actualmente, o structura electronica destinata controlului (destul de evident!) unui proces sau, mai general, unei interactiuni caracteristice cu mediul exterior, fara sa fie necesara interventia operatorului uman. Primele controlere au fost realizate in tehnologii pur analogice, folosind componente electronice discrete si/sau componente electromecanice (relee). Cele care fac apel la tehnica numerica moderna au fost realizate initial pe baza logicii cablate (cu circuite integrate numerice standard SSI si MSI ) si a unei electronici analogice uneori complexe, si 'straluceau' prin dimensiuni mari, consum energetic pe masura si, nu de putine ori, o fiabilitate care lasa de dorit.
Utilizarea microprocesoarelor de uz general a dus la o reducere consistenta a costurilor, dimensiunilor, consumului si o imbunatatire a fiabilitatii. Exista si la ora actuala o serie de astfel de controlere de calitate, realizate in jurul unormicroprocesoare de uz general cum ar fi Z80 (Zilog), 8086/8088 (Intel), 6809 (Motorola), etc.
Pe masura ce procesul de miniaturizare a continuat a fost posibil ca majoritatea componentelor necesare realizarii unei astfel de structuri sa fie incorporate (integrate) la nivelul unui singur microcircuit (cip). Astfel ca un microcontroler ar putea fi descris ca fiind o solutie (nu in sens exhaustiv !) a problemei controlului cu ajutorul a (aproape) unui singur circuit.
Un MCU poate fi definit ca un sistem de calcul complet pe un singur chip. Acesta include o unitate centrala, memorie, oscilator pentru tact si dispozitive I/O. Un MCU poate fi privit ca un MPU care pe acelasi chip mai contine memorie si o serie de interfete.
Memoria de program si de date la un microcontroler de uz general este relativ mica (exemplu: 2 Kilobytes pentru comanda unei masini de spalat), insa microcontrolerul este capabil sa execute la o viteza foarte mare instructiunile unui program stocat in memorie; acest program este o secventa logica de operatii ce poate implementa algoritmii necesari pentru controlul proceselor.
Se mai pot puncta urmatoarele avantaje ale microcontroerelor in controlul proceselor:
calcul digital (numeric): informatia este reprezentata binar si deci nu poate fi perturbata de zgomote de natura analogica; in plus se poate folosi o rezolutie variabila in functie de cerintele aplicatiei;
viteza de operare: un microcontroler poate sa execute o multime de sarcini intr-un timp foarte scurt;
flexibilitatea in proiectare : schimband programul memorat se poate obtine noi functiuni utilizand acelasi hardware (sau cu modificari minore); se pot proiecta aparate ce inglobeaza functii multiple; o mare parte din software poate fi utilizat in diverse aplicatii;
comunicatiile: multe controlere pot comunica cu alte sisteme de calcul, aspect important intr-un sistem mecatronic;
consum de energie redus: acest aspect poate fi foarte important in aplicatiile in care se foloseste ca sursa de energie o baterie;
Costul: este in continua scadere datorita integrarii pe scara larga si cresterii exponentiale a numarului de aplicatii.
1.3.2 Unde se utilizeza microcontrolerele
Microcontrolerele pot fi gasite in componenta unei game foarte largi si diversificate de aparate. Orice aparat care masoara, stocheaza, comanda, calculeaza sau afiseaza informatii este o potentiala gazda pentru un microcontroler. Toate aplicatiile in care se utilizeaza microcontrolere fac parte din categoria asa ziselor sisteme incapsulate ("embedded systems"), la care existenta unui sistem de calcul incorporat este (aproape) transparenta pentru utilizator.
In continuare sunt puctate cateva domenii in care utilizarea microcontrolerelor a devenit un standard industrial:
In industria de automobile pentru; controlul aprinderii/motorului, climatizare, diagnoza, sisteme de alarma, etc.
OBS: La nivelul anului 1999, un BMW seria 7 utilizeaza 65 de microcontrolere, iar un Mercedes din clasa S utilizeaza 63.
In asa zisa electronica de consum ; sisteme audio, televizoare, camere video si videocasetofoane, telefonie mobila, GPS, jocuri electronice, sisteme de securitate, jucarii, echipamente pentru exercitii fizice, etc.
La masini si aparate electrocasnice ; masini de spalat, frigidere, cuptoare cu microunde, aspiratoare, etc.
La controlul mediului din: sere, locuinte, hale industriale, etc.;
In industria aeronautica
La realizarea de mijloace moderne de masurare- instrumentatie
senzori si traductoare inteligente, aparate de masura, calculatoare, etc.
Microcontrolerele sunt utilizate masiv in robotica si in general in tot ce inseamna automatizarea procesului de fabricatie (CNC-comenzi numerice, automate programabile, traductoare si senzori, etc.), unde sarcinile specifice pot fi distribuite la un mare numar de microcontrolere integrate intr-un sistem unic.
1.5 Intrebari si probleme
1. Care este semnificatia notiunii de computer
a) calcul cu numere; b) traducere de cuvinte; c) transfer pe bus-uri.
2. Care a fost evenimentul care a marcat preistoria calculatorului ?
a) algebra lui Bula, bazata pe 0 si 1; b) algebra lui Bool; c) logica simbolica a lui Alan Turing din anul 1937
3. Ce este MARK 1 in contextul preistoriei calculatorului ?
a) un calculator cu cateva mii de comutatoare; b) o carte scrisa de Mark Aiken; c) un calculator folosit in scopuri militare
4. Ce este ENIAC ?
a) primul calculator din lume; b) un calculator cu 17 468 tuburi electronice ocupand o suprafata de 450 m c) un calculator mai putin performant decat un calculator de buznuar.
5. Care au fost salturile tehnologice care au marcat evolutia calculatorului ?
a) inventia tranzistorului; b) inventia microprocesorului; c) inventia fototranzistorului .
6. Cand s-a nascut primul microprocesor ?
a) in anul 1968; b) in anul 1971; c) in revolutia din 1989.
7. Cand s-a realizat primul microcontroler si cand a fost utilizat prima oara?
a) 1948 si 1968; b) 1971 si 1981; c) 1981 si 1989.
8. Cum este considerat microcontrolerul Intel 8048 ?
a) bunicul" microcontrolerelor; b) primul microcontroler realizat in lume; c) un microcontroler inventat in 1971 si folosit dupa 10 ani.
9. Care sunt cele mai populare microcontrolere ?
a) Intel 8051; b) Philips 80C555; c) Micro Chip, PIC 16F84.
10. Care a fost sensul evolutiei in domeniul sistemelor inteligente ?
a) microcontrolerul a precedat aparitia microprocesorului; b) microprocesorul a a aparut inalntea microcontrolerului; c) intre cele doua entitati, microcontroler si microprocesor nu exista nici o legatura.
11. Care sunt nivelele de tensiune care creeaza probleme in logica pozitiva si in logica negativa ?
a) 0 - 0,4 V; b) 0,4 -2,4 V; c) 2,4 - 5V .
12. In care circuite electronice se folosesc informatii de tip cuvant ?
a) circuite analogice; b) circuite logice combinationale; c) in circuitele cu logica programata.
13. Sau exclusiv, XOR, realizeaza urmatoarele:
a) 1 XOR 0 = 1;b) 1 XOR 1 = 1; c) 0 XOR 1 = 0.
14. Care este echivalentul zecimal al numarului binar fara semn 11111110 ?
a) 126; b)254; c)258.
15.Care este echivalentul in binar al numarului 254 in baza zece ?
a) 10111110; b) 11111110; c) 01001111.
16. Care este echivalentul in binar al numarului 0,625 in zecimal ?
a) 0. 1010; b) 0.0110; c) 1.0101.
17. Care este echivalentul zecimal al numarului FF in hexazecimal ?
a) 255; b) 256; c) -127.
18. Care este echivalentul in hexazecimal al numarului binar 010110101 ?
a) 5A; b) A5; c) 6B.
Care este echivalentul in complement fata de 2 a numarului -128 in baza zece ?
a) 10000000; 01111111; 11111110.
20. Care este rezultatul pe 8 biti al adunarii numerelor fara semn ACH si B9H ?
a) 66H; b) FAH; c)BAH.
21. Cand poate aparea depasirea capacitatii la adunarea numerelor cu semn (pe 8 biti)?
a) la adunarea numerelor de semne contrare; b) la adunarea numerelor de acelasi semn; c) in nici o situatie.
22. Ce corectie se aplica la adunarea unei tetrade in BCD ?
a) adunarea numarului 610; b) adunarea tetradei 01102; c) nici o corectie.
23. Cand poate sa apara o depasire a capacitatii la scaderea numerelor cu semn (pe 8 biti) ?
a) la scaderea nr. de acelasi semn; b) la scaderea nr. de semne contrare; c) in ambele situatii.
24. Cand este incorecta diferenta dintre doua numere cu semn (pe 8 biti) ?
a) cand semnul diferentei difera de semnul descazutului; b) cand descazutul si scazatorul au acelasi semn; c) cand diferenta si scazatorul au semne contrare:
25. Descazutul este cel mai mare nr. pozitiv, iar scazatorul este cel mai mare nr. negativ ( pe 8 biti).Care va fi diferenta ?
a) 1000 0002 , incorect; b) -12810 incorect; c) 1111 11112 , corect.
26. Descazutul este cel mai mic nr. negativ, iar scazatorul +110 .Care va fi diferenta ?
a) -12710 , incorect; b) 0111 11112 incorect; c) -12910 , depasire de capacitate.
27. Care sunt codurile ASCI ale sirului 123ABCabc
a) 313233414243616263 ; b) 010203111213212223; c) 123414243616263.
28. Care este semnificatia sirului ASCI: 224D45434154524F4E49434122 ?
a) "ROBOTICA" ; b) "Mecatronica" ; c) "MECATRONICA" .
29. Care dintre zonele functionale nu intra in componenta unui microcalculator ?
a) Zona de memorie, de procesare si de comunicatie prin Internet; b) Zona de memorie, de procesare si de comunicatie cu exteriorul; c) Zona Zoster, de procesare si de comunicatie interna.
30. Ce sens are acronimul CPU ?
a) se refera la unitatea de control a perifericelor; b) se refera la o unitate de procesare centrala; c) se refera la cea mai puternica unitatede masura.
31. Care sunt registrii cu care lucreaza CPU ?
a) registrul de casa si registrul PC; b) numaratorul de program (PC) si registrul de instructiuni (IR); c) registrul de instructie (IR) si registrul de cautare (PC);
32.Care este sensul acronimului ALU ?
a) unitate aritmetica si logica ; b) unitate alipita la CPU; c) unitate de memorie aleatoare.
33. Care sunt magistrale ale unui microcalculator ?
a) magistrala de adrese; b) magistrala de date; c) magistrala I/O.
34. Cate benzi (linii) trebuie sa are magistrala de adrese la un microcalculator care poate accesa 64 kilobytes de memorie ?
a) 2 benzi ; b) 8 linii; c) 16 benzi cu doua sensuri fiecare.
35. Care dintre asocierile de mai jos sunt nepotrivite ?
a) MPU-microprocesor; MCU-controler; CPU-calculator.
36. Care este minimul de memorie de date care incape intr-un microprocesor de ultima generatie ?
a) 220 octeti (un megabyte); b) 230octeti (un gigabyte); 040(un trezobyte).
37. Ce are microcontrolerul si nu are microprocesorul ?
a) memorie; b) porturi I/O; c) CPU si ALU.
38. Unde se utilizeza microprocesorul, iar microcontrolerul nu este binevenit ?
a) in procesarea complexa a datelor; b) la controlul unor procese; c) la calculatoare PC si statii grafice.
39. Care sunt domeniile de aplicatie unde microcontrolerele au patruns masiv ?
a) industria automobilului; b) aparatura elecrocasnica; c) inundatii.
40. De ce microcontrolerele au un pret relativ scazut ?
a) pentru ca sunt mici; b) pentru ca au performate reduse; c) pentru ca se cumpara masiv.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2850
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved